/* Sable Circuit — site styles. Fonts are self-hosted (SIL OFL 1.1, see assets/fonts/FONTS-LICENSE.txt). */
@font-face{font-family:'Manrope';src:url('../fonts/manrope-var.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/dmsans-var.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
:root{--bg:#0a0c0f;--paper:#eae7e1;--mute:#aaa9a6;--accent:#d3aa72;--accent-2:#e9c395;--line:#383b40;--panel:#14171b;--ink:#121418;--sand:#e8e4dc}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
button,input,select,textarea{font:inherit}
::selection{background:var(--accent);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--accent);color:#17130e;padding:10px 16px;font-weight:700}
.skip:focus{left:12px}
.wrap{max-width:1240px;margin:auto;padding:0 32px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700;color:var(--accent)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
header.site{border-bottom:1px solid #ffffff1b;position:relative;z-index:5}
.nav{min-height:93px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.mark{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.20em;font-size:18px;white-space:nowrap;line-height:1.2}
.mark small{display:block;font-weight:500;letter-spacing:.3em;color:#b4a58f;font-size:9px;margin-top:3px}
.menu{display:flex;align-items:center;gap:32px;font-size:12px;color:#b5b6b4;letter-spacing:.04em}
.menu a:not(.btn):hover{color:var(--paper)}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;border:1px solid #6d6a66;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--paper)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary .bars{width:16px;height:9px;border-block:1.5px solid currentColor;position:relative}
.mnav[open] summary{border-color:var(--accent);color:var(--accent)}
.mnav nav{position:absolute;right:0;top:calc(100% + 10px);width:min(78vw,300px);background:#111317;border:1px solid #ffffff22;padding:10px 0;box-shadow:0 18px 40px #0009}
.mnav nav a{display:block;padding:13px 20px;font-size:13px;letter-spacing:.06em;color:#d8d4cd;border-bottom:1px solid #ffffff10}
.mnav nav a:last-child{border-bottom:0;color:var(--accent);font-weight:700}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800;border:1px solid var(--accent);background:var(--accent);color:#17130e;cursor:pointer;transition:transform .2s,background .2s;text-align:center}
.btn:hover{background:var(--accent-2);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--paper);border-color:#888785}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}

/* Hero */
.hero{position:relative;min-height:675px;overflow:hidden;background:radial-gradient(circle at 82% 42%,#282522 0%,#111317 38%,#0a0c0f 78%)}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 0% 55%,#d3aa720c 55.3% 55.6%,transparent 55.9%);pointer-events:none}
.hero-content{position:relative;z-index:1;display:flex;align-items:center;min-height:675px}
.hero-text{max-width:680px;padding:76px 0 96px}
.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(46px,6.7vw,94px);line-height:1.02;letter-spacing:-.055em;margin:26px 0;font-weight:800}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{max-width:540px;font-size:16px;color:#bcb9b3;line-height:1.85;margin:0 0 14px}
.hero p.sub{font-size:13px;color:#9b978f;line-height:1.7}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-id{position:absolute;bottom:35px;left:32px;font-size:10px;letter-spacing:.14em;color:#95918a;text-transform:uppercase;z-index:1}
.illustration{pointer-events:none;position:absolute;right:-9%;top:8%;width:64%;height:90%;opacity:.72}
.illustration svg{width:100%;height:100%;filter:drop-shadow(0 0 36px #bd99541f)}
.ticker{border-block:1px solid #ffffff22;background:#151619;padding:18px 0;overflow:hidden}
.ticker .wrap{display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;color:#b5b0a8;font-size:10px;letter-spacing:.17em;text-transform:uppercase}

/* Sections */
section{padding:110px 0;scroll-margin-top:10px}
section.tight-top{padding-top:0}
section.alt{background:#101215}
.section-heading{font:700 clamp(30px,3.7vw,54px)/1.13 Manrope,Arial,sans-serif;letter-spacing:-.045em;max-width:760px;margin:19px 0 22px}
.lede{max-width:700px;color:#aaa7a1;line-height:1.85;margin:0 0 48px;font-size:15px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service{border:1px solid #ffffff1f;background:linear-gradient(150deg,#1b1d20,#101215);padding:37px 31px;min-height:300px}
.service .number{display:block;color:var(--accent);font-size:12px;letter-spacing:.2em;margin-bottom:55px}
.service h3{font:700 25px/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 16px}
.service p{font-size:13.5px;color:#aeaeb0;margin:0;line-height:1.9}

/* Offers */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.offer{display:flex;flex-direction:column;border:1px solid #ffffff1f;background:#121418;padding:34px 30px 30px}
.offer.feature{border-color:#d3aa7266;background:linear-gradient(160deg,#1d1a16,#121418 60%)}
.offer .tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700}
.offer h3{font:700 26px/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:18px 0 8px}
.offer .fee{font:800 22px/1.2 Manrope,sans-serif;color:var(--paper);letter-spacing:-.03em;margin:6px 0 2px}
.offer .fee-note{font-size:11.5px;color:#8f8b84;letter-spacing:.04em;margin:0 0 18px}
.offer p{font-size:13.5px;color:#aeaeb0;line-height:1.8;margin:0 0 16px}
.offer ul{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid #ffffff14}
.offer li{font-size:13px;color:#cfcbc4;padding:10px 0 10px 20px;border-bottom:1px solid #ffffff14;position:relative}
.offer li:before{content:'';position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--accent)}
.offer .btn{margin-top:auto;align-self:flex-start}
.terms{margin-top:28px;border:1px solid #d3aa7240;background:#15130f;padding:22px 26px;font-size:13px;color:#bdb6aa;line-height:1.8;max-width:980px}
.terms strong{color:var(--paper)}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split p{color:#aaa7a1;line-height:1.9}
.panel-art{min-height:360px;border:1px solid #97744755;background:radial-gradient(ellipse at 70% 45%,#4c3a28,#201d1c 37%,#0d0f12 80%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.panel-art:before,.panel-art:after{content:'';position:absolute;transform:rotate(-27deg);height:900px;width:1px;background:#d3aa7244;left:37%;top:-240px}
.panel-art:after{left:43%;background:#d3aa7220}
.panel-art span{font:800 92px/1 Manrope,sans-serif;letter-spacing:-.12em;color:#dcc7a6;text-shadow:0 0 80px #bb834e}
.panel-art small{position:absolute;bottom:14px;right:16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8f826f}

/* Budgets */
.budgets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.budget{border-top:1px solid var(--accent);background:#17191c;padding:30px 30px 34px}
.budget h3{font:700 24px Manrope,sans-serif;margin:16px 0 6px}
.budget .price{font:800 27px Manrope,sans-serif;color:var(--accent);letter-spacing:-.05em}
.budget .label{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8f8b84;border:1px solid #ffffff22;padding:3px 8px}
.budget p{color:#a7a4a0;font-size:13px;line-height:1.7}
.note{color:#9a968f;font-size:12.5px;max-width:820px;margin-top:22px;line-height:1.75}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:27px}
.step{padding-top:23px;border-top:1px solid #575350}
.step strong{color:var(--accent);display:block;font-size:13px;margin-bottom:22px}
.step h3{font-size:17px;margin:0 0 9px}
.step p{font-size:12.5px;color:#a9a7a3;line-height:1.8;margin:0}

/* Trade */
.trade-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trade-list li{border:1px solid #ffffff1a;padding:16px 18px;font-size:13px;color:#cfcbc4;background:#121418}
.trade-list li b{display:block;color:var(--accent);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}

/* FAQ */
.faq{max-width:900px;border-top:1px solid #ffffff1c}
.faq details{border-bottom:1px solid #ffffff1c}
.faq summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font:600 17px/1.4 Manrope,sans-serif;letter-spacing:-.01em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:4px;top:18px;color:var(--accent);font-size:24px;font-weight:400}
.faq details[open] summary:after{content:'–'}
.faq details p{margin:0 0 22px;color:#aaa7a1;font-size:14px;line-height:1.85;max-width:780px}

/* Contact / form */
.contact{background:var(--sand);color:var(--ink)}
.contact .eyebrow{color:#7a5530}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.contact-copy{color:#5a5752;font-size:14.5px;line-height:1.8}
.contact-copy a,.data-note a,.contact .consent a{color:#7a5530;text-decoration:underline;text-underline-offset:3px}
.data-note{margin-top:26px;border-left:2px solid #b08550;padding:4px 0 4px 16px;font-size:12.5px;color:#5f5b55;line-height:1.75}
.data-note strong{color:#2a2622}
.direct{margin-top:22px;font-size:13px;color:#5a5752}
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field label,.field .lbl{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px;color:#1d1f23}
.field .opt{font-weight:500;letter-spacing:.04em;text-transform:none;color:#76726b}
.field input,.field select,.field textarea{width:100%;padding:14px 13px;border:1px solid #99948b;color:#171717;background:#f7f4ee;border-radius:0;outline-color:#9a6d3e;font-size:16px;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,#5a5752 50%),linear-gradient(135deg,#5a5752 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.field.full{grid-column:1 / -1}
.field textarea{resize:vertical;min-height:120px}
.field .err{display:none;font-size:12px;color:#9b2c1f;margin-top:6px}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#9b2c1f;background:#fbf1ee}
.field.invalid .err{display:block}
.consent{grid-column:1 / -1;display:flex;gap:12px;align-items:flex-start;font-size:13px;color:#3d3a35;line-height:1.6}
.consent input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:#9a6d3e}
.consent.invalid{color:#9b2c1f}
.form-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.form-help{font-size:12px;color:#77736d;margin:0}
.status{grid-column:1 / -1;font-size:14px;margin:0}
.status.error{color:#9b2c1f}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.success{display:none;border:1px solid #b08550;background:#f4efe6;padding:34px 32px}
.success h3{font:700 26px/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:12px 0 10px;color:var(--ink)}
.success p{color:#5a5752;font-size:14px;line-height:1.8;margin:0 0 10px}
.form-wrap.sent .form{display:none}
.form-wrap.sent .success{display:block}

/* Footer */
.footer{padding:56px 0 34px;border-top:1px solid #343434;color:#96928a;font-size:12px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#cfc6b8;margin:0 0 14px}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin:0 0 9px}
.footer a{color:#d9bf98}
.footer a:hover{color:var(--accent-2)}
.footer .fine{margin-top:40px;padding-top:20px;border-top:1px solid #ffffff12;display:flex;justify-content:space-between;gap:12px 25px;flex-wrap:wrap;font-size:11px;color:#85817a}
.footer p{margin:0 0 10px;line-height:1.7;max-width:420px}

/* Simple pages (privacy, thank-you, 404) */
.page{padding:90px 0 110px}
.page .wrap{max-width:860px}
.page h1{font:800 clamp(36px,5vw,60px)/1.06 Manrope,sans-serif;letter-spacing:-.05em;margin:18px 0 22px}
.page h2{font:700 21px/1.3 Manrope,sans-serif;letter-spacing:-.02em;margin:44px 0 12px;color:var(--paper)}
.page p,.page li{color:#b3afa8;font-size:15px;line-height:1.85}
.page ul{padding-left:20px}
.page a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.page .meta{font-size:12px;color:#8c887f;letter-spacing:.06em}
.page .card{border:1px solid #d3aa7240;background:#13120f;padding:24px 26px;margin:28px 0}
.page .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.center-page{min-height:calc(100vh - 93px - 160px);display:flex;align-items:center}

/* Responsive */
@media(max-width:1080px){.menu{gap:22px}}
@media(max-width:980px){.menu{display:none}.mnav{display:block}.illustration{right:-32%;width:93%;opacity:.28}.split{grid-template-columns:1fr;gap:28px}.grid3,.budgets,.offers{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:36px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1 / -1}.service{min-height:0}.service .number{margin-bottom:28px}}
@media(max-width:600px){.wrap{padding:0 22px}.nav{min-height:78px}.mark{font-size:14px;letter-spacing:.18em}.mark small{font-size:8px;letter-spacing:.24em}section{padding:72px 0}.hero,.hero-content{min-height:0}.hero-text{padding:56px 0 90px}.hero h1{font-size:clamp(40px,12vw,54px)}.hero p{font-size:14.5px}.hero-buttons .btn{flex:1 1 100%}.hero-id{left:22px;right:22px;bottom:28px}.ticker .wrap{font-size:9px;justify-content:flex-start}.steps{grid-template-columns:1fr;gap:18px}.form{grid-template-columns:1fr}.panel-art{min-height:240px}.panel-art span{font-size:72px}.trade-list{grid-template-columns:1fr}.offer{padding:28px 22px}.budget{padding:26px 22px}.footer-grid{grid-template-columns:1fr}.success{padding:26px 20px}.form-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}
.steps-gap{margin-top:90px}
.footer-blurb{margin-top:18px!important}
@media(max-width:600px){.steps-gap{margin-top:56px}}
.menu-simple{display:flex}
@media(max-width:980px){.menu.menu-simple{display:flex;gap:14px}.menu.menu-simple a:not(.btn){display:none}}
@media(max-width:600px){.menu.menu-simple .btn{padding:0 12px;font-size:9.5px;min-height:38px}}
.fine-solo{margin-top:0;border-top:0;padding-top:0}

/* hero note sits in the content column (aligned with the container at every width) */
.hero-id,.hero-id[class]{position:static;margin-top:34px;left:auto;right:auto;bottom:auto}
/* privacy request card reuses the light inquiry-form palette */
.request-card{border-color:transparent}
.request-card h2{color:var(--ink)}
.request-card .form{margin-top:18px}
.card.request-card{background:var(--sand);color:var(--ink);border-color:transparent}
.footer .fine-solo{margin-top:0;border-top:0;padding-top:0}

/* Grand opening offer strip + partners section */
.offer-strip{background:#15130f;border-bottom:1px solid #d3aa7240;padding:14px 0;font-size:13px;line-height:1.7;color:#d8d1c4}
.offer-strip[hidden]{display:none}
.offer-strip p{margin:0}
.offer-strip strong{color:var(--accent-2);letter-spacing:.08em}
.offer-strip a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.offer-strip a:hover{color:var(--accent-2)}
.offer-tag{display:inline-block;margin-right:10px;padding:2px 8px;border:1px solid var(--accent);color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;vertical-align:1px}
.partner-honest{color:#aaa7a1;font-size:13px;border-left:2px solid var(--accent);padding-left:14px}
.partner-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.partner-list li{border:1px solid #ffffff1a;padding:16px 18px 16px 42px;font-size:13.5px;color:#cfcbc4;background:#121418;position:relative;line-height:1.6}
.partner-list li::before{content:"";position:absolute;left:18px;top:23px;width:10px;height:1px;background:var(--accent)}
#partners+section{border-top:1px solid #ffffff12}
