/* East Continental Gems — editorial proposal */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/instrument-serif-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/instrument-serif-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/outfit-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#eee9df;--paper2:#e4ddd0;--ink:#171714;--muted:#68645e;--line:#c9c1b5;--accent:#852b36;--accent2:#b54848;--serif:"Instrument Serif",Georgia,serif;--sans:Outfit,"Avenir Next",sans-serif;--mono:ui-monospace,monospace;--wrap:1120px;--header-h:5rem;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg,canvas{max-width:100%}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:#561923}strong,b{font-weight:650}code{font: .82em var(--mono);overflow-wrap:anywhere;color:var(--accent)}::selection{background:#852b36;color:white}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{width:min(var(--wrap),calc(100% - 3rem));margin-inline:auto}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;z-index:90;top:.75rem;left:.75rem;padding:.7rem 1rem;background:var(--ink);color:white;transform:translateY(-180%)}.skip:focus{transform:none}#content:focus{outline:none}.site-header,main,.site-footer{position:relative}.site-header{position:sticky;top:0;z-index:40;background:rgba(238,233,223,.96);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink);min-height:44px}.brand-name{font:1.15rem var(--serif);line-height:1.1}.brand-sub{display:block;margin-top:.22rem;font:600 .59rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;gap:1.45rem;align-items:center}.nav a{min-height:44px;display:flex;align-items:center;gap:.35rem;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;color:var(--muted);white-space:nowrap}.nav a:hover,.nav a.is-active{color:var(--accent)}.progress{height:2px;background:transparent}.progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.hero{position:relative;overflow:hidden;padding:clamp(4rem,9vw,8.5rem) 0 3.25rem;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;inset:0 0 auto;height:9px;background:var(--accent)}h1,h2,h3,h4,p{margin-top:0}h1{margin:.85rem 0 1.4rem;line-height:.88;font-weight:400;letter-spacing:-.035em}.gem-stage{position:relative;width:min(100%,140px);aspect-ratio:1}.gem-stage:before{content:"";position:absolute;inset:7%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(133,43,54,.12),transparent 68%)}#gem-canvas,.gem-fallback{position:absolute;inset:0;width:100%;height:100%}.gem-fallback{background:linear-gradient(140deg,transparent 35%,rgba(133,43,54,.82) 35.2% 49%,rgba(28,34,37,.95) 49.2% 66%,rgba(133,43,54,.5) 66.2%),linear-gradient(35deg,transparent 43%,rgba(186,154,119,.8) 43.2% 57%,transparent 57.2%);clip-path:polygon(50% 4%,91% 34%,77% 85%,50% 98%,19% 80%,8% 37%);opacity:.9}.gem-stage.is-rendered .gem-fallback{opacity:0}.section{padding:clamp(4rem,8vw,7rem) 0}.section-alt{background:var(--paper2)}.section-head{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr);column-gap:4rem;align-items:end;margin-bottom:3rem}.section-head h2{max-width:560px;margin:0;font:clamp(3rem,6.4vw,6.2rem)/.9 var(--serif);letter-spacing:-.035em}.section-lede{max-width:560px;margin:0;color:#504c46;font-size:.98rem}.audit-shell{border-top:1px solid var(--ink)}.areas{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.area{padding:1.75rem 0 2.5rem;border-bottom:1px solid var(--line)}.area-head{display:flex;gap:1rem;align-items:baseline;margin-bottom:1.15rem}.area-head h3{display:inline;margin:0;font:2rem var(--serif)}.area-head p{margin:.2rem 0 0;font-size:.78rem;color:var(--muted)}.finding{display:grid;grid-template-columns:64px 1fr;gap:.6rem;padding:1rem 0;border-top:1px solid var(--line)}.finding[hidden],.area[hidden]{display:none}.badges{display:flex;flex-direction:column;gap:.25rem;align-items:start}.sev{font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;font-weight:650}.sev-high{color:var(--accent)}.sev-med{color:#8c5c27}.sev-low{color:#426251}.sev-info,.sev-note{color:#52606d}.finding h4{margin:0 0 .35rem;font-size:.98rem;line-height:1.3}.finding-copy>p{margin:0;font-size:.86rem;color:#504c46}.evidence{margin-top:.55rem;padding-left:.65rem;border-left:2px solid var(--line)}.evidence summary{font-size:.68rem;color:var(--accent);cursor:pointer;letter-spacing:.08em;text-transform:uppercase}.evidence p{margin:.4rem 0 0}.evidence p{margin:0;font-size:.76rem;color:var(--muted)}.path{text-decoration:none}.path:hover{text-decoration:underline}.health-section{background:#22211f;color:#f1ece3}.health-section .section-lede{color:#c3beb5}.health-section .section-head h2{color:#f4efe6}.health-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid #5c5852;border-bottom:1px solid #5c5852}.health-grid article{padding:1.5rem 1.6rem 1.7rem 0}.health-grid article+article{padding-left:1.6rem;border-left:1px solid #5c5852}.health-lead>strong{display:block;margin:.8rem 0 .35rem;font:4.6rem/.9 var(--serif);color:#f0d7bd}.health-lead>strong span{font:1.2rem var(--sans);color:#aaa39a}.health-grid h3{font:1.8rem/1 var(--serif);margin:.4rem 0 .6rem}.health-grid p{font-size:.82rem;color:#c3beb5;margin:0}.health-grid b{color:#fff}.health-source{margin:1rem 0 0;font-size:.72rem;color:#aaa39a}.health-source a{color:#f0d7bd}.phases{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.phase{display:grid;grid-template-columns:130px 1fr;gap:1.3rem;padding:1.65rem 0;border-bottom:1px solid var(--line)}.phase h3{font:2.3rem/1 var(--serif);margin:0}.points{display:grid;grid-template-columns:1fr 1fr;gap:.45rem 2rem;padding-left:1.1rem;margin:0;font-size:.88rem;color:#504c46}.closing{padding:clamp(4rem,9vw,8rem) 0;background:var(--accent);color:#f4efe6}.closing-inner{max-width:760px}.closing h2{font:clamp(3.5rem,8vw,7rem)/.9 var(--serif);margin:.6rem 0}.closing-sub{max-width:620px;color:#ead7d0}.site-footer{padding:1.4rem 0;background:var(--ink);color:#c2bcb2;font-size:.75rem}.footer-inner{display:flex;justify-content:space-between;gap:1rem}.footer-inner p{margin:0}.footer-inner a{color:#f0d7bd}.reveal{opacity:1;transform:none}.js.js-ready .reveal{animation:arrive .55s both;animation-delay:var(--d,0ms)}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:850px){.nav{gap:.8rem}.nav a{font-size:.6rem}.section-head{column-gap:2rem}.areas{column-gap:1.5rem}.health-grid{grid-template-columns:1fr}.health-grid article,.health-grid article+article{padding:1.2rem 0;border-left:0;border-bottom:1px solid #5c5852}.health-grid article:last-child{border-bottom:0}.health-lead>strong{font-size:3.5rem}}
@media(max-width:620px){.wrap{width:min(var(--wrap),calc(100% - 2rem))}.header-inner{display:block;padding-top:.35rem}.brand{min-height:42px}.nav{overflow-x:auto;justify-content:flex-start;gap:1.15rem;border-top:1px solid var(--line)}.nav a{flex:0 0 auto}.hero{padding-top:4rem}.gem-stage{width:115px}.section-head{display:block}.section-head h2{margin-bottom:1rem;font-size:clamp(3rem,14vw,4.8rem)}.section-lede{font-size:.9rem}.areas{grid-template-columns:1fr}.area{padding-bottom:1.3rem}.finding{grid-template-columns:58px 1fr}.phase{grid-template-columns:1fr;gap:.6rem}.phase h3{font-size:2rem}.points{grid-template-columns:1fr}.footer-inner{display:block}.footer-inner p+p{margin-top:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Presentation sequence */
:root{--paper:#f0ece4;--paper2:#e8e1d5;--ink:#191613;--muted:#706a62;--line:#cbc2b6;--accent:#8b2835;--wrap:1160px}
html{scroll-padding-top:5rem}
body{background:var(--paper)}
.site-header{background:#171311;color:#f0ece4;border-color:#39312d}
.header-inner{min-height:4.5rem}
.brand{color:#f0ece4}
.brand-name{font-size:1.05rem;letter-spacing:.01em}
.brand-sub{color:#b3a79c;font-size:.55rem}
.nav{gap:1.6rem}
.nav a{color:#c4b9af;font-size:.64rem;letter-spacing:.14em}
.nav a:hover,.nav a.is-active{color:#f1d4c2}
.progress span{background:#b94951}
.hero.gem-intro{min-height:calc(100svh - 4.5rem);padding:0;display:flex;align-items:center;overflow:hidden;background:#171311;color:#f0ece4;border:0}
.gem-intro:before{display:none}
.gem-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(229,211,195,.055) 50%,transparent calc(50% + .5px)),linear-gradient(rgba(229,211,195,.035) 1px,transparent 1px);background-size:100% 100%,100% 25%;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent)}
.gem-layout{position:relative;min-height:calc(100svh - 4.5rem);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;padding-block:3rem}
.gem-copy{position:relative;z-index:2;align-self:center;padding-bottom:1.5rem}
.gem-intro h1{margin:1.2rem 0 .7rem;font:clamp(4rem,7.6vw,7.4rem)/.82 var(--serif);letter-spacing:-.045em;color:#f2ece3}
.gem-stage{position:relative;isolation:isolate;width:min(100%,min(54vw,620px));aspect-ratio:1;justify-self:center;display:grid;place-items:center;overflow:visible}
.gem-stage:before{inset:13%;background:radial-gradient(ellipse at center,rgba(152,33,48,.28),rgba(109,31,39,.09) 38%,transparent 70%);filter:blur(10px)}
#gem-canvas,.gem-fallback{position:absolute;inset:0;width:100%;height:100%}
#gem-canvas{z-index:2;opacity:0;transition:opacity .9s ease}
.gem-stage.is-rendered #gem-canvas{opacity:1}
.gem-fallback{z-index:1;opacity:.95;background:linear-gradient(138deg,transparent 28%,#e4aaa0 28.2% 39%,#9e3340 39.2% 50%,#54141f 50.2% 65%,transparent 65.2%),linear-gradient(38deg,transparent 37%,#6b1928 37.2% 53%,#c96762 53.2% 67%,transparent 67.2%),linear-gradient(90deg,transparent 48%,rgba(239,202,168,.92) 48.2% 49.2%,transparent 49.4%);clip-path:polygon(50% 3%,75% 10%,96% 34%,88% 69%,66% 94%,34% 92%,10% 69%,4% 35%,25% 9%);filter:drop-shadow(0 30px 45px rgba(112,17,32,.2));transition:opacity .9s ease}
.gem-stage.is-rendered .gem-fallback{opacity:0}
.gem-stage.is-playable{cursor:grab}
.gem-stage.is-playable:active{cursor:grabbing}

/* Readable UI text and quieter editorial structure. */
body{text-wrap:pretty}
.brand-name{font-size:.7rem}
.brand-sub{font-size:.61rem}
.nav a{font-size:.69rem;letter-spacing:.11em}
.identity-caption,.scroll-cue{font-size:.69rem}
.sev{font-size:.69rem;letter-spacing:.09em}
.evidence summary{font-size:.75rem}
.area-head{gap:0}
.area-head h3{margin:0}
@media(max-width:620px){.nav a{font-size:.62rem}.brand-name{font-size:.62rem}.brand-sub{font-size:.56rem}}

/* Audit overview: lead with decisions, retain the full evidence. */
#audit .section-head{margin-bottom:2rem}
#audit .section-head h2{font-size:clamp(2.6rem,4.4vw,4.6rem);max-width:9ch}
.audit-shell:not(.show-all) .finding~.finding{display:none}
.audit-shell:not(.show-all) .area{padding-bottom:1.65rem}
.audit-shell:not(.show-all) .finding{padding-bottom:.2rem}
.audit-shell:not(.show-all) .finding-copy>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* Audit presentation: lead with the decisions, then make every finding available. */
#audit{padding-top:clamp(5.5rem,9vw,8rem)}
.audit-intro{max-width:760px;margin:0 0 clamp(3.5rem,7vw,6.5rem)}
.audit-intro h2{max-width:8ch;margin:0;font:500 clamp(3.4rem,6.7vw,7rem)/.88 var(--sans);letter-spacing:-.07em}
.audit-intro>p:last-child{max-width:32rem;margin:1.5rem 0 0;font-size:1.08rem;color:#59534c}
.audit-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.audit-signals li{display:grid;grid-template-columns:2.3rem 1fr;gap:.8rem;min-height:17rem;padding:1.35rem 1.4rem 1.55rem 0}
.audit-signals li+li{padding-left:1.4rem;border-left:1px solid var(--line)}
.audit-signals>li>span{font:600 .7rem/1 var(--sans);letter-spacing:.1em;color:var(--accent)}
.audit-signals p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.audit-signals div>p:first-child{margin-bottom:1.5rem;font-size:.64rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.audit-signals h3{margin:0 0 .9rem;font:600 1.45rem/1.05 var(--sans);letter-spacing:-.04em}
.review-label{display:flex;justify-content:space-between;align-items:baseline;margin:4rem 0 1rem;font-size:.72rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.review-label span{color:var(--muted);font-weight:500}
#audit .audit-shell{border-top:1px solid var(--ink)}
#audit .areas{display:block}
#audit .area{padding:0;border-bottom:1px solid var(--line)}
#audit .area-head{display:grid;grid-template-columns:minmax(13rem,.7fr) minmax(20rem,1.3fr) auto;gap:1.5rem;align-items:center;margin:0;padding:1.25rem 0}
#audit .area-head h3{font:600 1.25rem/1.1 var(--sans);letter-spacing:-.035em}
#audit .area-head p{margin:0;font-size:.84rem;line-height:1.45}
.area-toggle{display:flex;align-items:center;gap:.65rem;padding:.2rem 0;background:transparent;border:0;color:var(--accent);font:650 .67rem var(--sans);letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.area-toggle b{font-size:1rem;font-weight:400}
.area-toggle:hover{color:var(--ink)}
#audit .findings{display:none;border-top:1px solid var(--line)}
#audit .area.is-open .findings{display:block}
#audit .audit-shell:not(.show-all) .finding~.finding{display:grid}
#audit .audit-shell:not(.show-all) .finding-copy>p{display:block;overflow:visible}
#audit .finding{grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:1.35rem 0}
#audit .finding h4{font-size:1.05rem}
#audit .finding-copy>p{max-width:66rem;font-size:.93rem;line-height:1.65}
#audit .badges{padding-top:.18rem}
#audit .sev{font-size:.68rem}
#audit .evidence{max-width:66rem;margin-top:.85rem}
@media(max-width:760px){
  .audit-intro h2{font-size:clamp(3rem,13vw,5rem)}
  .audit-signals{grid-template-columns:1fr}
  .audit-signals li,.audit-signals li+li{min-height:0;padding:1.35rem 0;border-left:0}
  .audit-signals li+li{border-top:1px solid var(--line)}
  .audit-signals div>p:first-child{margin-bottom:.7rem}
  .review-label{display:grid;gap:.3rem;margin-top:2.8rem}
  #audit .area-head{grid-template-columns:1fr auto;gap:.7rem;padding:1.15rem 0}
  #audit .area-head p{grid-column:1/-1}
  #audit .finding{grid-template-columns:1fr;gap:.65rem}
}

/* Homepage diagnostics use their own alignment system. */
.health-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.72fr);gap:clamp(3rem,8vw,9rem);align-items:end;margin-bottom:3.5rem}
.health-head h2{max-width:8ch;margin:0;font:500 clamp(3rem,5.5vw,5.8rem)/.92 var(--sans);letter-spacing:-.065em;color:#f4efe6}
.health-head>p{max-width:32rem;margin:0;color:#d6cec5;font-size:1.03rem;line-height:1.55}
.health-grid article{display:flex;flex-direction:column}
.health-grid h3{min-height:2.8em;margin:1.2rem 0 .85rem;font:600 1.3rem/1.08 var(--sans);letter-spacing:-.04em}
.health-grid p{font-size:.9rem;line-height:1.62;color:#d6cec5}
.health-source{font-size:.78rem;line-height:1.5;color:#c9c0b7}
@media(max-width:760px){.health-head{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2.5rem}.health-head h2{font-size:clamp(2.7rem,12vw,4.6rem)}.health-grid h3{min-height:0}}

/* Delivery is expressed as a sequence of weeks, without commercial detail. */
#proposal .section-head h2{max-width:11ch;font-size:clamp(3rem,5.3vw,5.5rem)}
#proposal .section-lede{max-width:30rem}
#proposal .phases{border-top:1px solid var(--ink)}
#proposal .phase{grid-template-columns:1fr;padding:2rem 0 2.2rem}
#proposal .phase h3{margin:0 0 1rem;font-size:clamp(1.6rem,2.5vw,2.3rem);letter-spacing:-.05em}
#proposal .points{max-width:64rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 3rem;padding-left:1.15rem;font-size:.95rem;line-height:1.5}

/* The close is a visual statement, not a booking prompt. */
.closing{position:relative;isolation:isolate;min-height:70svh;display:grid;align-items:center;overflow:hidden;background:#6e1827}
.closing:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 75% 44%,rgba(224,134,118,.3),transparent 22%),linear-gradient(120deg,#54101d,#7b1c2d 56%,#3c0b15)}
.closing-object{position:absolute;z-index:-1;right:clamp(-12rem,-8vw,-3rem);top:50%;width:clamp(25rem,48vw,54rem);aspect-ratio:1;transform:translateY(-50%) rotate(18deg);clip-path:polygon(50% 2%,88% 20%,100% 52%,73% 89%,43% 100%,8% 76%,2% 37%,22% 11%);background:linear-gradient(143deg,rgba(255,212,177,.98) 0 17%,transparent 17.2%),linear-gradient(28deg,transparent 0 31%,#d65b58 31.2% 47%,#82172a 47.2% 63%,transparent 63.2%),linear-gradient(112deg,transparent 0 29%,#f19b85 29.2% 45%,#9d2337 45.2% 59%,#3b0913 59.2%);filter:drop-shadow(0 2rem 4rem rgba(24,2,8,.45));opacity:.82}
.closing-inner{position:relative;max-width:min(760px,calc(100% - 3rem));margin-left:max(calc((100vw - var(--wrap))/2),1.5rem)}
.closing h2{max-width:8ch;margin:0;font:500 clamp(3.3rem,7.4vw,7.4rem)/.88 var(--sans);letter-spacing:-.075em}
.closing-sub{max-width:30rem;margin:1.7rem 0 0;font-size:1.08rem;line-height:1.5;color:#f0d9d0}
@media(max-width:760px){#proposal .points{grid-template-columns:1fr;font-size:.9rem}.closing{min-height:78svh;align-items:end;padding-bottom:14vh}.closing-object{right:-48vw;top:28%;width:112vw;opacity:.68}.closing-inner{width:calc(100% - 2rem);margin-left:1rem}.closing h2{font-size:clamp(3rem,14vw,5rem)}}
.scroll-cue{display:inline-flex;align-items:center;gap:1rem;position:absolute;z-index:3;left:0;bottom:8%;color:#ead6c8;text-decoration:none;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase}
.scroll-cue span:last-child{font-size:1.2rem;transition:transform .2s ease}
.scroll-cue:hover span:last-child{transform:translateY(4px)}
.identity{position:relative;min-height:76svh;display:grid;place-items:center;overflow:hidden;background:#f0ece4;color:var(--ink);text-align:center;padding:6rem 0}
.identity:before,.identity:after{content:"";position:absolute;left:50%;width:1px;height:12%;background:linear-gradient(transparent,#b8aa9d);top:0}
.identity:after{top:auto;bottom:0;transform:rotate(180deg)}
.identity-rule{position:absolute;inset:12% 8%;border:1px solid rgba(35,28,24,.08);pointer-events:none}
.identity-inner{position:relative;z-index:1;display:grid;justify-items:center}
.ecg-wordmark{display:block;width:min(440px,68vw);height:auto;max-height:170px;object-fit:contain}
.wordmark-fallback{font:clamp(2.8rem,7.6vw,6.3rem)/.9 var(--serif);letter-spacing:-.035em;color:#171311}
.identity-caption{margin:1.8rem 0 0;color:#6f675f;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.identity-caption span{color:var(--accent);padding-inline:.35rem}
.identity-cue{position:static;margin-top:4rem;color:#6b5449}
.identity-cue span:last-child{color:var(--accent)}
.section{scroll-margin-top:5rem}
#audit{padding-top:clamp(5rem,9vw,8rem)}
#audit .section-head{margin-bottom:3.5rem}
#audit .section-head h2{max-width:650px;font-size:clamp(3.1rem,6.2vw,6rem)}
.section-lede{line-height:1.65}
.finding{grid-template-columns:58px 1fr}
.sev{font-size:.55rem;letter-spacing:.13em}
.health-section{scroll-margin-top:4.5rem}
.closing{background:#6e1827}
.site-footer{background:#171311}
@media(max-width:850px){.gem-layout{grid-template-columns:.8fr 1.2fr}.gem-stage{width:min(100%,52vw)}.nav{gap:.85rem}.nav a{font-size:.56rem}}
#proposal .section-head h2{font-size:clamp(3.2rem,5.2vw,5rem);line-height:.94}
.brand-name{font:600 .64rem/1.1 var(--sans);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.brand-sub{font:500 .52rem/1.2 var(--sans);letter-spacing:.14em}
.scroll-cue{bottom:10%}
@media(max-width:620px){.header-inner{display:flex;align-items:center;padding-block:.35rem}.brand{min-height:40px}.brand-name{font-size:.57rem;white-space:nowrap}.brand-sub{font-size:.45rem;white-space:nowrap}.nav{overflow-x:auto;justify-content:flex-end;gap:.85rem;border:0}.nav a{min-height:40px;font-size:.53rem;letter-spacing:.08em}.hero.gem-intro{min-height:calc(100svh - 6.4rem);align-items:stretch}.gem-layout{min-height:calc(100svh - 6.4rem);grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:4.2rem 0 4.7rem}.gem-copy{align-self:start;padding:0}.gem-intro h1{font-size:clamp(3.7rem,17vw,6rem);margin:.9rem 0 .55rem}.gem-stage{position:absolute;right:-8vw;top:33%;width:min(84vw,440px);opacity:.92}.scroll-cue{bottom:10%;font-size:.57rem}.identity{min-height:70svh;padding:5rem 0}.identity-rule{inset:10% 5%}.ecg-wordmark{width:min(78vw,390px)}.identity-caption{font-size:.58rem;line-height:1.6}.identity-cue{margin-top:3rem}.section-head h2{font-size:clamp(3rem,12vw,4.8rem)}.finding{grid-template-columns:48px 1fr}}

/* Typography reset: direct, restrained, and readable. */

h1,h2,h3,h4{font-family:var(--sans);font-style:normal}
.gem-intro h1{max-width:8ch;margin:1.35rem 0 0;font:500 clamp(3.5rem,6.3vw,6.5rem)/.91 var(--sans);letter-spacing:-.045em;word-spacing:.05em}
.section-head{grid-template-columns:minmax(230px,.82fr) minmax(300px,1.18fr);margin-bottom:2.5rem}
.section-head h2,#audit .section-head h2,#proposal .section-head h2{max-width:10ch;font:500 clamp(2.8rem,4.8vw,5rem)/.94 var(--sans);letter-spacing:-.045em}
.section-lede{max-width:32rem;font-size:.92rem}
.area-head h3{font:600 1.15rem/1.1 var(--sans);letter-spacing:-.025em}
.finding h4{font:600 .92rem/1.28 var(--sans);letter-spacing:-.01em}
.health-lead>strong{font:500 clamp(3.1rem,4.4vw,4.35rem)/.9 var(--sans);letter-spacing:-.07em}
.health-lead>strong span{font:600 .68rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.health-grid h3,.phase h3{font-family:var(--sans);font-weight:600;letter-spacing:-.04em}
.health-grid h3{font-size:1.3rem;line-height:1.08}
.phase h3{font-size:1.65rem;line-height:1.05}
.closing h2{max-width:10ch;font:500 clamp(3.1rem,6.4vw,6rem)/.92 var(--sans);letter-spacing:-.045em}

@media(max-width:620px){
  .nav{min-width:0;flex:1;justify-content:flex-start;gap:.7rem}
  .nav a{font-size:.49rem}
  .gem-intro h1{font-size:clamp(3.2rem,15vw,5.1rem);max-width:7ch}
  .section-head h2,#audit .section-head h2,#proposal .section-head h2{font-size:clamp(2.5rem,11vw,4rem);margin-bottom:1.1rem}
  .health-grid h3{font-size:1.25rem}
  .phase h3{font-size:1.5rem}
}

/* Final override layer. Keep readable UI rules after legacy presentation rules. */
body{text-wrap:pretty}
.brand-name{font-size:.7rem}
.brand-sub{font-size:.61rem}
.nav a{font-size:.69rem;letter-spacing:.11em}
.identity-caption,.scroll-cue{font-size:.69rem}
.sev{font-size:.69rem;letter-spacing:.09em}
.evidence summary{font-size:.75rem}
.area-head{gap:0}
.area-head h3{margin:0}
@media(max-width:620px){.nav a{font-size:.62rem}.brand-name{font-size:.62rem}.brand-sub{font-size:.56rem}}

/* Audit pass: client-facing hero, stats, and strengths. */
.gem-intro h1{max-width:11ch}
.health-lead>strong{display:block;margin:.8rem 0 .5rem;color:#f0d7bd}
.health-lead>strong span{color:#aaa39a}
@media(max-width:620px){.gem-intro h1{max-width:9ch}}
.brand-short{display:none}
@media(max-width:620px){.brand-long,.brand-sub{display:none}.brand-short{display:inline}.brand{flex:0 0 auto}.nav{justify-content:flex-end}.gem-stage{top:auto;bottom:9%;width:min(74vw,380px);opacity:.85}.gem-copy{position:relative;z-index:3}}
.phase-golive{padding-block:1.1rem}
.phase-golive h3{color:var(--accent)}

/* Refinement pass: no kickers or section numbers, one motion moment, plain lists, themed browser surfaces. */
html{scrollbar-color:#8b2835 #e8e1d5;caret-color:var(--accent)}
h1,h2,h3{text-wrap:balance}
.gem-intro h1,.section-head h2,#audit .section-head h2,#proposal .section-head h2,.closing h2,.health-head h2,.audit-intro h2{letter-spacing:-.04em}
.js.js-ready .reveal{animation:none}
.ico{width:1em;height:1em;flex:none}
.scroll-cue .ico{width:1.1rem;height:1.1rem;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.scroll-cue:hover .ico{transform:translateY(4px)}
.area-toggle .ico{width:.95rem;height:.95rem}
.gem-intro h1{margin-top:0}
.audit-signals li{grid-template-columns:1fr}
.audit-signals h3{max-width:16ch}
.review-label{text-transform:none;letter-spacing:-.01em;font-size:1.05rem;font-weight:600}
.health-head h2{max-width:none}
.health-grid h3{min-height:0;margin-top:.9rem}
.evidence{border-left-width:1px}
.strengths{list-style:none;margin:0;padding:0;columns:2;column-gap:4rem;border-top:1px solid var(--ink)}
.strengths li{break-inside:avoid;padding:1rem 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.5;color:#3e3a35}
.strengths b{color:var(--ink);font-weight:600}
#proposal .section-head h2{max-width:12ch}
.phase h3{margin:0}
.phase-when{margin:.35rem 0 1rem;color:var(--accent);font-size:.9rem;font-weight:550;font-variant-numeric:tabular-nums}
.phase-golive .phase-when{margin-bottom:0}
.closing h2{max-width:11ch}
@media(max-width:620px){.strengths{columns:1}}
.audit-signals li{min-height:0}
/* Selection: open leading so highlighted lines don't clip descenders; softer tint on dark grounds. */
.gem-intro h1{line-height:1.05}
.gem-intro ::selection,.health-section ::selection,.closing ::selection,.site-header ::selection{background:rgba(214,120,128,.3);color:inherit}
h1::selection,h2::selection{background:rgba(139,40,53,.22);color:inherit}
.gem-intro h1::selection,.closing h2::selection,.health-section h2::selection{background:rgba(214,120,128,.3)}
/* The stage: a soft spotlight from above and a pool of light on the floor. */
.gem-beam,.gem-floor{position:absolute;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.6s cubic-bezier(.16,1,.3,1)}
.gem-beam{left:18%;right:18%;top:-30%;bottom:16%;background:linear-gradient(180deg,rgba(255,226,206,0) 0%,rgba(255,226,206,.07) 45%,rgba(255,214,196,.12) 100%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(6px)}
.gem-floor{left:14%;right:14%;bottom:6%;height:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(230,140,140,.28),rgba(139,40,53,.12) 55%,transparent);filter:blur(4px)}
.gem-stage.is-lit .gem-beam,.gem-stage.is-lit .gem-floor{opacity:1}
@media(prefers-reduced-motion:reduce){.gem-beam,.gem-floor{transition:none}}
.gem-beam{-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
/* Strengths: a true two-column grid so rows line up even when an item wraps. */
.strengths{columns:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:4rem}
@media(max-width:620px){.strengths{grid-template-columns:1fr}}
/* Alignment pass */
#audit .area-head{grid-template-columns:1fr auto}
.audit-intro{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.72fr);gap:clamp(3rem,8vw,9rem);align-items:end}
.audit-intro h2{max-width:none}
.audit-intro>p:last-child{margin:0;font-size:1.03rem;line-height:1.55}
.audit-signals li,.audit-signals li+li{padding-top:1.5rem;padding-bottom:1.6rem}
@media(max-width:760px){.audit-intro{grid-template-columns:1fr;gap:1.2rem}}
.closing-object canvas{display:none;width:100%;height:100%}
.closing-object.is-3d{clip-path:none;background:none;transform:translateY(-50%);filter:none;box-shadow:none}
.closing-object.is-3d:before,.closing-object.is-3d:after{display:none}
.closing-object.is-3d canvas{display:block}
/* One section-head grid everywhere, so ledes line up down the page. */
.section-head{grid-template-columns:minmax(0,1fr) minmax(19rem,.72fr);column-gap:clamp(3rem,8vw,9rem);align-items:end}
.section-head h2,#proposal .section-head h2{max-width:none}
.section-head .section-lede{font-size:1.03rem;line-height:1.55;max-width:32rem}
@media(max-width:760px){.section-head{grid-template-columns:1fr}}
.identity-caption .nw{color:inherit;padding:0;white-space:nowrap}
/* Opening loader: the ECG wordmark under a passing light, with a progress line tied to real loading. */
.loader{display:none}
.is-loading .loader{display:grid;position:fixed;inset:0;z-index:200;place-items:center;background:#171311;color:#f2ece3;transition:clip-path 1s cubic-bezier(.77,0,.18,1),opacity .6s ease .4s;clip-path:inset(0 0 0 0)}
.is-loading body{overflow:hidden}
.loader-inner{display:grid;justify-items:center;gap:1.6rem}
.loader-mark{display:block;width:min(52vw,246px);height:auto;color:#f2ece3;-webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.38) 35%,#000 50%,rgba(0,0,0,.38) 65%);mask-image:linear-gradient(100deg,rgba(0,0,0,.38) 35%,#000 50%,rgba(0,0,0,.38) 65%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:loader-sheen 1.8s cubic-bezier(.45,0,.25,1) infinite,loader-in .9s cubic-bezier(.16,1,.3,1) both}
.loader-bar{display:block;width:min(40vw,180px);height:1px;background:rgba(242,236,227,.16);overflow:hidden}
.loader-bar i{display:block;height:100%;background:#d39b8c;transform:scaleX(.08);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.is-loaded .loader{clip-path:inset(0 0 100% 0)}
.is-loaded .loader-mark{animation:loader-out .7s cubic-bezier(.7,0,.84,0) both}
@keyframes loader-sheen{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes loader-in{from{opacity:0;transform:translateY(8px);letter-spacing:.02em}to{opacity:1;transform:none}}
@keyframes loader-out{to{opacity:0;transform:translateY(-14px) scale(.98)}}
@media(prefers-reduced-motion:reduce){.loader-mark{animation:none;-webkit-mask-image:none;mask-image:none}.is-loading .loader{transition:opacity .4s ease}.is-loaded .loader{clip-path:none;opacity:0}.is-loaded .loader-mark{animation:none}}
