@font-face{font-family:'Inter Tight';src:url(fonts/InterTight.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--b:#0E1A17;--b2:#12221E;--p:#1B3D2F;--a:#C9A45C;--a2:#D9B977;--t:#F3EDE0;--hl:rgba(201,164,92,.45);--hl2:rgba(201,164,92,.22);--dim:rgba(243,237,224,.72);--pad:22px;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--grain),var(--b);color:var(--t);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;min-height:100vh}
em,i{font-style:normal}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--a);color:var(--b);padding:10px 16px;z-index:99}.skip:focus{left:10px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.s{font-weight:800;letter-spacing:-.045em;line-height:.95}
.cap{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;line-height:1.5}
.g{color:var(--a)}.dim{color:var(--dim)}
.hr{border-top:1px solid var(--hl)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--a);color:var(--b);border:1px solid var(--a);border-radius:0;font:700 13px/1 'Inter Tight',sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:20px 28px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:56px}
.btn:hover{background:var(--a2);border-color:var(--a2)}
.btn.ghost{background:transparent;color:var(--t);border-color:var(--hl)}.btn.ghost:hover{border-color:var(--a);color:var(--a)}
.btn .arr{font-size:16px;letter-spacing:0}
/* nav */
.nav{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad);max-width:1280px;margin:0 auto}
.logo{display:flex;align-items:center;text-decoration:none}.logo img{display:block;height:58px;width:auto}.foot .logo img{height:60px}@media(max-width:600px){.logo img{height:40px}}
.logo b{font-weight:800;font-size:24px;letter-spacing:-.045em}
.logo span{color:var(--a);font-size:9px;letter-spacing:.3em;font-weight:700}
.menu{display:none}
.menu a{text-decoration:none}
.menu a:hover,.menu a[aria-current]{color:var(--a)}
.nav-cta{display:none}
.burger{background:none;border:1px solid var(--hl);color:var(--t);width:48px;height:48px;display:grid;place-items:center;cursor:pointer}
.burger i{display:block;width:18px;height:1px;background:var(--t);box-shadow:0 -6px 0 var(--t),0 6px 0 var(--t)}
.drawer{display:none;position:absolute;top:100%;left:0;right:0;background:var(--grain),var(--b2);border-top:1px solid var(--hl);border-bottom:1px solid var(--hl);padding:10px var(--pad) 24px}
.drawer.open{display:block}
.drawer a{display:block;padding:16px 0;border-bottom:1px solid var(--hl2);text-decoration:none;font-weight:800;font-size:24px;letter-spacing:-.04em}
.drawer .btn{margin-top:20px;width:100%}
.navline{max-width:1280px;margin:0 auto;padding:0 var(--pad)}.navline div{border-top:1px solid var(--hl)}
/* hero */
.hero{position:relative;overflow:hidden;background:var(--grain),radial-gradient(ellipse 90% 60% at 90% 15%,rgba(27,61,47,.95),transparent 70%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(0,0,0,.45),transparent),var(--b)}
.cols{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 159px,rgba(255,255,255,.03) 159px 160px);pointer-events:none}
.arch{position:absolute;border:1px solid var(--hl);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.arch.a1{width:300px;height:420px;right:-60px;bottom:0}
.arch.a2{width:250px;height:380px;right:-35px;bottom:0;opacity:.5;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 60%)}
.hero-in{position:relative;padding:56px var(--pad) 64px;max-width:1280px;margin:0 auto}
.hero h1{font-size:clamp(54px,14.5vw,136px);margin-top:22px}
.hero h1 .g{display:block;margin-top:.1em}
.hero-foot{margin-top:44px;display:grid;gap:34px}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.btns .btn{flex:1 1 220px}
.hero-note{max-width:360px}.hero-note p{padding-top:18px;color:var(--dim);font-size:15px;line-height:1.65}
/* ticker */
.ticker{border-top:1px solid var(--hl);border-bottom:1px solid var(--hl);padding:20px 0;overflow:hidden;white-space:nowrap;background:var(--b)}
.ticker .track{display:inline-flex;animation:tick 60s linear infinite}
.ticker span{font-weight:800;letter-spacing:-.04em;font-size:20px}
.ticker .d{display:inline-block;width:6px;height:6px;background:var(--a);transform:rotate(45deg);margin:0 30px;align-self:center}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .track{animation:none}html{scroll-behavior:auto}}
/* sections */
section{position:relative}
.sec{padding:84px 0}
.h2{font-size:clamp(42px,9vw,76px);margin-top:22px}
.lead{margin-top:24px;font-size:17px;line-height:1.65;color:var(--dim);max-width:460px}
.pan{background:var(--grain),radial-gradient(ellipse 60% 120% at 85% 0%,rgba(27,61,47,.85),transparent 75%),#14302A;border-top:1px solid var(--hl);border-bottom:1px solid var(--hl)}
.split{display:grid;gap:48px}
.rows .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;border-top:1px solid var(--hl)}
.rows .row:last-child{border-bottom:1px solid var(--hl)}
.rows .row .n{font-size:16px}.rows .row .n small{display:block;color:var(--dim);font-size:13px;margin-top:2px}
.rows .row .v{white-space:nowrap;text-align:right}
.rows .row .v b{font-weight:800;letter-spacing:-.045em;font-size:clamp(28px,6vw,40px)}
.rows .row .v .cap{margin-left:10px;font-size:10px;color:var(--dim)}
.rows .row.fee .n,.rows .row.fee b{color:var(--a)}
.fine{margin-top:22px;font-size:14px;color:var(--dim);line-height:1.6;max-width:560px}
.steps{display:grid;gap:40px;margin-top:48px}
.step{border-top:1px solid var(--hl);padding-top:26px}
.step .num{font-weight:800;letter-spacing:-.045em;color:var(--a);font-size:64px;line-height:1}
.step h3{font-weight:800;letter-spacing:-.04em;font-size:26px;margin:18px 0 10px;line-height:1.1}
.step p{color:var(--dim);max-width:320px}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
/* compare */
.cmp{margin-top:48px;border-top:1px solid var(--hl)}
.cmp .r{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--hl2)}
.cmp .r>div:first-child{color:var(--t)}
.cmp .r>div:last-child{color:var(--dim)}
.cmp .hd{padding:16px 0}
.cmp .k{grid-column:1/-1;font-weight:800;letter-spacing:-.03em;font-size:19px;margin-bottom:-6px}
.cmp .yes::before{content:"";display:inline-block;width:6px;height:6px;background:var(--a);transform:rotate(45deg);margin-right:12px;vertical-align:middle}
/* temps */
.temps{overflow:hidden}
.temps .arch.a3{width:380px;height:520px;left:-120px;bottom:0;opacity:.6}
.checks{list-style:none;margin-top:30px}
.checks li{padding:16px 0 16px 28px;border-top:1px solid var(--hl2);position:relative}
.checks li:last-child{border-bottom:1px solid var(--hl2)}
.checks li::before{content:"";position:absolute;left:2px;top:25px;width:6px;height:6px;background:var(--a);transform:rotate(45deg)}
/* quote */
.quote{text-align:center;padding:100px 0}
.quote blockquote{font-weight:800;letter-spacing:-.04em;font-size:clamp(30px,6.4vw,54px);line-height:1.12;max-width:1000px;margin:30px auto 0;text-wrap:balance}
/* cta */
.cta{text-align:center;padding:96px 0;overflow:hidden}
.cta .arch{left:50%;transform:translateX(-50%);width:min(560px,92vw);height:100%;bottom:0;opacity:.7}
.cta .h2{max-width:900px;margin-left:auto;margin-right:auto}
.cta .btns{justify-content:center;margin-top:36px}
.cta .btns .btn{flex:0 1 280px}
/* footer */
footer{padding:44px 0 36px}
.foot{display:grid;gap:28px;border-top:1px solid var(--hl);padding-top:34px}
.foot .tag{font-weight:800;letter-spacing:-.04em;font-size:20px;line-height:1.2}
.foot .tag small{display:block;margin-top:6px;font-weight:400;letter-spacing:0;font-size:14px;line-height:1.45;opacity:.78}
.foot nav{display:flex;flex-wrap:wrap;gap:12px 26px}
.foot nav a{text-decoration:none;color:var(--dim)}.foot nav a:hover{color:var(--a)}
.foot .mail{color:var(--a);text-decoration:none;border-bottom:1px solid var(--hl)}
.legal{margin-top:34px;color:var(--dim);font-size:13px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
/* page head */
.phead{position:relative;overflow:hidden;padding:56px 0 48px;border-bottom:1px solid var(--hl)}
.phead h1{font-size:clamp(48px,11vw,104px);margin-top:20px}
.phead .arch.a1{opacity:.7}
/* forms */
.formgrid{display:grid;gap:48px;padding:56px 0 90px}
.aside p{color:var(--dim);margin-top:14px}
.aside .box{border:1px solid var(--hl);padding:22px;margin-top:28px}
form{display:grid;gap:22px}
fieldset{border:0;display:grid;gap:22px}
legend{margin-bottom:6px}
.f{display:grid;gap:8px}
.f2{display:grid;gap:22px}
label,.lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--dim)}
label .req{color:var(--a)}
input,select,textarea{width:100%;font:500 17px/1.4 'Inter Tight',sans-serif;color:var(--t);background:rgba(14,26,23,.6);border:0;border-bottom:1px solid var(--hl);border-radius:0;padding:12px 2px;min-height:50px;-webkit-appearance:none;appearance:none;color-scheme:dark}
textarea{min-height:110px;resize:vertical;border:1px solid var(--hl2);padding:12px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--a);background:rgba(27,61,47,.35)}
select{background-image:linear-gradient(45deg,transparent 50%,var(--a) 50%),linear-gradient(135deg,var(--a) 50%,transparent 50%);background-position:calc(100% - 16px) 22px,calc(100% - 10px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:30px}
select option{background:var(--b);color:var(--t)}
input[type=file]{border:1px dashed var(--hl);padding:14px;font-size:14px}
input[type=file]::file-selector-button{font:700 11px 'Inter Tight';letter-spacing:.2em;text-transform:uppercase;background:transparent;color:var(--a);border:1px solid var(--a);padding:10px 14px;margin-right:14px;cursor:pointer}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.roles label{position:relative;display:block;cursor:pointer}
.roles input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.roles label>span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--hl2);padding:14px;letter-spacing:-.02em;text-transform:none;font-size:16px;font-weight:800;color:var(--t);min-height:64px;justify-content:center}
.roles label>span small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:600}
.roles input:checked+span{border-color:var(--a);background:rgba(201,164,92,.1);color:var(--a)}
.roles input:focus-visible+span{outline:2px solid var(--a);outline-offset:2px}
.same{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--a);padding:16px 18px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:15px;color:var(--t);font-weight:500}
.same input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:26px;height:26px;min-height:0;min-width:26px;flex:none;margin:0;padding:0;border:2px solid var(--a2);border-radius:5px;background:rgba(243,237,224,.06) center/18px 18px no-repeat;cursor:pointer;transition:background-color .15s,border-color .15s}
.same input[type=checkbox]:checked{background-color:var(--a);border-color:var(--a);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23F3EDE0' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.same input[type=checkbox]:focus-visible{outline:3px solid var(--t);outline-offset:3px}
.same:has(input[type=checkbox]:checked){background:rgba(201,164,92,.10)}
.same:has(input[type=checkbox]:focus-visible){border-color:var(--a2)}
.same b{display:block;color:var(--a);font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:4px}
.hint{font-size:13px;color:var(--dim);text-transform:none;letter-spacing:0;font-weight:400}
.submit{display:grid;gap:12px;margin-top:6px}
.submit .btn{width:100%}
.submit .cap{text-align:center;color:var(--dim);font-size:10px}
.status{border:1px solid var(--a);padding:18px;display:none;border-radius:16px;background:rgba(19,34,30,.96)}
.status.show{display:block}
.status.err{border-color:#E39B7B}
.hp{position:absolute;left:-9999px}
/* prose */
.prose{max-width:760px;padding:56px 0 90px}
.prose h2{font-weight:800;letter-spacing:-.035em;font-size:26px;margin:40px 0 12px}
.prose p,.prose li{color:var(--dim);margin-top:10px}
.prose ul{padding-left:20px}
.badge{display:inline-block;border:1px solid var(--a);color:var(--a);padding:8px 12px}
@media (min-width:760px){
 :root{--pad:48px}
 .split{grid-template-columns:6fr 5fr;gap:80px}
 .steps{grid-template-columns:repeat(3,1fr);gap:0}.step{padding-right:36px}
 .hero-foot{grid-template-columns:1fr auto;align-items:end}
 .btns .btn{flex:0 0 auto}
 .f2{grid-template-columns:1fr 1fr}
 .roles{grid-template-columns:repeat(3,1fr)}
 .foot{grid-template-columns:auto 1fr auto;align-items:center}.foot .tag{text-align:center}
 .formgrid{grid-template-columns:4fr 7fr;gap:80px}
 .aside{position:sticky;top:100px;align-self:start}
 .joingrid{row-gap:22px}.joingrid>.quickjoin{margin:0}.joingrid>.aside{grid-row:1 / span 3}.joingrid>.quickjoin,.joingrid>.teaser,.joingrid>form{grid-column:2;align-self:start}
 .cmp .r{grid-template-columns:1.1fr 1fr 1fr;gap:30px}.cmp .k{grid-column:auto;margin:0}
}
@media (min-width:1024px){
 :root{--pad:80px}
 .menu{display:flex;gap:34px;align-items:center}
 .nav-cta{display:inline-block;color:var(--a);border-bottom:1px solid var(--a);padding-bottom:4px}
 .burger,.drawer{display:none!important}
 .nav{padding:32px var(--pad)}
 .hero-in{padding:120px var(--pad) 76px;min-height:740px;display:flex;flex-direction:column;justify-content:space-between}
 .arch.a1{width:520px;height:700px;right:90px}
 .arch.a2{width:440px;height:640px;right:130px}
 .sec{padding:130px 0}
 .ticker span{font-size:22px}
 .phead{padding:90px 0 70px}
 .quote{padding:140px 0}
}
.legal nav{display:flex;flex-wrap:wrap;gap:10px 22px}.legal nav a{color:var(--dim);text-decoration:none}.legal nav a:hover{color:var(--a)}
.foot .mail,.foot .logo{justify-self:start}
@media (max-width:759px){.cmp .hd>div:first-child{display:none}.hero h1{font-size:clamp(46px,12.6vw,60px)}}
@media (min-width:760px){.foot .mail{justify-self:end}}
.foot .reach{display:flex;flex-direction:column;align-items:flex-start;gap:10px;justify-self:start}@media (min-width:760px){.foot .reach{justify-self:end;align-items:flex-end}}
@media (min-width:1024px){.temps .arch.a3{width:520px;height:640px;left:-160px}}
.formgrid{padding:56px var(--pad) 90px}
.phead .arch.a1{width:260px;height:250px;right:8%}.phead .arch.a2{width:200px;height:210px;right:calc(8% + 30px)}
@media (min-width:1024px){.phead .arch.a1{width:340px;height:330px;right:12%}.phead .arch.a2{width:270px;height:290px;right:calc(12% + 35px)}}
.why{display:grid;gap:44px;margin-top:48px}
.whyc .checks{margin-top:18px}.checks li b{font-weight:700;color:var(--t)}.checks li{color:var(--dim)}
.rwgrid{display:grid;gap:22px;margin-top:48px}
.rw{border:1px solid var(--hl);padding:26px 22px;background:rgba(14,26,23,.35);position:relative}
.rw::before{content:"";position:absolute;top:-1px;left:22px;width:46px;height:2px;background:var(--a)}
.rwi{display:grid;grid-template-columns:118px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--hl2)}.rwi:last-child{border-bottom:0;padding-bottom:0}
.rwv{color:var(--a);font-size:26px;line-height:1.05}
.rwi h3{font-weight:800;letter-spacing:-.03em;font-size:19px;line-height:1.2}
.rwi p{color:var(--dim);font-size:15px;margin-top:4px}
@media (min-width:760px){.why,.rwgrid{grid-template-columns:1fr 1fr;gap:40px}.rw{padding:34px 34px}.rwi{grid-template-columns:150px 1fr}.rwv{font-size:30px}}
.hero-note p+p{padding-top:12px}.hero-note .hook{color:var(--t);font-weight:700;letter-spacing:-.01em;font-size:17px;line-height:1.4}.hook-cta{font-weight:700;text-decoration:none;border-bottom:1px solid var(--a)}
@media (min-width:1024px){.hero-note{max-width:420px}}
.guard{display:flex;gap:14px;align-items:flex-start;margin-top:30px;border:1px solid var(--a);padding:18px 20px;background:rgba(14,26,23,.4)}
.guard .dia{flex:none;width:8px;height:8px;background:var(--a);transform:rotate(45deg);margin-top:8px}
.guard p{color:var(--dim)}.guard b{color:var(--t);font-weight:700}
.ratefield{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 8px;position:relative}
.ratefield .dollar{font-weight:800;font-size:22px;color:var(--a);padding-bottom:10px}
.ratefield input{font-weight:800;font-size:22px;letter-spacing:-.02em;-moz-appearance:textfield}
.ratefield.sm{max-width:240px}.ratefield.sm .dollar{font-size:17px;padding-bottom:12px}.ratefield.sm input{font-size:17px;font-weight:600}
.ratefield input::-webkit-outer-spin-button,.ratefield input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rangebox{grid-column:1/-1;margin-top:10px;border:1px solid var(--hl);padding:10px 14px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rangebox .cap{font-size:10px;color:var(--dim)}.rangebox b{font-weight:800;letter-spacing:-.03em;color:var(--a);font-size:18px}
.f.bad input{border-color:#E39B7B}.f.bad .hint{color:#E8B39C}
@media (min-width:760px){.ratefield{grid-template-columns:auto 1fr 220px}.rangebox{grid-column:auto;margin-top:0}}
.rangebox b{white-space:nowrap}.rangebox .cap{white-space:nowrap}
@media (min-width:760px){.ratefield{grid-template-columns:auto 1fr 260px}}
/* eyebrow pattern */
.ex{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:700;color:var(--a);margin-bottom:14px}
.ex i{display:inline-block;width:22px;height:1px;background:var(--a);position:relative}
.ex i::after{content:"";position:absolute;right:-3px;top:-3px;width:6px;height:6px;background:var(--a);transform:rotate(45deg)}
.hero .ex,.phead .ex{display:flex}
.stds{display:grid;gap:0;margin-top:48px;border-top:1px solid var(--hl)}
.std{padding:28px 0;border-bottom:1px solid var(--hl2)}
.stdn{color:var(--a);font-size:15px;letter-spacing:.1em}
.std h3{font-weight:800;letter-spacing:-.035em;font-size:24px;margin:10px 0 8px;line-height:1.1}
.std p{color:var(--dim);max-width:520px}
@media (min-width:760px){.stds{grid-template-columns:1fr 1fr;column-gap:60px}}
@media (min-width:1024px){.stds{grid-template-columns:repeat(4,1fr);column-gap:36px}.std{border-bottom:0;padding-right:8px}}
.atty{color:#E8B39C;font-size:13px;letter-spacing:.02em}
.accept{margin-top:44px;border:1px solid var(--a);padding:22px}
.prose ul li::marker{color:var(--a)}
/* booking app */
.appbox{padding:48px 0 90px;max-width:760px}
#app[data-page=admin]{max-width:none}
.rows .row .v b.sm{font-size:18px;letter-spacing:-.02em}
.tbl{overflow-x:auto;margin-top:20px;border:1px solid var(--hl2)}
.tbl table{border-collapse:collapse;width:100%;font-size:14px}
.tbl th{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--a);text-align:left;padding:12px;border-bottom:1px solid var(--hl);white-space:nowrap}
.tbl td{padding:12px;border-bottom:1px solid var(--hl2);vertical-align:top}
.tbl small{color:var(--dim)}
.pill{display:inline-block;border:1px solid var(--hl);padding:3px 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.pill.confirmed,.pill.approved{border-color:var(--a);color:var(--a)}.pill.cancelled,.pill.denied{color:#E8B39C;border-color:#E8B39C}
.mini{font:700 11px 'Inter Tight';letter-spacing:.15em;text-transform:uppercase;background:var(--a);color:var(--b);border:1px solid var(--a);padding:8px 10px;margin:0 6px 6px 0;cursor:pointer}
.mini.ghost{background:transparent;color:var(--t);border-color:var(--hl)}
/* onboarding + admin portal */
.licbox{border:1px solid var(--hl2);padding:20px}
.agree-text{max-height:380px;overflow:auto;border:1px solid var(--hl);padding:18px 20px;background:var(--b2);font-size:15px;line-height:1.6}
.agree-text h3{color:var(--a);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:22px 0 6px}
.agree-text p{color:var(--dim);margin-top:8px}
.agree-text table{border-collapse:collapse;width:100%}.agree-text th,.agree-text td{text-align:left;padding:6px;border-bottom:1px solid var(--hl2)}
.step-h{font-weight:800;letter-spacing:-.03em;font-size:26px;margin:44px 0 6px}
.step-h small{display:block;color:var(--a);font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:6px}
.cardbox{border:1px solid var(--a);padding:18px;background:var(--b2);min-height:56px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px;border-bottom:1px solid var(--hl)}
.tabs button{font:700 11px 'Inter Tight',sans-serif;letter-spacing:.22em;text-transform:uppercase;background:transparent;color:var(--dim);border:1px solid transparent;border-bottom:0;padding:12px 16px;cursor:pointer}
.tabs button[aria-selected=true]{color:var(--a);border-color:var(--hl);background:var(--b2)}
.drawer-file{position:fixed;inset:0;background:rgba(14,26,23,.92);z-index:60;overflow:auto;padding:30px 16px}
.drawer-file .in{max-width:900px;margin:0 auto;background:var(--b);border:1px solid var(--a);padding:26px;border-radius:18px}
.drawer-file h3{font-weight:800;letter-spacing:-.03em;font-size:28px}
.filelist a{display:block;margin-top:8px}
.kv{display:grid;grid-template-columns:200px 1fr;gap:6px 16px;margin-top:14px;font-size:14px}.kv span:nth-child(odd){color:var(--a);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.pill.pending_license,.pill.failed,.pill.pending_card{border-color:#E39B7B;color:#E39B7B}
.pill.license_verified,.pill.succeeded,.pill.completed,.pill.active{border-color:var(--a);color:var(--a)}
.actions{display:grid;gap:12px;margin-top:16px;border:1px solid var(--hl2);padding:16px}
.actions input,.actions select{min-height:40px;font-size:15px}
/* calendar */
.calhead{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:24px}
.caltitle{font-weight:800;letter-spacing:-.03em;font-size:26px}
.calhead .btns{display:flex;gap:6px;margin:0}
.cal{margin-top:14px;border:1px solid var(--hl2)}
.cal.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal .dow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--a);padding:10px 8px;border-bottom:1px solid var(--hl)}
.cal .day{min-height:112px;padding:6px;border-right:1px solid var(--hl2);border-bottom:1px solid var(--hl2);display:flex;flex-direction:column;gap:4px;min-width:0}
.cal .day.other{opacity:.38}.cal .day.today{background:rgba(27,61,47,.35)}
.cal .dn{background:none;border:0;color:var(--t);font:700 13px 'Inter Tight',sans-serif;text-align:left;cursor:pointer;padding:2px}
.cal .day.today .dn{color:var(--a)}
.cal.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal.week .day{min-height:260px}
.ev{display:block;width:100%;text-align:left;font:500 12px/1.3 'Inter Tight',sans-serif;padding:4px 6px;border:1px solid;border-left-width:4px;background:var(--b2);color:var(--t);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal.week .ev{white-space:normal}.ev span{color:var(--dim)}.ev .evs{display:block;font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:2px}
.st-open{border-color:#8FA8A0;--c:#8FA8A0}
.st-pending_office{border-color:#D9B977;--c:#D9B977}
.st-confirmed{border-color:#3FA37F;background:rgba(27,61,47,.75);--c:#3FA37F}
.st-on_hold_card{border-color:#E39B7B;background:rgba(227,155,123,.12);--c:#E39B7B}
.st-completed{border-color:#C9A45C;background:rgba(201,164,92,.16);--c:#C9A45C}
.st-cancelled{border-color:#6E6A62;color:#9A958B;text-decoration:line-through;--c:#6E6A62}
.st-cancelled span{color:#9A958B}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:12px;color:var(--dim)}
.legend .lg{display:flex;align-items:center;gap:6px;border:0;background:none;text-decoration:none}
.legend .lg i{width:14px;height:14px;display:inline-block;background:var(--c);border:1px solid var(--c)}
.cal.dayv{padding:6px}.dayrow{display:grid;grid-template-columns:150px 1.6fr 1fr auto auto;gap:14px;align-items:center;padding:12px;border:1px solid;border-left-width:5px;margin:6px 0;background:var(--b2)}
.calfeed{border:1px solid var(--a);padding:16px;margin-top:22px;display:grid;gap:10px;background:var(--b2)}
.calfeed .btns{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.calfeed input{font-size:13px;min-height:38px}
.calfeed a.mini{text-decoration:none;display:inline-flex;align-items:center}
@media (max-width:760px){.cal.month .ev span{display:none}.cal.week{grid-template-columns:1fr}.cal.week .day{min-height:0}.dayrow{grid-template-columns:1fr}}
/* reviews */
.stars{color:var(--a);letter-spacing:2px;white-space:nowrap}.stars .off{color:rgba(243,237,224,.22)}
.revlist{display:grid;gap:10px;margin-top:18px}.revlist blockquote{border-left:3px solid var(--a);padding:8px 14px;background:var(--b2)}.revlist p{color:var(--dim);margin-top:4px}
.starpick{display:flex;gap:6px;border:0}.starpick label{cursor:pointer;font-size:44px;line-height:1;color:rgba(243,237,224,.25)}.starpick label.on{color:var(--a)}
.starpick input{position:absolute;opacity:0;width:1px;height:1px}.starpick input:focus-visible+span{outline:2px solid var(--a)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
tr.hiddenrev td{opacity:.45}

/* bonus + member */
.bonus{display:inline-block;background:var(--a);color:#0E1A17;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:2px}
.bonus.sm{font-size:10px;padding:1px 5px;letter-spacing:.06em}
.bonusrow{background:rgba(201,164,92,.10)}
.bonusbox,.memberbox{border:1px solid rgba(201,164,92,.45);padding:16px 18px;display:grid;gap:12px}
.bonusbox legend,.memberbox legend{color:var(--a);font-weight:700;padding:0 6px;letter-spacing:.04em}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{cursor:pointer;position:relative}.chips input{position:absolute;opacity:0;left:0;top:0;width:1px;height:1px;min-height:0;padding:0;margin:0}
.chips span{display:inline-block;border:1px solid rgba(243,237,224,.3);padding:8px 14px}.chips input:checked+span{background:var(--a);color:#0E1A17;border-color:var(--a);font-weight:700}
.chips input:focus-visible+span{outline:2px solid var(--a);outline-offset:2px}

/* cost comparison */
.mathgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0 18px}
.mcard{border:1px solid rgba(201,164,92,.35);padding:26px 26px 20px;background:linear-gradient(160deg,rgba(27,61,47,.55),rgba(14,26,23,.9))}
.mcard.lose{border-color:rgba(243,237,224,.16);background:rgba(243,237,224,.03)}
.mcard h3{font-size:26px;letter-spacing:-.03em;margin:6px 0 16px}
.mrow{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(243,237,224,.1)}.mrow span{color:var(--dim)}.mrow b{white-space:nowrap}
.mrow.tot b{color:var(--a)}
.mres{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 10px}.mres span{font-weight:700}
.mres b{font-size:40px;font-weight:800;letter-spacing:-.04em}.win .mres b{color:var(--a)}.lose .mres b{color:#E39A84}
.mathmini{margin:0 0 30px}.mathmini .mathgrid{margin:12px 0 8px;gap:14px}.mathmini .mcard{padding:16px 18px}.mathmini h3{font-size:19px;margin:0 0 8px}.mathmini .mres b{font-size:28px}
@media(max-width:760px){.mathgrid{grid-template-columns:1fr}}
[hidden]{display:none!important}
.celebrate{color:var(--a);font-weight:800;font-size:20px;letter-spacing:-.02em;margin:4px 0}

/* temp bonus gift */
.gift{display:grid;justify-items:center;text-align:center;gap:10px;margin:6px 0 28px;padding:26px 18px;border:1px solid rgba(201,164,92,.4);background:radial-gradient(circle at 50% 30%,rgba(201,164,92,.16),rgba(14,26,23,0) 65%)}
.giftamt{font-size:clamp(44px,9vw,64px);font-weight:800;letter-spacing:-.04em;color:var(--a);line-height:1;animation:giftpop .5s ease-out both}
.giftnote{font-size:19px;font-weight:600;max-width:420px}
.giftreveal{display:grid;gap:8px;justify-items:center}
@keyframes giftpop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion: reduce){}

.teaser{display:flex;gap:16px;align-items:center;border:1px solid rgba(201,164,92,.4);padding:16px 18px;margin:0 0 26px;background:rgba(201,164,92,.06)}
.teaser p{margin:4px 0 0}.teaser-gift{flex:none;width:34px;height:30px;position:relative;background:linear-gradient(135deg,#C9A45C,#A8853F);border-radius:2px;margin-top:6px}
.teaser-gift::before{content:"";position:absolute;left:-3px;right:-3px;top:-7px;height:9px;background:#E3C88A;border-radius:2px}
.teaser-gift::after{content:"";position:absolute;left:50%;top:-7px;bottom:0;width:7px;transform:translateX(-50%);background:#1B3D2F}
.statline{margin:18px 0 8px;padding:12px 16px;border:1px solid rgba(201,164,92,.35)}.statline b{color:var(--a)}

/* temp bonus gift box: jewelry-box style. Variants: .gv-blue (soft robin's-egg, white satin) and .gv-emerald (emerald, brass) */
.giftbox{--box:#8CCFC6;--box-d:#6FB5AC;--box-l:#B4E3DC;--rib:#FBFAF6;--rib-d:#DCD8CE;position:relative;width:150px;height:150px;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:gwiggle 3.2s ease-in-out infinite;transform-origin:50% 100%}
.giftbox.gv-emerald{--box:#1F6B5A;--box-d:#164F43;--box-l:#2E8A75;--rib:#D8B66E;--rib-d:#A8853F}
.giftbox:focus-visible{outline:2px solid var(--a);outline-offset:8px;border-radius:6px}
.giftbox i{position:absolute;display:block}
.g-base{position:absolute;left:24px;right:24px;bottom:8px;height:86px;border-radius:5px;background:linear-gradient(180deg,var(--box-l) 0%,var(--box) 30%,var(--box-d) 100%);box-shadow:0 16px 26px -10px rgba(0,0,0,.6),inset 0 -8px 14px rgba(0,0,0,.12)}
.g-lid{position:absolute;left:16px;right:16px;top:40px;height:28px;border-radius:5px;z-index:2;background:linear-gradient(180deg,var(--box-l),var(--box) 60%,var(--box-d));box-shadow:0 6px 10px -4px rgba(0,0,0,.45);transform-origin:20% 100%}
.g-rv{left:50%;top:0;bottom:0;width:15px;margin-left:-7.5px;background:linear-gradient(90deg,var(--rib-d),var(--rib) 40%,var(--rib) 60%,var(--rib-d))}
.g-rh{left:0;right:0;top:34px;height:13px;background:linear-gradient(180deg,var(--rib-d),var(--rib) 40%,var(--rib) 60%,var(--rib-d))}
.g-shine{left:8px;top:6px;width:30%;height:42%;border-radius:4px;background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,0));opacity:.7;animation:gshine 3.2s ease-in-out infinite}
.g-lid .g-shine{height:60%;top:3px}
.g-bow{position:absolute;left:50%;top:14px;width:76px;height:34px;margin-left:-38px;z-index:3;transform-origin:50% 90%}
.g-bow .lp{top:2px;width:36px;height:26px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 60% 40%,var(--rib),var(--rib-d) 80%);box-shadow:inset 0 0 0 4px rgba(0,0,0,.05)}
.g-bow .lp.l{left:2px;transform:rotate(-16deg);border-top-right-radius:10%}.g-bow .lp.r{right:2px;transform:rotate(16deg);border-top-left-radius:10%}
.g-bow .tl{top:22px;width:10px;height:22px;background:linear-gradient(180deg,var(--rib),var(--rib-d));clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.g-bow .tl.l{left:26px;transform:rotate(18deg)}.g-bow .tl.r{right:26px;transform:rotate(-18deg)}
.g-bow .kn{left:50%;top:13px;width:14px;height:14px;margin-left:-7px;border-radius:4px;background:radial-gradient(circle at 40% 35%,var(--rib),var(--rib-d))}
.g-glow{position:absolute;left:50%;top:50%;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;background:radial-gradient(circle,rgba(243,226,170,.55),rgba(201,164,92,.18) 40%,rgba(201,164,92,0) 70%);opacity:0;transform:scale(.4);pointer-events:none}
/* open sequence: bow unties, ribbon slides off, lid lifts and tilts away, glow, amount rises */
.gift.open .giftbox{animation:none}
.gift.open .g-bow{animation:guntie .38s ease-in forwards}
.gift.open .g-rv,.gift.open .g-rh{animation:gribbon .4s .25s ease-in forwards}
.gift.open .g-lid{animation:glid .6s .5s cubic-bezier(.3,.7,.3,1) forwards}
.gift.open .g-glow{animation:gglow 1.1s .75s ease-out forwards}
.gift.open .giftamt{animation:grise .7s .95s cubic-bezier(.2,.9,.3,1.2) both}
.gift.open .giftreveal>*:not(.giftamt){animation:gfade .5s 1.3s ease-out both}
.giftbox{will-change:transform}.g-lid,.g-bow{will-change:transform,opacity}
@keyframes gwiggle{0%,72%,100%{transform:rotate(0)}76%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}84%{transform:rotate(-2deg)}88%{transform:rotate(1deg)}}
@keyframes gshine{0%,60%,100%{opacity:.55}75%{opacity:.95}}
@keyframes guntie{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.12,.85) rotate(-6deg)}100%{transform:translateY(-22px) scale(.2) rotate(40deg);opacity:0}}
@keyframes gribbon{to{transform:translateY(26px);opacity:0}}
@keyframes glid{0%{transform:none}35%{transform:translateY(-26px) rotate(-6deg)}100%{transform:translate(-58px,-62px) rotate(-38deg);opacity:0}}
@keyframes gglow{0%{opacity:0;transform:scale(.4)}40%{opacity:1}100%{opacity:.55;transform:scale(1)}}
@keyframes grise{from{transform:translateY(40px) scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes gfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .giftbox,.g-shine{animation:none!important}
  .gift.open .g-bow,.gift.open .g-rv,.gift.open .g-rh,.gift.open .g-lid{animation:none!important;opacity:0}
  .gift.open .g-glow{animation:none!important;opacity:.55;transform:none}
  .gift.open .giftamt,.gift.open .giftreveal>*{animation:none!important}
}
.g-base::before{content:"";position:absolute;left:5px;right:5px;top:0;height:12px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,0));opacity:0;transition:opacity .3s .7s}.gift.open .g-base::before{opacity:1}

/* signup + portal */
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(201,164,92,.45);margin:0 0 22px}
.seg button{background:none;border:0;color:var(--dim);padding:14px 10px;font:600 14px/1.3 inherit;font-family:inherit;cursor:pointer;min-height:52px}
.seg button[aria-selected=true]{background:var(--a);color:#0E1A17;font-weight:800}
.suform{display:grid;gap:16px}.suform input,.suform select{font-size:17px;min-height:50px}
.btn.wide{width:100%;justify-content:center}
.quickjoin{display:flex;gap:18px;align-items:center;justify-content:space-between;border:1px solid var(--a);padding:18px 20px;margin:0 0 18px;background:rgba(201,164,92,.08)}
.quickjoin p{margin:4px 0 0}@media(max-width:600px){.quickjoin{flex-direction:column;align-items:flex-start}}
.pt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.pt-card{border:1px solid rgba(243,237,224,.14);padding:20px 20px 16px;margin:0 0 18px;background:rgba(27,61,47,.18)}
.pt-card h3{font-size:20px;letter-spacing:-.02em;margin:0 0 12px}
.pt-prog{display:flex;justify-content:space-between;align-items:baseline}.pt-prog b{color:var(--a)}
.bar{height:8px;background:rgba(243,237,224,.1);margin:10px 0 14px;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#A8853F,#C9A45C,#E3C88A)}
.chk{list-style:none;padding:0;margin:0;display:grid;gap:8px}.chk li{display:flex;gap:12px;align-items:center;min-height:36px}
.chk .tick{flex:none;width:24px;height:24px;border:1.5px solid rgba(243,237,224,.35);border-radius:50%;display:grid;place-items:center;font-size:13px;color:#0E1A17}
.chk li.ok .tick{background:var(--a);border-color:var(--a)}.chk li.ok>span:nth-child(2){color:var(--dim)}
.chk li .mini,.chk li small{margin-left:auto}
.days{display:flex;flex-wrap:wrap;gap:8px}.days label{cursor:pointer}.days input{position:absolute;opacity:0}
.days span{display:inline-block;min-width:52px;text-align:center;padding:10px 8px;border:1px solid rgba(243,237,224,.3)}
.days input:checked+span{background:var(--a);color:#0E1A17;border-color:var(--a);font-weight:800}.days input:focus-visible+span{outline:2px solid var(--a);outline-offset:2px}
.docs{margin:0;padding-left:18px}.sgform{display:grid;gap:14px}
.done .btns{margin-top:18px}
/* portal: keep tables inside the screen on phones */
.pt-card{overflow-x:auto;max-width:100%}
.pt-card table{width:100%;font-size:.88rem}
@media (max-width:600px){.pt-card table th,.pt-card table td{padding:6px 5px}.pt-card input,.pt-card select{max-width:100%}}
/* profile photo + fun fact, motivating notes */
.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--a);flex:none;background:var(--b2)}
.avatar.lg{width:96px;height:96px}
.avatar.ph{display:flex;align-items:center;justify-content:center;color:var(--a);font-weight:800;font-size:22px}
.whocard{display:flex;gap:16px;align-items:center;border:1px solid var(--hl2);padding:14px 16px;margin:14px 0;background:rgba(27,61,47,.22)}
.whocard .ff{font-size:15px;color:var(--t)}.whocard .ff b{color:var(--a);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:10px;display:block}
.xtr{display:grid;gap:14px}.xtr .row1{display:flex;gap:16px;align-items:center}
.counter{font-size:12px;color:var(--dim);text-align:right}
.note-pop{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;max-width:520px;margin:0 auto;background:#13221E;border:1px solid var(--a);padding:18px 18px 14px;border-radius:18px;box-shadow:0 18px 48px rgba(0,0,0,.55);transform:translateY(20px);opacity:0;transition:transform .35s ease,opacity .35s ease}
.note-pop.show{transform:none;opacity:1}
.note-pop .cap{color:var(--a);margin-bottom:6px}.note-pop p{font-size:17px;line-height:1.45;margin:0 0 12px;font-weight:600;letter-spacing:-.01em}
.note-pop .btns{margin:0;display:flex;justify-content:flex-end}
@media (prefers-reduced-motion:reduce){.note-pop{transition:none}}

/* soft corners: popups, toasts, modals, similar overlay cards */
.note-pop .mini,.status .mini,.drawer-file .mini,.drawer-file .btn.ghost{border-radius:999px}
.drawer-file .btn,.note-pop .btn{border-radius:12px}
.pt-card,.whocard,.calfeed,.bonusbox,.memberbox,.gift,.teaser,.accept,.cardbox,.licbox,.actions,.quickjoin,.guard,.aside .box,.mcard{border-radius:16px}
/* confirmation / booking rows: long values wrap on phones (Placement fee) */
@media (max-width:600px){
  .appbox .rows .row{flex-wrap:wrap;align-items:flex-start;gap:6px 12px}
  .appbox .rows .row .n{flex:1 1 auto;min-width:0;max-width:100%}
  .appbox .rows .row .v{white-space:normal;min-width:0;flex:1 1 100%;text-align:left;overflow-wrap:anywhere}
  .appbox .rows .row .v b.sm{display:inline;word-break:break-word}
}
.quickq{border:1px solid var(--hl);border-radius:16px;padding:18px;display:grid;gap:10px;background:rgba(19,34,30,.6)}.quickq .qtext{margin:0;font-weight:600;font-size:18px}.quickq input[type=text],.quickq input[type=number]{border-radius:12px;border:1px solid var(--hl);padding:12px 14px}.quickchips span{border-radius:999px;padding:10px 18px}.quicksum{margin:18px 0;border:1px solid var(--hl);border-radius:16px;padding:16px 18px}.quicksum ul{margin:8px 0 0;padding-left:18px}

/* nav fits longer labels (Practices, Professionals) on small laptops */
.menu a{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){.menu{gap:22px}.menu .cap{letter-spacing:.16em}}
/* Contract gate pop-up (dark evergreen and brass) */
.sign-gate{position:fixed;inset:0;z-index:80;background:rgba(14,26,23,.94);overflow:auto;padding:28px 14px;animation:sgIn .18s ease-out}
.sign-gate .sg-in{position:relative;max-width:820px;margin:0 auto;background:linear-gradient(180deg,var(--p),var(--b) 260px);border:1px solid var(--a);border-radius:18px;padding:30px 26px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.sign-gate .sg-x{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--a);font-size:30px;line-height:1;cursor:pointer;min-height:0;padding:4px 8px}
.sign-gate .sg-msg{margin:0 34px 20px 0;padding:16px 18px;border:1px solid var(--a);border-left:5px solid var(--a);background:rgba(201,164,92,.1);color:var(--t);font-size:clamp(18px,2.6vw,22px);font-weight:600;line-height:1.35;border-radius:10px}
.sign-gate .sg-who{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:12px 0 14px;padding:12px 0;border-top:1px solid var(--hl);border-bottom:1px solid var(--hl)}
.sign-gate .sg-who .n{color:var(--dim);font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.sign-gate .sg-who .v{color:var(--a);font-size:20px;font-weight:600;text-align:right}
.sign-gate .sg-doc{max-height:300px;margin-bottom:18px}
.sign-gate .sg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.sign-gate .sg-form .f{margin-bottom:12px}.sign-gate .sg-form .same{margin:6px 0 14px}.sign-gate .btns{margin-top:12px}
.sign-gate .fine{margin-top:12px}
body.sg-lock{overflow:hidden}
@media (max-width:640px){.sign-gate .sg-grid{grid-template-columns:1fr}.sign-gate .sg-in{padding:24px 16px 18px}}
@keyframes sgIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.sign-gate{animation:none}}
/* App Review demo banner and account deletion */
.msg.demo{border:1px solid var(--a);background:rgba(201,164,92,.12);color:var(--t);padding:12px 16px;border-radius:12px;margin:0 0 18px}
details.danger{margin-top:12px}details.danger summary{list-style:none;cursor:pointer;display:inline-flex}details.danger summary::-webkit-details-marker{display:none}
details.danger[open] summary{opacity:.6}details.danger .f{margin-top:14px}
.rvhelp{display:grid;gap:8px}.rvhelp .btns .btn{flex:0 1 auto;padding:16px 24px;min-height:52px}.rvhelp #rvhelpmsg:empty{display:none}.rvown{color:var(--a)}

/* Areas we serve, breadcrumbs, FAQ */
.crumbs{font-size:13px;color:var(--dim);margin-bottom:18px}.crumbs a{color:var(--dim);text-decoration:none}.crumbs a:hover{color:var(--a)}.crumbs span[aria-current]{color:var(--t)}
.areas{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:22px}
.areas li{border-top:1px solid var(--hl2)}.areas a{display:block;padding:14px 0;color:var(--t);text-decoration:none;font-weight:600}.areas a::after{content:" \2192";color:var(--a)}.areas a:hover{color:var(--a)}
@media(min-width:760px){.areas{grid-template-columns:repeat(3,1fr)}.areas.areas-2{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.areas{grid-template-columns:repeat(4,1fr)}}
.faq{margin-top:30px;max-width:860px}.faq details{border-top:1px solid var(--hl2)}.faq details:last-child{border-bottom:1px solid var(--hl2)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-weight:600;color:var(--t)}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;color:var(--a);font-size:22px;line-height:1.2}.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 22px;color:var(--dim);max-width:720px}
/* Compact SEO pages (city, role, FAQ) */
.phead.compact{padding:40px 0 34px}.phead.compact h1{font-size:clamp(38px,10vw,84px);margin-top:14px}
@media(min-width:1024px){.phead.compact{padding:70px 0 56px}}
.sec.tight{padding:40px 0}@media(min-width:1024px){.sec.tight{padding:64px 0}}
.wrap.narrow{max-width:900px}
.sec.tight .lead{margin-top:0;max-width:640px}
.btns.quick{margin-top:24px;gap:10px}.btns.quick .btn{min-height:48px;padding:15px 20px;font-size:12px;letter-spacing:.16em}
.mini-steps{list-style:none;counter-reset:st;margin:14px 0 30px}
.mini-steps li{counter-increment:st;position:relative;padding:10px 0 10px 40px;border-top:1px solid var(--hl2);color:var(--dim);line-height:1.5}
.mini-steps li:last-child{border-bottom:1px solid var(--hl2)}.mini-steps li b{color:var(--t)}
.mini-steps li::before{content:counter(st) ".";position:absolute;left:2px;top:9px;color:var(--a);font-weight:800}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.chips a{display:inline-block;padding:8px 12px;border:1px solid var(--hl);color:var(--t);text-decoration:none;font-size:13px;font-weight:600}
.chips a:hover{border-color:var(--a);color:var(--a)}
.sec.tight .faq{margin-top:14px}
.faq summary{padding:16px 36px 16px 0}.faq summary::after{top:12px}
.faq summary:focus-visible{outline:1px solid var(--a);outline-offset:4px}
.faq details p,.faq details li{color:var(--dim);line-height:1.6}
.faq.notes{margin-top:0}.faq.notes details{border-top:0}.faq.notes summary{color:var(--a)}
.faq.notes ul{list-style:none;padding:0 0 18px}.faq.notes li{padding:6px 0 6px 18px;position:relative}
.faq.notes li::before{content:"";position:absolute;left:2px;top:15px;width:5px;height:5px;background:var(--a);transform:rotate(45deg)}
.faq.notes details p{padding-bottom:12px}
.inline-links{margin-top:24px;line-height:2;color:var(--dim)}.inline-links .cap{margin-right:8px}
.inline-links a{color:var(--t);text-decoration:none;font-weight:600;white-space:nowrap}.inline-links a:hover{color:var(--a)}
.endline{margin-top:18px;font-weight:700}.endline a{text-decoration:none}
.rows.compact{margin-top:10px}
.arealink{margin-top:22px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.arealink a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--hl2);padding-bottom:3px}.arealink a:hover{color:var(--a)}

/* sticky top menu (all pages) + short homepage */
header.mk{position:sticky;top:0;z-index:50;background:var(--grain),rgba(14,26,23,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hl)}
header.mk .nav{padding:10px var(--pad)}
header.mk .logo img{width:150px;height:auto;display:block}
header.mk .mkr{display:flex;align-items:center;gap:10px}
header.mk .mkreq{min-height:44px;padding:12px 14px;font-size:11px;letter-spacing:.14em}
header.mk .burger{width:44px;height:44px}
header.mk .drawer{max-height:calc(100vh - 66px);overflow:auto}
header.mk .drawer a.dl{font-size:22px}
header.mk .drawer a.dl[aria-current]{color:var(--a)}
header.mk .drawer small{display:block;font-weight:500;font-size:14px;letter-spacing:0;color:var(--dim);margin-top:4px}
header.mk .drawer a.btn{display:flex;padding:20px 28px;font:700 13px/1 'Inter Tight',sans-serif;letter-spacing:.2em;border-bottom:1px solid var(--a);text-align:center}
header.mk .drawer a.btn.ghost{border-color:var(--hl);margin-top:12px}
@media(min-width:1024px){header.mk .nav{padding:14px var(--pad)}header.mk .logo img{width:170px}header.mk .menu{gap:26px}header.mk .mkreq{padding:14px 22px}}
@media (min-width:1024px) and (max-width:1279px){header.mk .menu{gap:18px}header.mk .menu .cap{letter-spacing:.12em}}
html{scroll-padding-top:76px}
.mkhero .hero-in{padding:44px var(--pad) 52px;min-height:0;display:block}
.mkhero h1{font-size:clamp(44px,12vw,104px)!important;margin-top:18px}
.mkhero .lead{max-width:520px}
.mkhero .who{display:grid;gap:12px;margin-top:34px;max-width:620px}
.mkhero .who a{display:flex;justify-content:space-between;align-items:center;gap:14px;text-decoration:none;border:1px solid var(--hl);padding:18px 20px;background:rgba(14,26,23,.45)}
.mkhero .who a.pri{border-color:var(--a)}
.mkhero .who b{display:block;font-size:20px;font-weight:800;letter-spacing:-.03em}
.mkhero .who small{display:block;color:var(--dim);font-size:14px;margin-top:4px}
.mkhero .who .arr{color:var(--a);font-size:20px}
@media(min-width:1024px){.mkhero .hero-in{padding:110px var(--pad) 96px}.mkhero .who{grid-template-columns:1fr 1fr}}
.mksec{padding:60px 0}
.fees{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.fee{border:1px solid var(--hl);padding:18px}
.fee.on{border-color:var(--a)}
.fee b{display:block;font-size:40px;font-weight:800;letter-spacing:-.045em;line-height:1}
.fee.on b{color:var(--a)}
.fee .cap{display:block;margin-top:8px;color:var(--dim);font-size:10px}
.fee p{margin-top:8px;font-size:14px;color:var(--dim);line-height:1.45}
.hr-list{margin-top:22px;border-top:1px solid var(--hl)}
.hr-list div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--hl2);font-size:15px}
.hr-list div span:last-child{font-weight:700;white-space:nowrap}
.mksec .fine{margin-top:14px;font-size:13px;color:var(--dim);line-height:1.55}
.mksec .btns{margin-top:28px}
.mkpro .checks{margin-top:22px}
#short-staffed .hero-note{margin-top:26px}
/* Admin tools: reports, filters, private notes, do not send, credentials, payments */
.pill.cred-expired,.pill.dns{border-color:#E5534B;color:#fff;background:#B3261E}
.pill.cred-soon30{border-color:#E39B7B;color:#E39B7B;background:rgba(227,155,123,.12)}
.pill.cred-soon60{border-color:var(--a2);color:var(--a2)}
.tcount{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--hl2);color:var(--a2);font-size:11px;font-weight:700}
.tcount.red{background:#B3261E;color:#fff}
.fbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:18px 0 8px;padding:14px;border:1px solid var(--hl2);border-radius:14px;background:var(--b2)}
.fbar .lbl{margin:0;min-width:120px;flex:1 1 120px;font-size:11px}.fbar .lbl.fq{flex:3 1 240px}
.fbar input,.fbar select{margin-top:4px;padding:9px 10px;font-size:14px}
.fbar .fcount{font-size:12px;flex-basis:100%}
.rbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;margin:12px 0}
.rbar .seg{display:flex;flex-wrap:wrap;gap:6px}.rbar .lbl{margin:0;font-size:11px}.rbar input{padding:8px 10px;margin-top:4px}
.rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0 6px}
.rcard{border:1px solid var(--hl2);border-radius:14px;padding:12px 14px;background:var(--b2);display:flex;flex-direction:column;gap:4px}
.rcard .cap{font-size:10px;letter-spacing:.14em;color:var(--a)}.rcard b{font-size:24px;font-weight:800;letter-spacing:-.02em}.rcard small{font-size:11px;line-height:1.35}
.rhead{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-top:18px}.rhead .step-h{margin:0}
.empty{margin:10px 0 4px;padding:14px;border:1px dashed var(--hl2);border-radius:12px}
.adm-sec{margin-top:18px;padding-top:6px;border-top:1px solid var(--hl2)}
.pnotes,.edits{list-style:none;padding:0;margin:8px 0;display:grid;gap:10px}
.pnotes li,.edits li{padding:10px 12px;border-radius:12px;background:var(--b2);border:1px solid var(--hl2);font-size:14px}
.pnotes .ptext{margin-bottom:6px;white-space:normal}.pnotes textarea,.adm-sec textarea{min-height:70px}
.tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px}
.tpl{padding:12px;border:1px solid var(--hl2);border-radius:12px;background:var(--b2)}.tpl p{margin:6px 0 8px;color:var(--dim);overflow-wrap:anywhere}.tpl a.mini{text-decoration:none;display:inline-block}
.edf{display:grid;gap:12px}.edf .lbl{margin:0}.f3{display:grid;gap:12px}
@media(min-width:700px){.f3{grid-template-columns:1fr 1fr 1fr}}
.sbadge{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--hl)}
.sbadge i{width:8px;height:8px;border-radius:50%;background:#8FA8A0}.sbadge.live i{background:#3FA37F;box-shadow:0 0 0 3px rgba(63,163,127,.25)}.sbadge.test i{background:var(--a2)}.sbadge.off i{background:#E39B7B}
.csvb{white-space:nowrap}
.paused-note{margin:10px 0 4px;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f0c36d;color:#5c4100;font-size:14px;line-height:1.45}
button.mini[disabled]{opacity:.5;cursor:not-allowed}

.mpo{display:inline-block;margin-left:6px;vertical-align:top}.mpo>summary{list-style:none;cursor:pointer;display:inline-block}.mpo>summary::-webkit-details-marker{display:none}.mpo-f{display:grid;gap:8px;margin-top:8px;min-width:200px;padding:10px;border:1px solid rgba(201,162,90,.4);border-radius:8px}.mpo-f select,.mpo-f input{width:100%}
.refbox{border:1px solid var(--hl2);padding:20px;border-radius:16px}
.refbox .refgrid+.refgrid{margin-top:14px;padding-top:14px;border-top:1px dashed var(--hl2)}
.refbox .refh{display:block;margin-bottom:6px}
/* Messages */
.thread{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;padding:14px;border:1px solid var(--hl2);border-radius:14px;background:rgba(0,0,0,.18);margin:12px 0}
.bub{max-width:82%;align-self:flex-start;background:var(--b2);border:1px solid var(--hl2);border-radius:14px 14px 14px 4px;padding:10px 14px}
.bub.me{align-self:flex-end;background:var(--p);border-color:var(--hl);border-radius:14px 14px 4px 14px}
.bt{white-space:normal;overflow-wrap:anywhere;font-size:15px}
.bm{font-size:11px;color:var(--dim);margin-top:4px}
.msgform textarea{width:100%;min-height:90px;font:inherit;font-size:16px;color:var(--t);background:var(--b2);border:1px solid var(--hl);border-radius:12px;padding:12px}
.msgform .btns{margin-top:10px}
a.msgnote{display:block;text-decoration:none;color:var(--t);border-color:var(--a)}
.finish{border-color:var(--a)}
.finish ul{margin:8px 0 0 18px}
.ftabs{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.ftabs button{font:inherit;font-size:14px;padding:8px 14px;border-radius:999px;border:1px solid var(--hl);background:transparent;color:var(--t);cursor:pointer}
.ftabs button[aria-selected=true]{background:var(--a);color:var(--b);border-color:var(--a)}
.newmsg{margin:16px 0}
.newmsg select{min-width:0;width:100%;font:inherit;font-size:16px;color:var(--t);background:var(--b2);border:1px solid var(--hl);border-radius:10px;padding:10px}
tr.unreadrow td{background:rgba(201,164,92,.08)}
.missb,.areab{font-size:11px}
/* Discounts */
.promoform{margin-top:16px;padding:16px;border:1px solid var(--hl2);border-radius:14px}
.promoform input{width:100%}
ul.groups{margin:8px 0 14px 18px}
.mgroup{font:inherit;font-size:14px;color:var(--t);background:var(--b2);border:1px solid var(--hl);border-radius:8px;padding:6px;max-width:220px}
td.nowrap{white-space:nowrap}
@media (max-width:600px){.bub{max-width:92%}.thread{max-height:60vh}td.nowrap{white-space:normal}}
/* Crisp admin buttons and tags (sharp on Windows Chrome too): solid 1px borders, no glow, shadow, blur or transforms, a little larger and easier to read */
#app[data-page=admin] .pill,#app[data-page=admin] .mini,#app[data-page=admin] .btn,.drawer-file .pill,.drawer-file .mini,.drawer-file .btn{text-shadow:none;box-shadow:none;filter:none;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none;will-change:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility}
#app[data-page=admin] .pill,.drawer-file .pill{border:1px solid #8E7A4C;font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1.3;padding:3px 9px;border-radius:8px;vertical-align:middle}
#app[data-page=admin] .mini,.drawer-file .mini{font-size:12.5px;font-weight:700;letter-spacing:.06em;line-height:1.2;padding:9px 13px;border:1px solid #C9A45C;border-radius:999px}
#app[data-page=admin] .mini.ghost,.drawer-file .mini.ghost{border-color:#8E7A4C;color:#F3EDE0;background:transparent}
#app[data-page=admin] .mini:hover,.drawer-file .mini:hover{border-color:#D9B977}
#app[data-page=admin] .mini:active,.drawer-file .mini:active{transform:none}
#app[data-page=admin] .pill.confirmed,#app[data-page=admin] .pill.approved,#app[data-page=admin] .pill.license_verified,#app[data-page=admin] .pill.succeeded,#app[data-page=admin] .pill.completed,#app[data-page=admin] .pill.active,.drawer-file .pill.confirmed,.drawer-file .pill.approved,.drawer-file .pill.active,.drawer-file .pill.completed{border-color:#C9A45C;color:#D9B977}
#app[data-page=admin] .pill.pending_license,#app[data-page=admin] .pill.failed,#app[data-page=admin] .pill.pending_card,#app[data-page=admin] .pill.pending,.drawer-file .pill.pending_license,.drawer-file .pill.failed,.drawer-file .pill.pending_card,.drawer-file .pill.pending{border-color:#E39B7B;color:#EBA98B}
#app[data-page=admin] .pill.dns,#app[data-page=admin] .pill.cred-expired,.drawer-file .pill.dns,.drawer-file .pill.cred-expired{border-color:#E5534B;color:#FFF4EE;background:#B3261E}
.drawer-file,.drawer-file .in{transform:none;-webkit-backdrop-filter:none;backdrop-filter:none;filter:none}
body:has(#app[data-page=admin]) header.mk,body:has(.drawer-file) header.mk{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0E1A17}
.kv span:nth-child(odd){letter-spacing:.08em}
/* Profile status (Active, Inactive, Archived) */
.pill.st-inactive,#app[data-page=admin] .pill.st-inactive,.drawer-file .pill.st-inactive{border-color:#E39B7B;color:#EBA98B;background:#2A1E16}
.pill.st-archived,#app[data-page=admin] .pill.st-archived,.drawer-file .pill.st-archived{border-color:#9AA6A1;color:#D5DCD9;background:#1E2A27}
.pill.st-active,#app[data-page=admin] .pill.st-active,.drawer-file .pill.st-active{border-color:#C9A45C;color:#D9B977}
.stsec .stnow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.stsec textarea.str{min-height:56px;font-size:16px}
.stsec .btns .mini{min-height:44px}
.sthist{margin-top:10px}
/* Signed agreement and W-9 viewer (admin only) */
a.vlink{display:inline-block;margin-left:6px;padding:2px 10px;border:1px solid #C9A45C;border-radius:999px;color:#D9B977;font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:none;line-height:1.5}
a.vlink:hover{background:#1B3D2F}
.docview{margin-top:16px}
.docframe{width:100%;height:70vh;min-height:420px;border:1px solid #8E7A4C;border-radius:12px;background:#F3EDE0}
@media (max-width:600px){.docframe{height:62vh;min-height:320px}a.vlink{padding:4px 12px}}
#app[data-page=admin] .btn[disabled],.drawer-file .btn[disabled]{opacity:.45;cursor:not-allowed}
/* Review thank-you step: the optional private quick question, separate from the review form */
.quickafter{margin-top:26px;max-width:560px}
.quickafter .qtext{font-size:17px;line-height:1.4}
.quickafter input[type=text],.quickafter input[type=number]{font-size:16px;width:100%;box-sizing:border-box}
.quickafter .qqbtns{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px}
.quickafter .qqno{color:var(--g, #C9A45C);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;font-size:15px}
.qqdone{margin-top:20px}
/* Admin notifications bell (crisp: no blur, no shadows) */
.nbar{position:relative;display:flex;justify-content:flex-end;margin-top:14px}
.bell{display:inline-flex;align-items:center;gap:8px;background:var(--b2);color:var(--t);border:1px solid #8E7A4C;border-radius:999px;padding:9px 14px;font:700 12.5px 'Inter Tight',sans-serif;letter-spacing:.06em;cursor:pointer;line-height:1}
.bell:hover,.bell[aria-expanded=true]{border-color:#D9B977;color:#D9B977}
.bell:focus-visible,.nitem:focus-visible,.nall:focus-visible{outline:2px solid #D9B977;outline-offset:2px}
.bell svg{display:block}
.bell-n{display:inline-block;min-width:20px;padding:3px 6px;border-radius:999px;background:#B3261E;color:#fff;font-size:11.5px;font-weight:700;text-align:center;letter-spacing:0}
.npanel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:420px;max-width:calc(100vw - 32px);background:var(--b);border:1px solid #C9A45C;border-radius:14px;overflow:hidden;text-align:left}
.npanel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid #3A4A3F;background:var(--b2)}
.npanel-h b{font-size:15px;letter-spacing:.01em}
.nall{background:transparent;border:0;color:#D9B977;font:700 13px 'Inter Tight',sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 0}
.nall[disabled]{opacity:.45}
.nlist{list-style:none;margin:0;padding:0;max-height:min(60vh,460px);overflow:auto}
.nlist li+li{border-top:1px solid #2A3A33}
.nitem{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:baseline;width:100%;background:transparent;border:0;color:var(--dim);text-align:left;padding:12px 16px;font:400 14px/1.4 'Inter Tight',sans-serif;cursor:pointer}
.nitem:hover{background:var(--b2)}
.nitem.unread{color:var(--t);font-weight:600}
.ndot{width:8px;height:8px;border-radius:50%;background:transparent;align-self:center}
.nitem.unread .ndot{background:#C9A45C}
.ntext{overflow-wrap:anywhere}
.nago{font-size:12px;font-weight:400;color:rgba(243,237,224,.6);white-space:nowrap}
.nempty{padding:18px 16px;margin:0}
.nfoot{margin:0;padding:10px 16px 12px;border-top:1px solid #2A3A33;font-size:12px;color:rgba(243,237,224,.6)}
@media (max-width:600px){.npanel{position:fixed;left:12px;right:12px;top:72px;width:auto;max-width:none}.nlist{max-height:calc(100vh - 210px)}.nitem{grid-template-columns:10px 1fr;row-gap:2px}.nago{grid-column:2}}
