
:root{
  --bg:#08090a;
  --panel:#101214;
  --text:#f2f2ef;
  --muted:#96999c;
  --line:#292c2f;
  --accent:#c51f25;
  --paper:#e7e7e1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.nav{
  position:fixed;z-index:20;top:0;left:0;width:100%;height:86px;padding:0 3.5vw;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.13);
  background:linear-gradient(#070809e8,rgba(7,8,9,.35));backdrop-filter:blur(8px)
}
.brand{display:flex;align-items:center;width:190px}
.brand img{display:block;width:100%;height:auto;max-height:50px;object-fit:contain;object-position:left center}
.nav nav{display:flex;gap:30px;font-size:12px}
.nav nav a{color:#c8c8c8;transition:color .25s}
.nav nav a:hover{color:#fff}
.nav nav a:after{content:'';display:block;width:0;height:1px;background:var(--accent);margin-top:5px;transition:width .25s}
.nav nav a:hover:after{width:16px}
.nav-cta{font-size:12px;border:1px solid #777;padding:11px 16px;border-radius:999px}

.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;
  background-image:
    url('assets/optimized/migrated/photo-8.webp'),
    url('assets/optimized/migrated/photo-9.webp');
  background-size:cover,cover;
  background-position:center 54%,center;
  filter:grayscale(100%) contrast(1.08);
  transform:scale(1.02)
}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.74),transparent 50%)}
.hero-content{position:relative;width:100%;padding:0 5vw 7vh}
.eyebrow,.section-index,.micro{font-size:10px;letter-spacing:.15em;font-weight:600;color:#b7b9ba}
.eyebrow:before,.section-index:before{content:'';display:inline-block;width:13px;height:2px;background:var(--accent);margin-right:9px;vertical-align:middle}
.hero h1{font-size:clamp(58px,8.7vw,150px);line-height:.82;letter-spacing:-.075em;margin:28px 0 50px;max-width:1300px}
.hero h1 span{color:#c7c9ca;font-weight:500}
.hero-bottom{border-top:1px solid rgba(255,255,255,.35);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:13px}
.hero-bottom p{margin:0;color:#d1d2d2}
.hero-bottom a b,.heritage-compact a span{color:var(--accent)}
.scroll{position:absolute;right:2.2vw;bottom:7vh;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em}
.scroll span{display:inline-block;height:60px;border-left:1px solid var(--accent);margin-top:10px}

.section{padding:120px 7vw}
.section-head{display:grid;grid-template-columns:.7fr 1.55fr;column-gap:7vw;align-items:start;margin-bottom:70px}
.section-head .section-index{grid-column:1}
.section-head h2{grid-column:2;font-size:clamp(48px,6.4vw,106px);line-height:.9;letter-spacing:-.068em;margin:0 0 28px}
.services-intro{grid-column:2;max-width:680px;color:var(--muted);font-size:17px;line-height:1.7;margin:0}

.service-feature{
  display:grid;grid-template-columns:.92fr 1.08fr;min-height:480px;
  border-top:1px solid var(--line);overflow:hidden
}
.service-feature:last-child{border-bottom:1px solid var(--line)}
.service-copy{padding:56px 4vw 52px 0;display:grid;grid-template-columns:72px 1fr 40px;gap:24px;align-items:start}
.service-copy>span{font-size:11px;color:#6f7376;padding-top:6px}
.service-copy h3{font-size:clamp(38px,4vw,68px);line-height:.94;letter-spacing:-.055em;margin:10px 0 18px}
.service-copy p:not(.micro){max-width:620px;color:var(--muted);line-height:1.65;margin:0}
.service-copy>b{font-size:30px;font-weight:400;text-align:right;transition:color .2s,transform .2s}
.service-feature:hover .service-copy>b{color:var(--accent);transform:translate(3px,-3px)}
.service-photo{
  min-height:480px;background-size:cover,cover,cover;background-position:center;
  filter:grayscale(1) contrast(1.04);transition:filter .35s ease,transform .45s ease
}
.service-feature:hover .service-photo{filter:grayscale(.35) contrast(1.04)}
.service-frame .service-photo{
  background-image:
    linear-gradient(90deg,rgba(8,9,10,.02),rgba(8,9,10,.15)),
    url('assets/optimized/migrated/photo-10.webp'),
    url('assets/optimized/migrated/photo-9.webp')
}
.service-front .service-photo{
  background-image:
    linear-gradient(90deg,rgba(8,9,10,.02),rgba(8,9,10,.15)),
    url('assets/optimized/migrated/photo-11.webp'),
    url('assets/optimized/migrated/photo-9.webp')
}
.service-geometry .service-photo{
  background-image:
    linear-gradient(90deg,rgba(8,9,10,.02),rgba(8,9,10,.15)),
    url('assets/optimized/migrated/photo-12.webp'),
    url('assets/optimized/migrated/photo-9.webp')
}

.diagnosis{display:grid;grid-template-columns:.7fr 1.55fr;gap:7vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.diagnosis h2{font-size:clamp(48px,6.2vw,102px);line-height:.9;letter-spacing:-.066em;margin:0 0 28px}
.diagnosis div>p{max-width:690px;color:var(--muted);font-size:18px;line-height:1.7;margin:0}

.statement{min-height:850px;display:grid;grid-template-columns:1.2fr .8fr}
.statement-image{
  min-height:720px;
  background-image:
    url('assets/optimized/migrated/photo-13.webp'),
    url('assets/optimized/migrated/photo-9.webp');
  background-size:cover,cover;background-position:center;
  filter:grayscale(1)
}
.statement-copy{padding:9vw 6vw;background:var(--paper);color:#08090a;display:flex;flex-direction:column;justify-content:center}
.statement-copy .section-index{color:#555}
.statement-copy h2{font-size:clamp(64px,7.2vw,125px);line-height:.77;letter-spacing:-.08em;margin:45px 0}
.statement-copy h2 i{font-weight:400}
.statement-copy>p:last-child{max-width:440px;line-height:1.6}

.insurance{border-bottom:1px solid var(--line)}
.insurance-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;align-items:end}
.insurance h2{font-size:clamp(54px,7vw,118px);line-height:.88;letter-spacing:-.07em;margin:35px 0 0}
.insurance-grid>div:last-child p{font-size:18px;line-height:1.7;color:#aaa;max-width:620px;margin:0}
.button{display:inline-block;margin-top:35px;padding:16px 22px;border:1px solid #666;border-radius:999px;font-size:13px;transition:border-color .2s}
.button:hover{border-color:var(--accent)}

.heritage-compact{border-bottom:1px solid var(--line);padding-top:90px;padding-bottom:90px}
.heritage-compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}
.year-small{position:relative;display:inline-block;font-size:clamp(72px,9vw,150px);font-weight:700;letter-spacing:-.08em;line-height:.85;color:#2b2e30}
.red-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);right:-16px;top:5px}
.heritage-compact h2{font-size:clamp(42px,5vw,78px);line-height:.92;letter-spacing:-.058em;margin:30px 0 0}
.heritage-compact-grid>div:last-child p{max-width:600px;color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 30px}
.heritage-compact a{border-bottom:1px solid #777;padding-bottom:5px}

footer{padding:90px 5vw 35px;background:var(--paper);color:#08090a}
.footer-top{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid #aaa;padding-bottom:55px}
.footer-top h2{font-size:clamp(62px,9vw,145px);line-height:.82;letter-spacing:-.075em;margin:0}
.footer-top>a{font-size:18px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding:60px 0 90px}
.footer-grid small{font-size:9px;letter-spacing:.15em;color:#777}
.footer-grid p{line-height:1.6}
.footer-end{display:flex;justify-content:space-between;border-top:1px solid #aaa;padding-top:20px;font-size:9px;letter-spacing:.12em}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .nav{height:70px}
  .brand{width:160px}
  .nav nav{display:none}
  .nav-cta{display:none}
  .hero{min-height:650px}
  .hero-bg{background-position:60% center,center}
  .hero-content{padding:0 6vw 8vh}
  .hero h1{font-size:16vw;line-height:.86}
  .hero-bottom{display:block}
  .hero-bottom a{display:inline-block;margin-top:18px}
  .scroll{display:none}
  .section{padding:90px 6vw}
  .section-head,.diagnosis{grid-template-columns:1fr}
  .section-head h2,.services-intro{grid-column:1}
  .section-head h2{margin-top:24px}
  .service-feature{grid-template-columns:1fr;min-height:0}
  .service-copy{grid-template-columns:40px 1fr 25px;padding:42px 0}
  .service-photo{min-height:54vw;order:-1}
  .statement{grid-template-columns:1fr}
  .statement-image{min-height:62vh}
  .statement-copy{padding:90px 6vw}
  .insurance-grid,.heritage-compact-grid{grid-template-columns:1fr}
  .insurance-grid>div:last-child{margin-top:35px}
  .heritage-compact-grid>div:last-child{margin-top:35px}
  .footer-top{display:block}
  .footer-top>a{display:inline-block;margin-top:35px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}
