:root{--bg:#0F1F1B;--bg2:#142823;--card:#1A312B;--line:#27443C;--cream:#F1EEE4;--dim:#A8B7AF;--accent:#E3B04B;--accent-ink:#1B1405;--teal:#7CC5B4;--num:#375A50;--r:12px;--fs:'Newsreader',Georgia,serif;--fb:'IBM Plex Sans',system-ui,sans-serif;--fm:'IBM Plex Mono',Menlo,monospace}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--bg);color:var(--cream);line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--fs);font-weight:500;letter-spacing:-.01em;line-height:1.15}
img,svg{vertical-align:middle;max-width:100%}
a{color:var(--accent)}
.container{max-width:1160px;margin:0 auto;padding:0 28px}
.mono,.k{font-family:var(--fm)}
.k{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:14px}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;border-radius:8px;font-weight:600;text-decoration:none;text-align:center;padding:12px 20px;font-size:.93rem;border:1px solid transparent;cursor:pointer;font-family:var(--fb)}
.btn-a{background:var(--accent);color:var(--accent-ink)}.btn-a:hover{filter:brightness(1.08)}
.btn-o{border-color:var(--line);color:var(--cream);background:rgba(255,255,255,.03)}.btn-o:hover{background:rgba(255,255,255,.07)}
/* header */
.hd{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:50}
.hd-in{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);min-width:0}
.logo .mark{font-family:var(--fm);font-weight:600;font-size:.8rem;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:4px 8px;flex:none;letter-spacing:.04em}
.logo b{font-family:var(--fs);font-size:1.12rem;font-weight:500;white-space:nowrap}.logo b em{font-style:normal;color:var(--dim);font-weight:400}
nav.main{display:flex;gap:22px;font-size:.88rem;align-items:center;white-space:nowrap}nav.main a{color:var(--dim);text-decoration:none;font-weight:500}nav.main a:hover{color:var(--cream)}
.hd .btn{padding:9px 14px;font-size:.86rem}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:9px 10px;cursor:pointer}.nav-toggle span{display:block;width:20px;height:2px;background:var(--cream);margin:4px 0;border-radius:2px}
/* hero */
.hero{padding:60px 0 56px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;left:-200px;top:-260px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(124,197,180,.14),transparent 62%);pointer-events:none}
.hero-in{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;position:relative}
.hero-in.solo{grid-template-columns:1fr;max-width:840px}
.eyebrow{font-family:var(--fm);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:18px;display:block}.eyebrow b{color:var(--accent);font-weight:600}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.5rem);margin-bottom:18px;color:#fff}
.hero h1 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:6px}
.hero p.sub{color:var(--dim);font-size:1.04rem;max-width:560px;margin-bottom:22px}
.trig{display:flex;flex-direction:column;gap:0;margin-bottom:24px;border:1px solid var(--line);border-radius:10px;background:var(--card);max-width:560px}
.trig span{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline;padding:10px 14px;border-bottom:1px dashed var(--line);font-size:.9rem;color:var(--cream)}.trig span:last-child{border-bottom:0}
.trig b{font-family:var(--fm);font-size:.78rem;color:var(--accent);font-weight:600;white-space:nowrap}
.ctas{display:flex;gap:12px;flex-wrap:wrap}.note{margin-top:14px;font-size:.82rem;color:var(--dim)}
/* form as terminal card */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 0 22px;box-shadow:0 34px 70px rgba(0,0,0,.5);scroll-margin-top:90px}
.form-card .fh{display:flex;gap:6px;padding:12px 18px;border-bottom:1px solid var(--line);align-items:center}.form-card .fh i{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}.form-card .fh i:first-child{background:var(--accent)}.form-card .fh small{margin-left:auto;font-family:var(--fm);font-size:.66rem;color:var(--dim);letter-spacing:.1em}
.form-card h3{font-size:1.28rem;margin:18px 22px 4px;color:#fff}.form-card p.fs{font-size:.83rem;color:var(--dim);margin:0 22px 14px}
.f{display:flex;flex-direction:column;gap:5px;margin:0 22px 11px}.f label{font-family:var(--fm);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.f input,.f select,.f textarea{border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;font-size:.93rem;background:var(--bg);color:var(--cream);width:100%}
.f input::placeholder,.f textarea::placeholder{color:#6F847B}.f select{color:var(--cream)}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:0}.row .f:first-child{margin-right:6px}.row .f:last-child{margin-left:6px}
.fbtn{display:block;width:calc(100% - 44px);margin:6px 22px 0;border:0;border-radius:8px;padding:14px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.98rem;cursor:pointer;font-family:var(--fb)}.fbtn:hover{filter:brightness(1.07)}
.fn{font-size:.75rem;color:var(--dim);text-align:center;margin:10px 22px 0;line-height:1.5}.fstatus{font-size:.86rem;margin:10px 22px 0;color:var(--teal);text-align:center}
/* trust board */
.board{border-bottom:1px solid var(--line);background:var(--bg2)}.board-in{display:grid;grid-template-columns:repeat(4,1fr)}
.board-in div{padding:22px 20px;border-right:1px solid var(--line)}.board-in div:last-child{border-right:0}
.board b{font-family:var(--fs);font-size:1.5rem;display:block;margin-bottom:3px;color:#fff}.board span{font-size:.78rem;color:var(--dim);line-height:1.45;display:block}
/* sections */
.sec{padding:70px 0;border-top:1px solid var(--line)}.sec.alt{background:var(--bg2)}
h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:12px;color:#fff}.lead{color:var(--dim);max-width:640px;margin-bottom:34px}
.sec-head{margin-bottom:28px}.sec-head.center{text-align:center}.sec-head.center .lead{margin-left:auto;margin-right:auto}
/* photo slider */
.ps{position:relative}.ps-track{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (min-width:1001px){.ps-track.n6{grid-template-columns:repeat(6,1fr)}.ps-track.n4{grid-template-columns:repeat(4,1fr)}.ps-track.n3{grid-template-columns:repeat(3,1fr)}}
.ps-slide{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--cream)}
.ps-slide img{width:100%;height:auto;aspect-ratio:auto 3/4;object-fit:cover}.ps-slide span{display:block;padding:12px 14px;font-family:var(--fs);font-size:1.02rem;line-height:1.3}.ps-slide small{display:block;color:var(--accent);font-family:var(--fm);font-size:.66rem;margin-top:5px;letter-spacing:.04em}
/* editorial rows */
.rows{border-top:1px solid var(--line)}
.rowx{display:grid;grid-template-columns:72px 1fr auto;gap:22px;align-items:center;padding:22px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.rowx:hover{background:var(--bg2)}
.rowx .n{font-family:var(--fm);font-size:1.7rem;color:var(--num);font-weight:600}.rowx h3{font-size:1.3rem;margin-bottom:3px;color:#fff}.rowx .sy{font-size:.84rem;color:var(--dim)}
.rowx .pr{text-align:right;min-width:150px;font-family:var(--fm);font-size:.72rem;color:var(--accent);letter-spacing:.04em}
/* cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card i{display:block;font-style:normal;font-family:var(--fm);font-size:.68rem;color:var(--accent);letter-spacing:.12em;margin-bottom:8px}.card h3{font-size:1.06rem;margin-bottom:6px;color:#fff}.card p{font-size:.88rem;color:var(--dim)}
/* svc rows (thumb cards) */
.svc-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.svc-rows.two{grid-template-columns:repeat(2,1fr)}
.svc-row{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;text-decoration:none;color:var(--cream)}.svc-row:hover{border-color:var(--accent)}
.svc-thumb{flex:0 0 72px;width:72px;height:92px;border-radius:8px;overflow:hidden}.svc-thumb img{width:100%;height:100%;object-fit:cover}
.svc-txt h3{font-size:1.02rem;margin-bottom:3px;color:#fff}.svc-txt p{font-size:.82rem;color:var(--dim);line-height:1.45}.svc-price{display:block;margin-top:5px;font-family:var(--fm);font-size:.66rem;color:var(--accent)}
/* code strip (symptom files) */
.code-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.code-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--cream)}.code-card:hover{border-color:var(--accent)}
.code-card .cc{font-family:var(--fm);font-size:.7rem;color:var(--accent);letter-spacing:.1em;display:block;margin-bottom:8px}.code-card h3{font-size:1.06rem;color:#fff;margin-bottom:4px}.code-card p{font-size:.85rem;color:var(--dim)}.code-card .go{display:block;margin-top:8px;font-family:var(--fm);font-size:.66rem;color:var(--teal)}
/* area grid */
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.area-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--cream)}.area-card:hover{border-color:var(--accent)}
.area-card .z{font-family:var(--fm);font-size:.66rem;color:var(--teal);letter-spacing:.1em;display:block;margin-bottom:6px}.area-card h3{font-size:1.06rem;margin-bottom:4px;color:#fff}.area-card p{font-size:.84rem;color:var(--dim)}.area-card .go{font-family:var(--fm);font-size:.66rem;color:var(--accent);display:block;margin-top:8px}
/* content */
.content-grid{display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.prose{min-width:0}.prose h2{margin-top:32px;font-size:clamp(1.45rem,2.4vw,2rem)}.prose h2:first-of-type{margin-top:0}.prose p{margin-bottom:14px;color:#D3D9D3;font-size:.97rem;line-height:1.72}.prose a{font-weight:600}
.photo-intro{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start;margin-bottom:8px}
.pi-photo{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--card)}.pi-photo img{width:100%;height:auto}.pi-photo figcaption{font-family:var(--fm);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:10px 12px;background:var(--bg2)}
.jobgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 12px}.job{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 var(--r) var(--r) 0;padding:14px 16px}.job h4{font-size:1.02rem;margin-bottom:4px;color:#fff}.job p{font-size:.88rem;color:var(--dim);margin:0}
.checklist{list-style:none;margin:6px 0 14px}.checklist li{position:relative;padding:9px 0 9px 30px;border-bottom:1px dashed var(--line);color:#D3D9D3}.checklist li:before{content:"›";position:absolute;left:8px;top:6px;color:var(--accent);font-weight:700;font-family:var(--fm);font-size:1.1rem}
.tip-box{background:rgba(227,176,75,.1);border:1px solid rgba(227,176,75,.35);border-left:4px solid var(--accent);padding:14px 18px;border-radius:0 var(--r) var(--r) 0;margin:16px 0;color:#F3EBD6}
.tbl-wrap{overflow-x:auto;margin:10px 0 18px;border:1px solid var(--line);border-radius:var(--r)}.tbl{width:100%;border-collapse:collapse;font-size:.9rem}.tbl th{background:var(--bg2);color:var(--teal);text-align:left;padding:11px 13px;font-family:var(--fm);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.tbl td{padding:11px 13px;border-top:1px solid var(--line);vertical-align:top;color:#D3D9D3}.tbl td:first-child{font-family:var(--fm);font-size:.82rem;color:var(--accent)}
.notegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 14px}.jnote{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.jnote .tagline{font-family:var(--fm);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.jnote h4{font-size:1rem;margin:4px 0;color:#fff}.jnote p{font-size:.87rem;color:var(--dim);margin:0}
.hub-svc{border-top:1px solid var(--line);padding-top:8px;margin-top:22px}.hub-svc .pr{font-family:var(--fm);font-size:.68rem;color:var(--accent);margin:-4px 0 10px}
.qa-wrap{margin:6px 0 10px}.qa-item{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden}.qa-item summary{cursor:pointer;padding:14px 44px 14px 16px;font-family:var(--fs);font-size:1.05rem;list-style:none;position:relative;color:#fff}.qa-item summary::-webkit-details-marker{display:none}.qa-item summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--fm);color:var(--accent);font-size:1.15rem}.qa-item[open] summary:after{content:"−"}.qa-a{padding:0 16px 14px}.qa-a p{font-size:.9rem;color:var(--dim);margin:0;line-height:1.7}
.chip-cloud{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 16px}.chip{background:var(--card);border:1px solid var(--line);color:var(--cream);padding:6px 13px;border-radius:999px;font-size:.84rem;font-weight:500;text-decoration:none}.chip:hover{border-color:var(--accent);color:var(--accent)}
.content-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:88px}.info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}.info-card b{font-family:var(--fs);font-size:1.05rem;display:block;margin-bottom:6px;color:#fff}.info-card p{font-size:.9rem;color:var(--dim)}
.aside-links a{display:block;padding:8px 0;border-bottom:1px dashed var(--line);text-decoration:none;color:var(--cream);font-weight:500;font-size:.9rem}.aside-links a:last-child{border-bottom:0}.aside-links a:hover{color:var(--accent)}
/* steps */
.steps4{display:grid;grid-template-columns:1fr 1fr;gap:6px 44px}.step4{display:flex;gap:16px;padding:18px 0;border-bottom:1px dashed var(--line)}.step4-num{font-family:var(--fm);color:var(--accent);font-weight:600;flex:none;font-size:.78rem;padding-top:4px;letter-spacing:.1em}.step4 h3{font-size:1.08rem;margin-bottom:4px;color:#fff}.step4 p{font-size:.88rem;color:var(--dim)}
/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gal-item{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.gal-item a{display:block}.gal-item img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.gal-item figcaption{font-size:.84rem;color:var(--dim);padding:12px 14px;line-height:1.5}
/* cta band */
.cta-band{background:var(--accent);color:var(--accent-ink);padding:48px 0}.cta-band-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}.cta-band h2{color:var(--accent-ink);margin-bottom:6px}.cta-band p{color:#4a3a12}.cta-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.cta-band .btn-a{background:var(--bg);color:var(--cream)}.cta-band .btn-o{border-color:rgba(0,0,0,.35);color:var(--accent-ink)}
/* footer */
.ft{border-top:1px solid var(--line);padding:50px 0 24px;background:var(--bg)}.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.ft h4{color:#fff;font-size:.95rem;margin-bottom:10px}.ft ul{list-style:none}.ft li{margin-bottom:6px}.ft a{color:var(--dim);text-decoration:none;font-size:.9rem}.ft a:hover{color:var(--accent)}
.ft-brand p{font-size:.9rem;margin:12px 0;color:var(--dim)}.ft address{font-style:normal;font-size:.9rem;line-height:1.7;color:var(--dim)}
.ft-bottom{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.76rem;font-family:var(--fm);color:var(--dim)}
.call-fab,.book-fab{display:none}
/* responsive */
@media (max-width:1000px){.content-grid{grid-template-columns:1fr}.content-aside{position:static}.ps-track{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:1fr 1fr}.ft-grid{grid-template-columns:1fr 1fr}.svc-rows,.code-grid,.area-grid{grid-template-columns:1fr 1fr}nav.main{gap:14px}nav.main a{font-size:.82rem}}
@media (max-width:820px){.logo b{font-size:1rem}.logo b em{display:none}.logo .mark{display:none}.hd .btn{padding:9px 12px;font-size:.82rem}nav.main{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 22px 14px;white-space:normal}nav.main.open{display:flex}nav.main a{padding:10px 0;border-bottom:1px solid var(--line)}.nav-toggle{display:block}
.hero{padding:34px 0 40px}.hero-in{grid-template-columns:1fr;gap:22px}body:not(.form-open) .hero .form-card{display:none}.trig span{grid-template-columns:82px 1fr;font-size:.86rem}
.board-in{grid-template-columns:1fr 1fr}.board-in div{padding:14px 16px}.board-in div:nth-child(2){border-right:0}.ps-track{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;padding-bottom:6px}.ps-slide{flex:0 0 68vw;max-width:280px;scroll-snap-align:start}
.cards,.steps4,.svc-rows,.svc-rows.two,.code-grid,.area-grid,.jobgrid,.notegrid,.gal-grid,.cta-band-grid{grid-template-columns:1fr}.cta-btns{justify-content:flex-start}.photo-intro{grid-template-columns:1fr}.ft-grid{grid-template-columns:1fr}.sec{padding:44px 0}.rowx{grid-template-columns:48px 1fr}.rowx .pr{grid-column:2;text-align:left;min-width:0}.row{grid-template-columns:1fr}.row .f{margin-left:22px;margin-right:22px}
body{padding-bottom:80px;overflow-x:hidden}
.call-fab{display:flex;position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--accent-ink);align-items:center;justify-content:center;font-size:1.3rem;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.45);z-index:60}
.book-fab{display:inline-flex;position:fixed;left:16px;bottom:18px;z-index:60;background:var(--card);border:1px solid var(--line);color:var(--cream);border-radius:999px;padding:11px 15px;font-weight:600;font-size:.86rem;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.45)}.book-fab b{font-family:var(--fm);font-size:.64rem;color:var(--accent);margin-right:8px}}

/* Homepage editorial diagnostic image */
.hero-visual{position:relative;margin:28px 0 0;max-width:560px;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:var(--card)}
.hero-visual img{display:block;width:100%;height:210px;object-fit:cover;object-position:center 54%}
.hero-visual figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:22px 14px 10px;background:linear-gradient(transparent,rgba(9,22,18,.88));font-family:var(--fm);font-size:.72rem;letter-spacing:.08em;color:#fff}
.hero-visual figcaption span{font-family:var(--fb);font-size:.75rem;letter-spacing:0;color:#d5ddd8}
.ps-slide:hover,.gal-item:hover{transform:translateY(-3px);border-color:var(--accent);transition:transform .18s ease,border-color .18s ease}
@media (max-width:820px){.hero-visual{margin-top:22px}.hero-visual img{height:185px}}
@media (prefers-reduced-motion:reduce){.ps-slide:hover,.gal-item:hover{transform:none}}
