*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,sans-serif;
  color:#172027;
  background:#f4f1ea;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}

:root{
  --paper:#f4f1ea;
  --paper-2:#ebe8df;
  --white:#fffdf8;
  --ink:#172027;
  --muted:#667174;
  --line:rgba(23,32,39,.14);
  --navy:#111a20;
  --navy-2:#1e2b32;
  --blue:#587681;
  --sage:#727d70;
  --clay:#9e684f;
  --gold:#c0a068;
}

.shell{max-width:1280px;margin:0 auto;padding:0 32px}
.shell-wide{max-width:1500px;margin:0 auto;padding:0 32px}
.eyebrow{display:block;margin-bottom:22px;color:var(--clay);font-size:clamp(16px,1.25vw,21px);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
h1,h2,h3{margin:0;font-family:"Cormorant Garamond",serif;font-weight:400;line-height:1}
h1{font-size:84px}
h2{font-size:58px}
h3{font-size:32px}
p{margin:0;color:var(--muted)}
.on-dark,.on-dark p{color:rgba(255,255,255,.78)}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}
.on-dark .eyebrow{color:#d4b27d}

.nav{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(244,241,234,.9);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.nav.dark{background:rgba(17,26,32,.86);border-bottom-color:rgba(255,255,255,.12);color:#fff}
.nav-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;font-size:14px;font-weight:700;text-transform:uppercase}
.brand img{height:28px;width:auto;max-width:245px}
.brand-icon img{height:38px;max-width:38px;filter:brightness(0)}
.dark .brand img{filter:brightness(0) invert(1)}
.dark .brand-icon img{filter:none}
.nav-links{display:flex;align-items:center;gap:24px;color:var(--muted);font-size:14px}
.dark .nav-links{color:rgba(255,255,255,.72)}
.nav-links a:hover{color:var(--ink)}
.dark .nav-links a:hover{color:#fff}
.nav-actions{display:flex;gap:10px}
.button{
  display:inline-flex;
  min-height:44px;
  padding:0 18px;
  align-items:center;
  justify-content:center;
  border:1px solid currentColor;
  color:inherit;
  background:transparent;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.button:hover{transform:translateY(-1px)}
.button.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.button.dark:hover{background:#000;border-color:#000}
.button.light{color:#fff;border-color:rgba(255,255,255,.36)}
.button.light:hover{background:rgba(255,255,255,.1);border-color:#fff}
.button.white{background:#fff;border-color:#fff;color:var(--ink)}
.button.white:hover{background:var(--paper);border-color:var(--paper)}

.hero-full{
  position:relative;
  min-height:90vh;
  display:flex;
  align-items:center;
  padding:100px 0 72px;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(9,15,19,.82),rgba(9,15,19,.48),rgba(9,15,19,.18)),var(--hero-image) center/cover no-repeat;
}
.hero-full::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.34));pointer-events:none}
.hero-full .shell{position:relative;z-index:1;width:100%}
.hero-mark{height:52px;width:auto;max-width:min(520px,82vw);margin-bottom:42px;filter:brightness(0) invert(1)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.hero-grid p,.hero-panel p{font-size:19px;line-height:1.75;max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}

.split-hero{padding:116px 0 76px;background:var(--white)}
.split-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center}
.split-copy p{margin-top:24px;font-size:19px;line-height:1.75;max-width:560px}
.split-media,.large-media{height:630px;overflow:hidden;background:#dce1dd}
.split-media img,.large-media img{width:100%;height:100%;object-fit:cover}

.mosaic-hero{padding:112px 0 80px;background:#edf2ef}
.mosaic-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:end}
.mosaic-copy p{font-size:19px;line-height:1.75;max-width:560px;margin-top:24px}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mosaic img{width:100%;height:270px;object-fit:cover}
.mosaic img:first-child{grid-column:1/3;height:340px}

.office-hero{padding:120px 0 84px;background:linear-gradient(135deg,var(--navy),#26333a);color:#fff}
.office-frame{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:48px;border:1px solid rgba(255,255,255,.14)}
.office-frame > *{min-width:0}
.office-frame img{width:100%;height:510px;object-fit:cover}
.office-frame p{font-size:19px;line-height:1.75;margin-top:24px}
.final-office-hero{
  position:relative;
  padding:128px 0 92px;
  background:
    radial-gradient(circle at 8% 18%, rgba(192,160,104,.16), transparent 28%),
    linear-gradient(135deg, #0e171d 0%, #17242b 50%, #0a0f12 100%);
}
.final-office-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:34%;
  background:linear-gradient(180deg, transparent, rgba(244,241,234,.08));
  pointer-events:none;
}
.final-office-frame{
  position:relative;
  z-index:1;
  grid-template-columns:.92fr 1.08fr;
  padding:34px;
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 30px 90px rgba(0,0,0,.24);
}
.office-copy{padding:24px 8px 24px 20px}
.office-visual{
  position:relative;
  margin:0;
  min-height:560px;
  overflow:hidden;
  background:#233039;
}
.office-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 46%, rgba(0,0,0,.48));
}
.office-visual img{height:560px}
.office-visual figcaption{
  position:absolute;
  left:24px;
  bottom:22px;
  z-index:1;
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.minimal-hero{padding:126px 0 76px;background:#fffdf8}
.minimal-grid{display:grid;grid-template-columns:200px 1fr;gap:82px;align-items:start}
.minimal-mark{color:var(--clay);font-family:"Cormorant Garamond",serif;font-size:78px;line-height:1}
.minimal-grid p{font-size:19px;line-height:1.8;max-width:650px;margin-top:24px}

.section{padding:96px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.section.white{background:var(--white)}
.section.sage{background:#e8ede8}
.section.dark{background:var(--navy);border-bottom-color:rgba(255,255,255,.12)}
.service-row{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(340px,.88fr);gap:50px;align-items:center}
.service-row.reverse .media{order:2}
.num{font-family:"Cormorant Garamond",serif;font-size:54px;line-height:1;color:var(--clay)}
.dark .num{color:var(--gold)}
.service-copy p{margin-top:22px;max-width:570px;font-size:17px;line-height:1.75}
.media{height:460px;overflow:hidden;background:#dce1dd}
.media img{width:100%;height:100%;object-fit:cover}
.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;list-style:none;padding:0;margin:34px 0 0;border-top:1px solid var(--line)}
.dark .list{border-top-color:rgba(255,255,255,.18)}
.list li{padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.dark .list li{border-bottom-color:rgba(255,255,255,.18);color:rgba(255,255,255,.82)}
.partner-section{background:linear-gradient(180deg,#fffdf8 0%,#f7f3ea 100%)}
.partner-row{grid-template-columns:120px minmax(0,.85fr) minmax(340px,1fr)}
.partner-card{
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 24px 70px rgba(17,26,32,.08);
}
.partner-card a{display:flex;align-items:center;justify-content:center;width:100%}
.partner-card img{
  width:min(100%,620px);
  max-height:210px;
  object-fit:contain;
}

.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.summary-item{min-height:260px;padding:30px;background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.summary-item span{display:block;color:var(--clay);font-weight:700;margin-bottom:24px}
.summary-item h3{color:var(--ink)}
.summary-item p{margin-top:16px}
.summary-item p{color:var(--muted)}
.landing-services{padding-top:104px}
.section-heading{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:end;
  margin-bottom:52px;
}
.section-heading p{font-size:18px;line-height:1.75;max-width:560px}
.refined-grid{
  gap:16px;
  border:0;
}
.refined-grid .summary-item{
  min-height:285px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #fffdf8, #f7f3ea);
}
.refined-grid .summary-item span{font-size:13px;text-transform:uppercase;letter-spacing:.04em}

.statement{padding:96px 0;background:var(--navy);color:#fff}
.statement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:end}
.statement p{font-size:19px;line-height:1.75;color:rgba(255,255,255,.76)}
.statement-feature{
  padding:112px 0;
  background:
    linear-gradient(135deg, rgba(88,118,129,.16), transparent 34%),
    linear-gradient(135deg, #10181d, #1c2a31 58%, #0d1114);
}
.statement-feature-grid{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:center}
.statement-feature h2{max-width:760px}
.statement-feature p{max-width:620px;margin-top:28px}
.statement-image{height:430px;overflow:hidden;border:1px solid rgba(255,255,255,.16)}
.statement-image img{width:100%;height:100%;object-fit:cover}

.contact{
  position:relative;
  padding:104px 0;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(88,118,129,.24), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(192,160,104,.18), transparent 30%),
    linear-gradient(135deg, #10181d 0%, #18252b 52%, #0d1114 100%);
  overflow:hidden;
}
.contact::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 88%);
}
.contact .shell{position:relative;z-index:1}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.contact .eyebrow{color:#d4b27d}
.contact h2{color:#fff}
.contact p{font-size:17px;line-height:1.75;max-width:520px;margin-top:22px;color:rgba(255,255,255,.76)}
.contact-details{display:grid;gap:22px;margin-top:36px}
.contact-details span{display:block;color:rgba(255,255,255,.58);font-size:13px;font-weight:700;text-transform:uppercase}
.contact-details a,.contact-details strong{display:block;margin-top:4px;font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:400}
.contact-form{display:grid;gap:20px}
.form-guard{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.field{display:grid;gap:8px}
.field label{color:rgba(255,255,255,.58);font-size:13px;font-weight:700;text-transform:uppercase}
.field input,.field textarea{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.28);
  background:transparent;
  padding:13px 0;
  outline:none;
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  color:#fff;
}
.field input:focus,.field textarea:focus{border-bottom-color:#fff}
.field textarea{min-height:120px;resize:vertical}
.contact-form .button{justify-self:start;margin-top:6px}
.contact-form .button.dark{background:#fff;border-color:#fff;color:var(--ink)}
.contact-form .button.dark:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}

.footer{padding:30px 0;background:var(--paper);border-top:1px solid var(--line)}
.footer.dark{background:var(--navy);border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.68)}
.footer-inner{display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:14px}
.footer.dark .footer-inner{color:rgba(255,255,255,.68)}
.footer-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.footer-links a{text-decoration:underline;text-underline-offset:4px}
.legal-hero{padding:132px 0 74px;background:linear-gradient(135deg,#10181d,#1b2930);border-bottom:1px solid rgba(255,255,255,.12)}
.legal-hero h1{max-width:820px;color:#fff}
.legal-hero p{max-width:680px;margin-top:24px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.75}
.legal-content{padding:86px 0;background:var(--white)}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:72px;align-items:start}
.legal-aside{position:sticky;top:104px;color:var(--muted);font-size:14px}
.legal-aside strong{display:block;color:var(--ink);font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:400;line-height:1.1;margin-bottom:12px}
.legal-doc{display:grid;gap:38px}
.legal-doc section{padding-bottom:36px;border-bottom:1px solid var(--line)}
.legal-doc section:last-child{padding-bottom:0;border-bottom:0}
.legal-doc h2{font-size:38px}
.legal-doc p,.legal-doc li{color:var(--muted);font-size:16px;line-height:1.78}
.legal-doc p{margin-top:16px}
.legal-doc ul{margin:18px 0 0;padding-left:20px}
.legal-doc a{text-decoration:underline;text-underline-offset:4px}

@media (max-width:1040px){
  .nav-actions{display:none}
  .nav-links{gap:14px;font-size:13px;flex-wrap:wrap;justify-content:flex-end}
  h1{font-size:58px}
  h2{font-size:44px}
  .hero-grid,.split-grid,.mosaic-grid,.office-frame,.minimal-grid,.service-row,.statement-grid,.statement-feature-grid,.section-heading,.contact-grid,.legal-layout{grid-template-columns:1fr}
  .service-row.reverse .media{order:initial}
  .legal-aside{position:static}
  .split-media,.large-media,.office-frame img,.media{height:390px}
  .office-visual{min-height:auto}
  .office-visual img{height:390px}
  .statement-image{height:360px}
  .summary-grid{grid-template-columns:1fr 1fr}
  .contact-grid{gap:48px}
}
@media (max-width:660px){
  .shell,.shell-wide{padding:0 20px}
  .nav-inner{min-height:66px;align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px;gap:10px}
  .nav-links{display:flex;width:100%;gap:18px;overflow-x:auto;white-space:nowrap;padding-bottom:2px;scrollbar-width:none}
  .nav-links::-webkit-scrollbar{display:none}
  .brand img{height:23px;max-width:205px}
  .brand-icon img{height:34px;max-width:34px}
  h1{font-size:44px}
  h2{font-size:36px}
  h3{font-size:28px}
  .hero-full{min-height:82vh;padding-top:78px;padding-bottom:54px}
  .split-hero,.mosaic-hero,.office-hero,.minimal-hero{padding-top:94px}
  .hero-mark{height:42px}
  .hero-grid p,.hero-panel p{font-size:17px}
  .section{padding:72px 0}
  .final-office-hero{padding-top:52px;padding-bottom:64px}
  .office-frame{padding:24px}
  .office-copy{padding:0}
  .office-copy h1{font-size:42px;overflow-wrap:break-word}
  .office-copy p{font-size:17px;line-height:1.7}
  .office-visual img{height:300px}
  .office-visual figcaption{left:16px;bottom:16px}
  .minimal-mark{font-size:52px}
  .list,.summary-grid{grid-template-columns:1fr}
  .media,.split-media,.large-media,.office-frame img{height:300px}
  .partner-card{min-height:240px;padding:28px}
  .partner-card img{max-height:150px}
  .landing-services{padding-top:76px}
  .section-heading{gap:20px;margin-bottom:34px}
  .statement-feature{padding:78px 0}
  .statement-image{height:300px}
  .contact{padding:78px 0}
  .contact-details{margin-top:30px}
  .footer-inner{display:grid}
  .legal-hero{padding:106px 0 58px}
  .legal-content{padding:66px 0}
  .legal-doc h2{font-size:32px}
}
@media (max-width:430px){
  .office-copy h1{font-size:36px}
  .office-copy p{font-size:16px}
  .office-visual figcaption{font-size:10px;letter-spacing:.14em}
}
