:root{
  --paper:#faf9f7;
  --white:#ffffff;
  --ink:#111111;
  --muted:#6f6d69;
  --line:#ddd8d1;
  --accent:#af967c;
  --accent-dark:#987f66;
  --dark:#17191a;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 120px));margin-inline:auto}
.eyebrow{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.19em;color:#77736e;font-weight:500}
.display{margin:20px 0 16px;font-size:clamp(46px,4.5vw,68px);line-height:.98;letter-spacing:-.052em;font-weight:400}
.section-title{margin:13px 0 16px;font-size:clamp(34px,3vw,50px);line-height:1.02;letter-spacing:-.042em;font-weight:400}
.lead{font-size:clamp(17px,1.45vw,21px);line-height:1.42;color:var(--muted)}
.small{font-size:15px;line-height:1.55;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 25px;border:1px solid var(--ink);font-size:13px;font-weight:500;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.accent:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.text-link{display:inline-flex;align-items:center;gap:7px;padding-bottom:4px;border-bottom:1px solid #8f8172;font-size:13px;font-weight:500}

.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,247,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.045)}
.nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;flex-direction:column;line-height:1;min-width:max-content}
.brand strong{font-size:22px;letter-spacing:.15em;font-weight:650}
.brand span{font-size:7px;letter-spacing:.25em;color:#77736e;margin-top:6px}
.nav-links{display:flex;align-items:center;gap:30px;font-size:12px}
.nav-links>a:not(.btn){padding:9px 0}
.nav-links>a:not(.btn):hover{opacity:.62}
.menu-btn{display:none;border:0;background:none;font-size:24px;padding:8px;cursor:pointer}

/* HOME */
.hero{position:relative;min-height:390px;overflow:hidden;background:var(--paper)}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,247,1) 0%,rgba(250,249,247,.99) 32%,rgba(250,249,247,.91) 47%,rgba(250,249,247,.28) 70%,rgba(250,249,247,.02) 84%)}
.hero-inner{position:relative;z-index:2;min-height:390px;display:flex;align-items:center}
.hero-copy{width:660px;max-width:57%;padding:50px 0 52px}
.hero-copy .lead{max-width:565px;margin:0}
.hero-actions{display:flex;align-items:center;gap:34px;margin-top:30px;flex-wrap:wrap}

.home-expertise{background:var(--white);padding:32px 0 28px;border-top:1px solid rgba(0,0,0,.035)}
.expertise-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:end;margin-bottom:26px}
.expertise-intro .section-title{max-width:650px;margin-bottom:0}
.expertise-copy{padding-left:48px;border-left:1px solid var(--line);max-width:540px}
.expertise-copy p{margin:0 0 13px}
.expertise-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.expertise-card{position:relative;min-height:126px;padding:2px 24px 0 0;border-right:1px solid var(--line)}
.expertise-card:not(:first-child){padding-left:24px}
.expertise-card:last-child{border-right:0;padding-right:0}
.expertise-icon{width:34px;height:34px;margin-bottom:12px;color:var(--accent)}
.expertise-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.45}
.expertise-card h3{margin:0 0 10px;font-size:16px;line-height:1.16;font-weight:400;letter-spacing:-.018em}
.expertise-card .arrow{font-size:21px;font-weight:300}

.approach{display:grid;grid-template-columns:46.7% 53.3%;background:var(--paper)}
.approach-media{height:310px;overflow:hidden;background:#e9e6e1}
.approach-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.approach-copy{display:flex;flex-direction:column;justify-content:center;padding:42px max(60px,calc((100vw - var(--max))/2)) 42px 56px}
.approach-copy .section-title{margin-bottom:14px}
.approach-copy .lead{font-size:16px;max-width:630px;margin:0 0 18px}

.case-discover{position:relative;overflow:hidden;background:linear-gradient(105deg,#17191a 0%,#1b1d1e 62%,#101213 100%);color:#fff;padding:39px 0 38px}
.case-discover:after{content:"";position:absolute;right:-2%;top:0;width:34%;height:100%;background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.025) 8px 9px);opacity:.55;transform:skewX(-12deg)}
.case-inner{position:relative;z-index:1;display:grid;grid-template-columns:.98fr 1.02fr;gap:60px;align-items:center}
.case-left{max-width:510px}
.case-left .section-title{font-size:42px;margin-top:12px}
.case-left p{color:#d2d0cc;font-size:14px;line-height:1.5;max-width:465px;margin:0 0 16px}
.case-categories{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.22)}
.case-category{min-height:114px;padding:12px 28px;border-right:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;justify-content:center}
.case-category:last-child{border-right:0}
.case-icon{width:34px;height:34px;margin-bottom:12px;color:var(--accent)}
.case-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}
.case-category h3{margin:0 0 6px;font-size:16px;font-weight:400}
.case-category span{font-size:21px;font-weight:300}

.home-cta{background:var(--white);padding:30px 0}
.cta-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center}
.cta-left{padding-right:20px}
.cta-left .section-title{font-size:39px;margin-bottom:0}
.cta-right{padding-left:48px;border-left:1px solid var(--line)}
.cta-right p{margin:0;max-width:640px;color:var(--muted);font-size:14px;line-height:1.5}
.cta-actions{display:flex;align-items:center;gap:28px;margin-top:15px;flex-wrap:wrap}
.cta-actions>a:not(.btn){font-size:13px}

