:root{
  --ivory:#f5f1eb;
  --paper:#fbf9f5;
  --ink:#171513;
  --muted:#77716a;
  --line:#d9d2c9;
  --gold:#b98c55;
  --warm:#e8dfd4;
  --dark:#201d1a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
::selection{background:#c6a273;color:#fff}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(245,241,235,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(40,35,30,.08)}
.brand{width:155px;height:58px;display:flex;align-items:center;overflow:hidden}
.brand img{width:155px;height:auto;display:block}
.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:34px}
.desktop-nav a{font-size:13px;letter-spacing:.02em;color:#4f4a45;transition:.25s}
.desktop-nav a:hover{color:#9a7040}
.header-cta,.button{display:inline-flex;align-items:center;gap:14px;border-radius:999px;padding:13px 19px;font-size:13px;font-weight:600}
.header-cta{background:var(--ink);color:#fff}
.header-cta span,.button span{font-size:16px}
.hero{min-height:92vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:150px 10vw 90px}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,18,15,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(20,18,15,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55}
.orb-one{width:420px;height:420px;right:-120px;top:70px;background:radial-gradient(circle at 35% 35%,rgba(187,145,93,.25),transparent 67%)}
.orb-two{width:360px;height:360px;left:-140px;bottom:-170px;background:radial-gradient(circle,rgba(177,158,138,.22),transparent 65%)}
.hero-content{position:relative;z-index:2;max-width:790px}
.eyebrow,.section-label{font-size:11px;letter-spacing:.22em;font-weight:700;color:#8b6a46}
.eyebrow{margin:0 0 24px}
.hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(54px,7.2vw,108px);line-height:.98;letter-spacing:-.045em;font-weight:500;margin:0}
h1 em,h2 em{font-style:italic;color:#9a7248}
.hero-copy{max-width:600px;color:#6f6861;font-size:17px;margin:30px 0 34px}
.hero-actions{display:flex;align-items:center;gap:28px}
.button-dark{background:var(--ink);color:#fff;padding:16px 23px}
.text-link{font-size:13px;font-weight:600;border-bottom:1px solid #aaa39b;padding-bottom:4px}
.text-link span{margin-left:7px}
.hero-mark{position:absolute;right:10vw;bottom:11vh;width:148px;height:148px;border:1px solid #c7bfb5;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-12deg)}
.mark-ring{position:absolute;inset:9px;border:1px dashed #c8a77d;border-radius:50%}
.hero-mark span{font-family:"Playfair Display",serif;font-size:31px}
.hero-mark small{font-size:8px;letter-spacing:.2em;text-align:center;color:#8d857d}
.section{padding:125px 10vw}
.section-label{margin-bottom:60px;color:#8e867e}
.intro{border-top:1px solid var(--line)}
.intro-layout,.services-heading,.process-head,.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}
h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(44px,5vw,76px);line-height:1.02;font-weight:500;letter-spacing:-.04em;margin:0}
.intro-copy{max-width:520px;color:#6e6862;font-size:16px}
.intro-copy p:first-child{font-size:20px;color:#2e2a26;margin-top:0}
.intro-copy strong{display:block;margin-top:28px;color:var(--ink);font-size:13px;letter-spacing:.05em}
.services{background:var(--paper)}
.services-heading{align-items:end;margin-bottom:58px}
.services-heading p,.process-head p{max-width:370px;color:#777069;font-size:15px;margin:0 0 4px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{position:relative;min-height:300px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.35s;background:rgba(255,255,255,.3)}
.service-card:hover{background:#fff;transform:translateY(-3px)}
.service-card.featured{background:#eee7de}
.service-card.dark-card{background:var(--dark);color:#fff}
.service-number{position:absolute;top:28px;right:28px;font-size:11px;color:#958e86}
.dark-card .service-number{color:#b6aaa0}
.service-icon{font-size:34px;font-family:Georgia,serif;color:#9a7040;margin:42px 0 30px}
.service-card h3{font-family:"Playfair Display",Georgia,serif;font-size:28px;line-height:1.05;font-weight:500;margin:0 0 18px}
.service-card p{max-width:290px;color:#777069;font-size:13px;margin:0}
.dark-card p{color:#c7beb5}
.service-arrow{position:absolute;bottom:28px;right:30px;font-size:20px;color:#9a7040}
.card-link{position:absolute;bottom:28px;left:30px;font-size:12px;font-weight:700;border-bottom:1px solid #756a60;padding-bottom:4px}
.process{background:var(--ivory)}
.process-head{margin-bottom:80px}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.process-step{padding:28px 26px 10px 0;border-right:1px solid var(--line);min-height:180px}
.process-step:not(:first-child){padding-left:26px}
.process-step:last-child{border-right:0}
.process-step span{font-size:11px;color:#a38c73;letter-spacing:.15em}
.process-step h3{font-family:"Playfair Display",serif;font-size:24px;font-weight:500;margin:30px 0 10px}
.process-step p{color:#777069;font-size:13px;max-width:220px;margin:0}
.global{padding-top:20px;padding-bottom:125px}
.global-panel{background:var(--dark);color:#fff;min-height:590px;padding:65px 7vw;position:relative;overflow:hidden}
.global-panel:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-250px;top:-250px;box-shadow:0 0 0 70px rgba(255,255,255,.015),0 0 0 140px rgba(255,255,255,.012)}
.global-panel:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(185,140,85,.22),transparent 65%);right:70px;bottom:-200px}
.light{color:#bfa17e}
.global-copy{position:relative;z-index:2;max-width:680px;margin-top:105px}
.global-copy .eyebrow{color:#bfa17e;margin-bottom:18px}
.global-copy h2{font-size:clamp(48px,6vw,88px)}
.global-copy>p:last-child{max-width:450px;color:#bdb5ad;font-size:15px;margin-top:28px}
.locations{position:absolute;z-index:3;right:7vw;bottom:62px;display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;width:430px}
.locations div{display:grid;grid-template-columns:13px auto;column-gap:10px;align-items:center}
.locations .dot{width:8px;height:8px;border-radius:50%;border:1px solid #897d71;grid-row:span 2}
.locations .dot.active{background:#b98c55;border-color:#b98c55}
.locations b{font-size:13px;font-weight:600}
.locations small{grid-column:2;color:#827970;font-size:10px;letter-spacing:.06em;margin-top:-2px}
.contact{border-top:1px solid var(--line);padding-top:120px}
.contact-layout{align-items:start}
.contact-layout>div>p{max-width:500px;color:#777069;font-size:16px;margin-top:30px}
.contact-card{border-top:1px solid var(--ink)}
.contact-row{display:grid;grid-template-columns:110px 1fr 20px;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:.2s}
.contact-row:hover{padding-left:8px}
.contact-label{font-size:9px;letter-spacing:.18em;color:#948b82}
.contact-row strong{font-size:14px;font-weight:500}
.contact-row>span:last-child{font-size:18px;color:#9a7040}
footer{border-top:1px solid var(--line);padding:38px 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-brand{width:140px;height:50px;overflow:hidden;display:flex;align-items:center}
.footer-brand img{width:140px}
footer p,footer>a{font-size:11px;color:#807971}
footer>a{border-bottom:1px solid #bbb3aa;padding-bottom:2px}
.reveal{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.delay-1{animation-delay:.18s}
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .site-header{height:72px;padding:0 20px}
  .brand,.brand img{width:130px}
  .desktop-nav{display:none}
  .header-cta{padding:11px 15px;font-size:12px}
  .hero{min-height:88vh;padding:125px 7vw 75px}
  .hero h1{font-size:clamp(50px,13vw,80px)}
  .hero-copy{font-size:15px}
  .hero-mark{right:7vw;bottom:35px;width:100px;height:100px}
  .hero-mark span{font-size:22px}
  .hero-mark small{font-size:6px}
  .section{padding:90px 7vw}
  .section-label{margin-bottom:42px}
  .intro-layout,.services-heading,.process-head,.contact-layout{grid-template-columns:1fr;gap:35px}
  h2{font-size:clamp(43px,12vw,65px)}
  .service-grid{grid-template-columns:1fr 1fr}
  .service-card{min-height:280px}
  .process-line{grid-template-columns:1fr 1fr}
  .process-step:nth-child(2){border-right:0}
  .process-step:nth-child(3){border-top:1px solid var(--line)}
  .process-step:nth-child(4){border-top:1px solid var(--line)}
  .global-panel{padding:45px 7vw;min-height:690px}
  .global-copy{margin-top:75px}
  .locations{left:7vw;right:auto;bottom:45px;width:80%;gap:18px 25px}
}
@media(max-width:560px){
  .header-cta{font-size:0;padding:12px 14px}
  .header-cta span{font-size:17px}
  .hero{padding-left:6vw;padding-right:6vw}
  .hero h1{font-size:52px}
  .hero-copy{max-width:390px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-mark{opacity:.65}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:260px}
  .process-line{grid-template-columns:1fr}
  .process-step,.process-step:not(:first-child){padding:24px 0;border-right:0!important;border-bottom:1px solid var(--line)}
  .process-step:last-child{border-bottom:0}
  .global{padding-left:0;padding-right:0}
  .global-panel{padding:45px 7vw}
  .locations{grid-template-columns:1fr;width:84%}
  .contact-row{grid-template-columns:86px 1fr 16px;gap:10px}
  .contact-row strong{font-size:12px;overflow-wrap:anywhere}
  footer{flex-direction:column;align-items:flex-start}
}

/* Refined section labels: no numeric prefixes, stronger visual hierarchy. */
.section-title{
  font-size:14px;
  letter-spacing:.24em;
  font-weight:700;
  color:#5f5851;
}
.global-panel .section-title.light{color:#bfa17e}

/* Header menu refinement */
.menu-toggle{
  width:58px;height:58px;border:0;border-radius:50%;background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;
  cursor:pointer;position:relative;z-index:31;
}
.menu-toggle span{display:block;width:19px;height:1.5px;background:#fff;transition:.25s}
.menu-toggle.active span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle.active span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mobile-menu{
  position:fixed;top:92px;right:5vw;width:245px;padding:16px;
  background:rgba(251,249,245,.98);border:1px solid var(--line);
  box-shadow:0 18px 45px rgba(20,18,15,.12);
  display:flex;flex-direction:column;opacity:0;visibility:hidden;
  transform:translateY(-10px);transition:.25s;z-index:30;
}
.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-menu a{padding:16px 12px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu a:hover{color:#9a7040}
.dark-card .service-icon{margin-bottom:24px}
.dark-card h3{margin-bottom:18px}
.dark-card p{margin-bottom:0;padding-bottom:48px}
.dark-card .card-link{bottom:28px;left:30px;z-index:2}
@media(max-width:900px){
  .desktop-nav{display:none}
  .menu-toggle{width:54px;height:54px}
  .mobile-menu{top:82px;right:20px}
}
@media(max-width:560px){
  .mobile-menu{top:80px;right:18px;left:18px;width:auto}
}
