:root{--ink:#151515;--paper:#fff;--gold:#d6a02f;--gold-text:#866015;--muted:#63635f;--line:#ddddd6;--wash:#f4f3ef;--dark-line:#3c3b35;--max:1280px;--gutter:clamp(22px,5vw,80px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:var(--ink)}
a{color:inherit;text-decoration:none}
a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--gold-text);outline-offset:6px}
.hero a:focus-visible,.contact a:focus-visible{outline-color:var(--gold)}
img{display:block;max-width:100%;height:auto}
svg{display:block;flex:none}
p,h1,h2,h3{margin:0}
em{font-style:normal}
.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;background:#fff;padding:12px 20px;border:2px solid var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:38px}
.brand{width:180px;flex:none;padding-block:13px}
.brand img{width:100%}
.desktop-nav{display:flex;gap:30px;margin-left:auto}
.desktop-nav a{font-size:14px;font-weight:600;padding-block:14px;position:relative}
.desktop-nav a::after{content:"";position:absolute;bottom:9px;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.desktop-nav a:hover::after{transform:scaleX(1)}
.header-phone{display:flex;gap:11px;align-items:center;font-size:14px;font-weight:700;padding:12px 0 12px 30px;border-left:1px solid var(--line);white-space:nowrap}
.header-phone svg{width:17px;height:17px}
.header-phone:hover{color:var(--gold-text)}
.mobile-menu{display:none}
.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;line-height:1.6}
.hero{background:var(--ink);color:#fff}
.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:42px}
.hero .eyebrow{display:flex;align-items:center;gap:15px}
.gold-rule{width:36px;height:2px;background:var(--gold);flex:none}
.hero-region{color:#c2c1bb;font-size:13px}
.hero-region span{margin-inline:12px;color:var(--gold)}
.hero-main{display:grid;grid-template-columns:1.45fr 1fr;align-items:end;gap:clamp(40px,7vw,108px);padding-block:78px 84px}
h1{font-size:clamp(4.8rem,8.2vw,7.75rem);font-weight:500;line-height:1.02;letter-spacing:-.065em}
h1 em{color:var(--gold)}
.hero-copy{padding-bottom:5px;max-width:380px}
.hero-intro{font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.45;letter-spacing:-.02em}
.hero-description{margin-top:17px;color:#c2c1bb;font-size:16px;line-height:1.75}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:58px;padding:15px 22px;font-size:15px;font-weight:700;transition:background .18s}
.button svg{width:22px;height:22px;transition:transform .18s}
.button-gold{background:var(--gold);color:var(--ink);margin-top:28px}
.button-gold:hover{background:#e6b344}
.button:hover svg{transform:translateX(3px)}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border-top:1px solid var(--dark-line);padding-block:26px}
.principles p{display:flex;align-items:baseline;gap:15px;font-size:14px;color:#e5e4df}
.principles p:not(:first-child){padding-left:26px;border-left:1px solid var(--dark-line)}
.principles span{color:var(--gold);font-size:12px}
.section-space{padding-block:clamp(72px,8vw,120px)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:54px}
.section-heading .eyebrow{color:var(--gold-text);margin-bottom:21px}
h2{font-size:clamp(2.5rem,4vw,3.75rem);font-weight:500;line-height:1.1;letter-spacing:-.05em}
.section-heading>p{max-width:330px;color:var(--muted);font-size:16px;line-height:1.8;padding-bottom:3px}
.services-list{border-top:1px solid var(--ink)}
.service{display:grid;grid-template-columns:48px minmax(0,1.12fr) minmax(0,.95fr);gap:36px;align-items:center;padding-block:37px;border-bottom:1px solid var(--line)}
.service-number{color:var(--gold-text);font-size:14px;padding-top:5px;font-variant-numeric:tabular-nums;align-self:start}
.service h3{font-size:clamp(1.8rem,2.65vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-.04em}
.service-info{min-width:0}
.service-info h3{margin-bottom:19px}
.service-copy{max-width:460px}
.service-copy>p{color:var(--muted);font-size:16px;line-height:1.75}
.service-copy .service-detail{color:var(--gold-text);font-size:13px;margin-top:16px;line-height:1.75}
.service-media{width:100%;max-width:440px;justify-self:end;aspect-ratio:3/2;background:var(--wash);overflow:hidden}
.service-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-image-note{font-size:12px;color:var(--muted);margin-top:17px}
.services-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:25px;font-size:14px;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;font-weight:700;color:var(--ink);flex:none}
.text-link span{font-size:24px;color:var(--gold-text);line-height:1}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.approach{background:var(--wash)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;list-style:none;padding:0;margin:0}
.steps li{border-top:1px solid #bdbdb3;padding-top:21px}
.step-number{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--gold-text);font-size:15px;font-variant-numeric:tabular-nums;margin-bottom:37px}
.step-number span{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.steps h3{font-weight:500;font-size:23px;letter-spacing:-.035em;line-height:1.25;margin-bottom:15px}
.steps p{color:var(--muted);font-size:16px;line-height:1.75;max-width:350px}
.contact{background:var(--ink);color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,8vw,120px)}
.contact .eyebrow{color:var(--gold);margin-bottom:23px}
.contact h2{font-size:clamp(3.5rem,6vw,5.75rem);line-height:1.03}
.contact h2 em{color:var(--gold)}
.contact-intro>p:not(.eyebrow){margin-top:25px;color:#c2c1bb;font-size:16px;line-height:1.8}
.contact address{font-style:normal;font-size:14px;line-height:1.8;margin-top:35px;padding-left:17px;border-left:2px solid var(--gold);color:#c2c1bb}
.contact address strong{font-weight:500;color:#fff}
.contact-links{align-self:center;min-width:0}
.contact-option{display:flex;flex-direction:column;padding-block:31px;border-top:1px solid var(--dark-line);gap:14px;min-width:0}
.contact-option:last-child{border-bottom:1px solid var(--dark-line)}
.contact-label{font-size:12px;letter-spacing:.12em;color:var(--gold);font-weight:700}
.contact-value{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:clamp(1.8rem,3.5vw,3.4rem);letter-spacing:-.05em;line-height:1.25;overflow-wrap:anywhere}
.contact-value svg{width:29px;height:29px;color:var(--gold);transition:transform .18s}
.email-value{font-size:clamp(1.55rem,2.8vw,2.7rem)}
.contact-option:hover .contact-value{color:var(--gold)}
.contact-option:hover svg{transform:translate(3px,-3px)}
.contact-description{font-size:13px;color:#c2c1bb}
.site-footer{background:var(--paper)}
.footer-top{display:flex;align-items:center;gap:60px;padding-block:42px;border-bottom:1px solid var(--line)}
.footer-brand{width:166px;flex:none}
.footer-top>p{font-size:14px;line-height:1.9}
.footer-top>p span{font-size:13px;color:var(--muted)}
.back-to-top{display:flex;align-items:center;gap:20px;margin-left:auto;min-height:44px;font-size:13px}
.back-to-top span{color:var(--gold-text);font-size:24px}
.back-to-top:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{padding-block:20px;color:var(--muted);font-size:12px}

@media(max-width:1100px){
  .header-inner{gap:24px;min-height:92px}.brand{width:160px}.desktop-nav{gap:23px}.header-phone{padding-left:23px}
  .hero-main{grid-template-columns:1.25fr 1fr;gap:40px}h1{font-size:clamp(4rem,8.2vw,6rem)}
  .service{grid-template-columns:36px minmax(0,1.12fr) minmax(0,.95fr);gap:26px}
  .section-heading{gap:35px}.section-heading>p{max-width:290px}.steps{gap:28px}.steps h3{font-size:21px}.contact-grid{gap:45px}.footer-top{gap:38px}
}
@media(max-width:850px){
  html{scroll-padding-top:98px}.header-inner{min-height:82px}.brand{width:150px}.desktop-nav,.header-phone{display:none}
  .mobile-menu{display:block}.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:15px;cursor:pointer;padding:14px 0 14px 14px;font-size:14px}.mobile-menu summary::-webkit-details-marker{display:none}
  .menu-lines{width:23px;height:14px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);position:relative}.menu-lines::after{content:"";position:absolute;width:23px;height:1.5px;background:var(--ink);top:5px;left:0}.mobile-menu[open] .menu-lines{border:0}.mobile-menu[open] .menu-lines::after{top:6px;transform:rotate(45deg)}.mobile-menu[open] .menu-lines::before{content:"";position:absolute;top:6px;left:0;width:23px;height:1.5px;background:var(--ink);transform:rotate(-45deg)}
  .mobile-menu nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 14px 20px #1111110f;padding:15px var(--gutter) 25px;border-top:1px solid var(--line)}.mobile-menu nav a{display:block;padding-block:13px;border-bottom:1px solid var(--line)}.mobile-menu nav a:last-child{color:var(--gold-text);border:0}
  .hero-topline{padding-top:30px}.hero-main{grid-template-columns:1fr;gap:34px;padding-block:50px}h1{font-size:clamp(4.5rem,12vw,6.5rem)}.hero-copy{max-width:520px}.hero-intro{font-size:21px}.hero-description{margin-top:14px}
  .principles{gap:17px}.principles p{font-size:13px;flex-direction:column;gap:7px}.principles p:not(:first-child){padding-left:17px}
  .section-heading{display:block;margin-bottom:40px}.section-heading>p{max-width:480px;margin-top:23px}h2{font-size:clamp(2.4rem,5.8vw,3rem)}
  .service{grid-template-columns:30px minmax(0,1.12fr) minmax(0,.95fr);gap:20px;padding-block:30px}.service h3{font-size:25px}.services-foot{align-items:flex-start}
  .steps{grid-template-columns:1fr;gap:30px}.steps li{display:grid;grid-template-columns:1fr 1.15fr;column-gap:30px;row-gap:18px}.step-number{grid-column:1/-1;margin-bottom:0}.steps h3{font-size:23px;margin:0}.steps p{max-width:none}
  .contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:clamp(3.8rem,8vw,4.8rem)}.contact-links{width:100%}.contact-value{font-size:clamp(2rem,5.8vw,3rem)}.email-value{font-size:clamp(1.7rem,4.9vw,2.7rem)}
  .footer-top{gap:25px;flex-wrap:wrap}.footer-top>p{flex:1}.back-to-top{width:100%;justify-content:space-between;margin:0;border-top:1px solid var(--line);padding-top:18px}
}
@media(max-width:700px){
  .service{grid-template-columns:30px minmax(0,1fr);column-gap:15px;row-gap:24px;padding-block:28px}
  .service-info h3{margin-bottom:16px}
  .service-media{grid-column:1/-1;max-width:none}
}
@media(max-width:560px){
  .hero-topline{flex-direction:column;align-items:flex-start;gap:10px}.hero .eyebrow{font-size:11px;gap:12px}.gold-rule{width:26px}.hero-region{font-size:12px;padding-left:38px}.hero-region span{margin-inline:8px}
  .hero-main{padding-block:35px 36px;gap:29px}h1{font-size:clamp(3.25rem,13.5vw,4.7rem)}.hero-intro{font-size:20px}.hero-description{font-size:15px}.button-gold{margin-top:25px}
  .principles{grid-template-columns:1fr;gap:0;padding-block:12px}.principles p{flex-direction:row;align-items:baseline;gap:16px;padding-block:9px;font-size:13px}.principles p:not(:first-child){padding-left:0;border:0}
  .section-space{padding-block:58px}.section-heading{margin-bottom:32px}.section-heading .eyebrow{margin-bottom:16px}h2{font-size:clamp(2rem,7.7vw,2.65rem)}.section-heading>p{margin-top:19px}
  .service h3{font-size:27px}.service h3 br{display:none}.service-number{font-size:13px;padding-top:4px}.service-copy .service-detail{font-size:13px;margin-top:13px}
  .services-foot{display:block;margin-top:21px}.services-foot .text-link{margin-top:8px}.steps{gap:28px}.steps li{display:block;padding-top:18px}.step-number{margin-bottom:24px}.steps h3{font-size:23px;margin-bottom:12px}
  .contact .eyebrow{margin-bottom:20px}.contact h2{font-size:3.7rem}.contact-grid{gap:32px}.contact-intro>p:not(.eyebrow){margin-top:22px}.contact address{margin-top:26px}.contact-option{padding-block:26px;gap:13px}.contact-value{font-size:clamp(1.9rem,8vw,2.7rem);gap:10px}.email-value{font-size:clamp(1.55rem,6.7vw,2.2rem)}.contact-value svg{width:23px;height:23px}.contact-description{font-size:13px}
  .footer-top{padding-block:32px 22px;align-items:flex-start;gap:23px}.footer-brand{width:147px}.footer-top>p{flex-basis:100%}.back-to-top{padding-top:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