.footer{background:var(--paper);border-top:1px solid var(--line);padding:16px 0 14px}
.footer-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.footer-links{display:flex;gap:25px;font-size:11px}
.footer-email{justify-self:end;font-size:11px;color:#6f6b66}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:13px;padding-top:11px;border-top:1px solid rgba(0,0,0,.04);font-size:10px;color:#85817b}

/* INNER PAGES */
.page-hero{padding:76px 0 58px;background:var(--white);border-bottom:1px solid var(--line)}
.page-hero .display{max-width:900px;font-size:clamp(44px,4.8vw,68px)}
.page-hero .lead{max-width:740px}
.section{padding:64px 0;background:var(--white)}
.page-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:78px;align-items:start}
.sidebar{position:sticky;top:96px}
.sidebar .eyebrow{margin-bottom:10px}
.sidebar a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;color:#4d4b48}
.content{max-width:860px}
.content h2{margin:0 0 18px;font-size:38px;line-height:1.06;letter-spacing:-.035em;font-weight:400}
.content h3{margin:31px 0 10px;font-size:22px;font-weight:500}
.content p,.content li{color:#66625d;font-size:15px;line-height:1.65}
.content ul{padding-left:20px}
.content li{margin:5px 0}
.service-list,.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:10px}
.service-tile,.case-tile{background:var(--paper);border:1px solid var(--line);padding:27px;min-height:205px;transition:.18s ease}
.service-tile:hover,.case-tile:hover{transform:translateY(-2px);border-color:#bdaa96}
.service-tile h3,.case-tile h3{margin:16px 0 10px;font-size:22px;line-height:1.16;font-weight:400;letter-spacing:-.02em}
.service-tile p,.case-tile p{font-size:13px;color:#6b6762;line-height:1.55}
.tag{display:inline-block;padding:5px 8px;margin:0 5px 5px 0;border:1px solid var(--line);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#706b65}
.case-meta{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 19px}
.callout{margin:32px 0;padding:25px 27px;background:var(--paper);border-left:3px solid var(--accent)}
.contact-card{max-width:720px;background:var(--paper);border:1px solid var(--line);padding:32px}
.contact-card a.mail{font-size:clamp(25px,3vw,42px);letter-spacing:-.035em}
.legal-note{font-size:12px;color:#8b867f;margin-top:16px}

/* Content is always visible. */
.reveal{opacity:1;transform:none}

@media(max-width:1050px){
  .container{width:calc(100% - 72px)}
  .nav-links{gap:20px}
  .hero-copy{max-width:62%}
  .expertise-intro{gap:38px}.expertise-copy{padding-left:32px}
  .expertise-card,.expertise-card:not(:first-child){padding-left:18px;padding-right:18px}
  .approach-copy{padding-left:42px;padding-right:36px}
  .case-inner{gap:34px}.case-category{padding:12px 20px}
}

@media(max-width:860px){
  .container{width:calc(100% - 40px)}
  .nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:22px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.06)}.menu-btn{display:block}
  .hero{min-height:520px}.hero-image{object-position:68% center}.hero-overlay{background:linear-gradient(180deg,rgba(250,249,247,.99) 0%,rgba(250,249,247,.94) 48%,rgba(250,249,247,.25) 78%,rgba(250,249,247,.02) 100%)}.hero-inner{min-height:520px;align-items:flex-start}.hero-copy{width:100%;max-width:680px;padding-top:56px}
  .expertise-intro,.case-inner,.cta-grid,.page-grid{grid-template-columns:1fr;gap:28px}.expertise-copy{padding-left:0;border-left:0;max-width:620px}.expertise-grid{grid-template-columns:repeat(2,1fr)}.expertise-card{border-bottom:1px solid var(--line)}.expertise-card:nth-child(even){border-right:0}.expertise-card:last-child{border-bottom:0}
  .approach{grid-template-columns:1fr}.approach-media{height:300px}.approach-copy{padding:40px 20px 46px}
  .case-categories{border-left:0;border-top:1px solid rgba(255,255,255,.22)}.case-category{min-height:105px}.cta-right{padding-left:0;border-left:0}.home-cta{padding:42px 0}
  .footer-top{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-email{justify-self:start}.sidebar{position:static}.service-list,.case-list{grid-template-columns:1fr}
}

@media(max-width:560px){
  .container{width:calc(100% - 30px)}
  .nav{height:64px}.brand strong{font-size:19px}.brand span{font-size:6.5px}
  .hero{min-height:500px}.hero-inner{min-height:500px}.hero-copy{padding-top:44px}.display{font-size:43px}.lead{font-size:16px}.hero-actions{gap:18px}
  .home-expertise{padding:36px 0 24px}.section-title{font-size:35px}.expertise-grid{grid-template-columns:1fr}.expertise-card,.expertise-card:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}.expertise-card:last-child{border-bottom:0}.expertise-icon{width:30px;height:30px;margin-bottom:10px}
  .case-categories{grid-template-columns:1fr}.case-category{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.case-category:last-child{border-bottom:0}.case-left .section-title{font-size:37px}
  .cta-left .section-title{font-size:35px}.footer-links{gap:17px}.footer-bottom{flex-direction:column}.page-hero{padding:58px 0 48px}.section{padding:52px 0}
}
