@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;700;800;900&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap');

:root{
  --bg:#e9e4db;
  --panel:#f8f4ec;
  --ink:#111111;
  --muted:#686158;
  --line:#d2c8ba;
  --accent:#c59a3d;
  --dark:#161616;
  --green:#d8b26a;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Archivo,sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}

.app-shell{display:grid;grid-template-columns:285px 1fr;min-height:100vh}

.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:28px;
  background:#111;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.1);
}

.brand{display:grid;gap:14px}
.brand span{
  width:58px;height:58px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#d8b26a,#9f7630);color:white;
  font-weight:900;
}
.brand strong{font-size:24px;letter-spacing:-1px}

.side-menu{display:grid;gap:6px}
.side-menu a{
  padding:14px 0;
  color:#a7a7a7;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  transition:.25s;
}
.side-menu a:hover{color:white;transform:translateX(8px)}

.sidebar-card{
  background:#1d1d1d;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  padding:22px;
}
.sidebar-card p{color:#c9c9c9;line-height:1.6;font-size:14px;margin-bottom:18px}
.sidebar-card a{
  display:inline-flex;width:100%;justify-content:center;
  background:linear-gradient(135deg,#d8b26a,#9f7630);color:white;
  padding:13px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

main{overflow:hidden}

.hero{
  min-height:100vh;
  padding:46px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  grid-template-rows:1fr auto;
  gap:28px;
  background:var(--bg);
}

.label{
  display:inline-block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:12px;
  font-weight:900;
  margin-bottom:18px;
}

.hero-left{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:36px;
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:end;
}

.hero-left h1,
.value-title h2,
.service-intro h2,
.method-header h2,
.case-copy h2,
.final h2{
  font-family:Fraunces,serif;
  font-weight:700;
  letter-spacing:-2.5px;
  line-height:.98;
}

.hero-left h1{font-size:78px;max-width:900px;margin-bottom:26px}
.hero-left p{font-size:20px;line-height:1.75;color:var(--muted);max-width:700px}

.hero-right{position:relative}
.image-stack{
  position:relative;height:100%;min-height:620px;
  border-radius:36px;overflow:hidden;
  border:1px solid var(--line);
  background:#111;
}
.img-main{height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.05)}

.glass-card{
  position:absolute;
  padding:20px 22px;
  border-radius:22px;
  background:rgba(248,244,236,.82);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.glass-card strong{display:block;font-size:28px;letter-spacing:-1px}
.glass-card span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;margin-top:5px}
.top-card{top:26px;left:26px}
.bottom-card{right:26px;bottom:26px}

.hero-bottom{
  grid-column:1/3;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.hero-bottom article{
  background:white;color:#111;
  border-radius:26px;
  padding:26px;
  min-height:170px;
}
.hero-bottom span{color:#d8b26a;font-weight:900}
.hero-bottom strong{display:block;font-size:24px;margin:22px 0 10px}
.hero-bottom p{color:#bdbdbd;line-height:1.6}

.value-section{
  padding:100px 46px;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:60px;
  border-top:1px solid var(--line);
}
.value-title h2{font-size:58px}
.value-content p{font-size:25px;line-height:1.55;color:#39342e;margin-bottom:38px}
.value-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.value-numbers div{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:24px;
  padding:24px;
}
.value-numbers strong{display:block;font-size:36px}
.value-numbers span{text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:1px}

.services{padding:100px 46px;background:#111;color:white}
.service-intro{max-width:820px;margin-bottom:44px}
.service-intro h2{font-size:58px}

.service-board{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  grid-auto-rows:280px;
  gap:18px;
}

.service-board article{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:30px;
  border:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.25s;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}

.service-board article::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.18) 0%,
    rgba(0,0,0,.45) 45%,
    rgba(0,0,0,.88) 100%
  );
  z-index:-1;
}

.service-board article::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right,rgba(216,178,106,.35),transparent 38%);
  opacity:.75;
  z-index:-1;
  transition:.25s;
}

.service-board article:hover{
  transform:translateY(-8px);
  border-color:rgba(216,178,106,.7);
}

.service-board article:hover::after{
  opacity:1;
}

.service-board .wide{
  grid-row:span 2;
  color:white;
  background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?q=80&w=1200&auto=format&fit=crop');
}

.service-board article:nth-child(2){
  background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?q=80&w=1200&auto=format&fit=crop');
}

.service-board article:nth-child(3){
  background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?q=80&w=1200&auto=format&fit=crop');
}

.service-board article:nth-child(4){
  background-image:url('https://images.unsplash.com/photo-1600210492493-0946911123ea?q=80&w=1200&auto=format&fit=crop');
}

.service-board .dark{
  color:white;
  background-image:url('https://images.unsplash.com/photo-1600566752355-35792bedcfea?q=80&w=1200&auto=format&fit=crop');
}

.service-board span{
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  opacity:.9;
  color:#d8b26a;
}

.service-board h3{
  font-size:30px;
  letter-spacing:-1px;
  color:white;
}

.service-board p{
  line-height:1.65;
  color:#f0f0f0;
}

.service-board .wide p,
.service-board .dark p{
  color:#f0f0f0;
}

.method{padding:100px 46px}
.method-header{max-width:850px;margin-bottom:42px}
.method-header h2{font-size:58px}
.method-list{display:grid;gap:12px}
.method-list article{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:30px;
  padding:30px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:26px;
}
.method-list b{font-size:38px;color:var(--accent)}
.method-list h3{font-size:28px;margin-bottom:8px}
.method-list p{color:var(--muted);line-height:1.65}

.case-section{
  padding:46px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  background:#111;
  color:white;
}
.case-image{border-radius:34px;overflow:hidden;min-height:620px}
.case-image img{height:100%;object-fit:cover}
.case-copy{
  background:#1b1b1b;
  border:1px solid rgba(255,255,255,.1);
  border-radius:34px;
  padding:44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.case-copy h2{font-size:54px;margin-bottom:24px}
.case-copy p{color:#c9c9c9;font-size:19px;line-height:1.75;margin-bottom:26px}
.case-copy ul{display:grid;gap:14px;list-style:none}
.case-copy li{padding:15px 18px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:800}

.final{
  min-height:70vh;
  padding:100px 46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  background:linear-gradient(135deg,#e4c98d 0%,#c59a3d 50%,#9f7630 100%);
  color:white;
}
.final h2{font-size:72px;max-width:980px;margin-bottom:30px}
.final a{
  display:inline-flex;
  background:#111;color:white;
  padding:17px 26px;
  border-radius:999px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
}

@media(max-width:1100px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:static;height:auto;gap:28px}
  .side-menu{grid-template-columns:repeat(2,1fr)}
  .hero,.value-section,.case-section{grid-template-columns:1fr}
  .hero-bottom{grid-column:auto;grid-template-columns:1fr}
  .service-board{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .hero,.value-section,.services,.method,.case-section,.final{padding:24px}
  .hero-left{padding:28px;border-radius:26px}
  .hero-left h1,.final h2{font-size:42px}
  .value-title h2,.service-intro h2,.method-header h2,.case-copy h2{font-size:36px}
  .image-stack,.case-image{min-height:360px}
  .hero-bottom,.value-numbers,.service-board{grid-template-columns:1fr}
  .service-board .wide{grid-row:auto}
  .method-list article{grid-template-columns:1fr}
  .side-menu{grid-template-columns:1fr}
}
