:root{--bg:#15110f;--panel:#1f1916;--panel2:#271f1b;--text:#f6efe6;--muted:#b3a698;--accent:#ff4b2b;--accent2:#ffb627;--line:#38302a}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent2)}
p{margin:0 0 14px}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em}

/* top bar */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1100px;width:100%;margin:0 auto;padding:16px 20px}
.logo{font-weight:800;font-size:1.25rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}
.logo em{font-style:normal;color:var(--accent)}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;text-decoration:none;padding:14px 26px;border-radius:12px;border:0;font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{filter:brightness(1.1)}
.btn.small{padding:9px 16px;font-size:.92rem;border-radius:10px}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--muted);filter:none}

/* landing */
main.home{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:30px 20px 50px}
.hero{padding:30px 0 10px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center}
.hero-text{max-width:660px}
.hero-art{justify-self:end;width:100%;max-width:420px;text-align:center;filter:drop-shadow(0 16px 30px rgba(0,0,0,.45))}
.hero-art img{display:block;width:100%;height:auto}
.hero-name{margin:6px 0 0;font-weight:800;font-size:clamp(1.9rem,4.5vw,2.6rem);letter-spacing:-.02em;color:var(--text);line-height:1.1}
.hero-name em{font-style:normal;color:var(--accent)}
.hero h1{font-size:clamp(2.4rem,7.5vw,4.4rem);margin:0 0 16px}
.hero h1 span{color:var(--accent)}
.hero .lead{font-size:1.25rem;color:var(--muted);margin:0 0 26px}
.hero .fine{color:var(--muted);font-size:.95rem;margin:14px 0 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:46px 0 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}
.card h3{margin:0 0 6px;font-size:1.15rem}
.card p{margin:0;color:var(--muted);font-size:.97rem}
.steps{margin:50px 0 0}
.steps h2{font-size:1.5rem;margin:0 0 16px}
.steps ol{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.steps li{counter-increment:s;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px 18px 18px 64px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.steps li b{display:block}
.steps li span{color:var(--muted);font-size:.95rem}
.privacy-note{margin:40px 0 0;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;color:var(--muted)}
.privacy-note b{color:var(--text)}
.bottom-cta{margin:44px 0 0;text-align:center}

/* footer (shared) */
footer{border-top:1px solid var(--line);text-align:left;padding:24px 20px 30px;color:var(--muted);font-size:.9rem}
footer .copy{margin:0 0 6px}
footer .links a{color:var(--muted);text-decoration:none}
footer .links a:hover{color:var(--text)}

/* legal pages */
main.doc{flex:1;width:100%;max-width:720px;margin:0 auto;padding:30px 20px 50px}
main.doc h1{font-size:2rem;margin:0 0 6px}
main.doc h2{font-size:1.15rem;margin:28px 0 8px}
main.doc .updated{color:var(--muted);font-size:.92rem}
main.doc ul{padding-left:22px;margin:0 0 14px}
main.doc li{margin:5px 0}

/* builder */
.bar{position:sticky;top:0;z-index:5;background:rgba(21,17,15,.96);border-bottom:1px solid var(--line)}
.bar .top{padding:10px 20px;max-width:1280px}
.jump{display:none}
.bar .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.builder{flex:1;display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:22px;max-width:1280px;width:100%;margin:0 auto;padding:20px}
.panel{min-width:0}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 14px}
.step>h2{font-size:1.05rem;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.step>h2 i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:.9rem;font-weight:800;flex:none}
label.f{display:block;font-size:.85rem;color:var(--muted);margin:10px 0 4px}
input[type=text],select,textarea{width:100%;background:#120e0c;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:1rem;font-family:inherit}
input[type=text]:focus,select:focus,textarea:focus{outline:2px solid var(--accent2);outline-offset:0;border-color:transparent}
.kinds{display:grid;gap:8px}
.kinds label{display:flex;gap:10px;align-items:flex-start;background:#120e0c;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.kinds input{margin-top:5px;accent-color:var(--accent)}
.kinds label.on{border-color:var(--accent)}
.kinds b{display:block}
.kinds span{color:var(--muted);font-size:.88rem}
.looks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.looks label{cursor:pointer;border:2px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;font-size:.85rem;background:#120e0c}
.looks label.on{border-color:var(--accent)}
.looks input{position:absolute;opacity:0;pointer-events:none}
.looks .sw{height:46px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}
.looks label span.n{display:block;padding:6px 4px}
.sw.classic{background:#fbf6ea;color:#2a211a;font-family:Georgia,serif}
.sw.chalk{background:#1d2420;color:#f2efe6;font-family:Georgia,serif}
.sw.modern{background:#fff;color:#111;font-family:system-ui,sans-serif}
.colors{display:flex;gap:8px;flex-wrap:wrap}
.colors label{cursor:pointer;position:relative}
.colors input{position:absolute;opacity:0}
.colors span{display:block;width:34px;height:34px;border-radius:50%;border:3px solid transparent;box-shadow:0 0 0 1px var(--line)}
.colors input:checked+span{border-color:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sec{background:#120e0c;border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 12px}
.sec-head{display:flex;gap:6px;align-items:center}
.sec-head input{font-weight:700}
.item{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}
.item .r1{display:grid;grid-template-columns:1fr 92px;gap:8px}
.item .r2{margin-top:8px}
.tools{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.mini{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.85rem;cursor:pointer;font-family:inherit}
.mini:hover{color:var(--text);border-color:var(--muted)}
.mini.add{color:var(--accent2);border-color:var(--accent2)}
.mini.del{color:#ff8a76}
.hint{color:var(--muted);font-size:.88rem;margin:8px 0 0}
.warn{display:none;background:#3a2410;border:1px solid #7a4a1c;color:#ffd9a8;border-radius:10px;padding:10px 12px;font-size:.92rem;margin:0 0 12px}
.warn.show{display:block}
.preview{min-width:0;position:sticky;top:64px;align-self:start}
.preview h2{font-size:1rem;margin:0 0 10px;color:var(--muted);font-weight:600}
.stage{background:#2a2420;border:1px solid var(--line);border-radius:14px;padding:16px;overflow:auto;max-height:calc(100vh - 150px)}
.stage .wrap{margin:0 auto}

/* special menu step */
.step[hidden],#review[hidden],#avoidBox[hidden],#dietSpecial[hidden],#dietNormal[hidden],#openSaved[hidden]{display:none}
.specialbar[hidden]{display:none}
.specialbar{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;background:#3d3413;color:#ffe9a0;padding:10px 16px;text-align:center;font-size:.95rem;border-bottom:1px solid #7a6420}
.specialbar .mini{color:#ffe9a0;border-color:#a88a2e}
.opt{font-weight:400;color:var(--muted);font-size:.9rem}
.avoid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.avoid label{display:flex;gap:8px;align-items:center;background:#120e0c;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;font-size:.95rem}
.avoid input{accent-color:var(--accent)}
.rv{background:#120e0c;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 8px}
.rv .top2{display:flex;gap:10px;align-items:flex-start}
.rv .top2 input[type=checkbox]{margin-top:5px;accent-color:var(--accent);width:18px;height:18px;flex:none}
.rv .nm{font-weight:700}
.rv .why{color:var(--muted);font-size:.88rem}
.badge{display:inline-block;font-size:.75rem;font-weight:700;border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:middle}
.badge.fits{background:#173d27;color:#8fe3b0}
.badge.change{background:#3d3413;color:#ffd96b}
.badge.unsure{background:#2b2f3d;color:#aeb9ff}
.badge.no{background:#3d1d17;color:#ff9a86}
.rv input[type=text]{margin-top:8px}
.confirm{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.95rem}
.confirm input{margin-top:4px;accent-color:var(--accent);width:18px;height:18px;flex:none}

/* the menu sheet (on screen and in print) */
.sheet{--ac:#c0392b;--pad:.55in;background:#fff;color:#111;position:relative;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.5);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet .inner{padding:var(--pad)}
.sheet h1.t{margin:0;font-size:2.3em;letter-spacing:.01em;line-height:1.05}
.sheet .tag{margin:.35em 0 0;font-size:1.02em;opacity:.8}
.sheet .cols{margin-top:1.4em;column-gap:2.2em}
.sheet.c2 .cols{column-count:2}
.sheet .s{break-inside:avoid;margin:0 0 1.5em}
.sheet .s h2{margin:0 0 .55em;font-size:1.3em;letter-spacing:.04em;text-transform:uppercase;color:var(--ac)}
.sheet .i{margin:0 0 .85em;break-inside:avoid}
.sheet .i .l{display:flex;align-items:baseline;gap:.5em;font-weight:700}
.sheet .i .l .dots{flex:1;border-bottom:2px dotted currentColor;opacity:.3;transform:translateY(-.25em);min-width:1em}
.sheet .i .l .p{white-space:nowrap}
.sheet .i .d{font-size:.92em;opacity:.78;margin-top:.1em}
.sheet .note{margin:1.2em 0 0;padding-top:.9em;border-top:2px solid var(--ac);font-size:.92em;opacity:.85;text-align:center}
.sheet .empty{opacity:.5;font-style:italic;margin-top:2em}
/* looks */
.sheet.classic{background:#fbf6ea;color:#2a211a;font-family:Georgia,"Times New Roman",serif;text-align:center}
.sheet.classic .inner{border:3px double var(--ac);margin:.3in;padding:calc(var(--pad) - .3in)}
.sheet.classic h1.t{color:var(--ac)}
.sheet.classic .s{text-align:left}
.sheet.classic .s h2{text-align:center;border-bottom:1px solid var(--ac);padding-bottom:.25em}
.sheet.chalk{background:#1d2420;color:#f2efe6;font-family:Georgia,"Times New Roman",serif;text-align:center}
.sheet.chalk .inner{border:2px solid rgba(255,255,255,.35);margin:.3in;padding:calc(var(--pad) - .3in)}
.sheet.chalk .s{text-align:left}
.sheet.chalk .s h2{text-align:center;color:#ffd7a0;color:color-mix(in srgb,var(--ac) 45%,#fff)}
.sheet.chalk .note{border-top-color:rgba(255,255,255,.4)}
.sheet.chalk h1.t{color:#fff}
.sheet.modern{background:#fff;color:#111;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-align:left}
.sheet.modern .inner{padding-top:calc(var(--pad) + .1in)}
.sheet.modern::before{content:"";position:absolute;left:0;top:0;right:0;height:.28in;background:var(--ac)}
.sheet.modern h1.t{font-weight:900;letter-spacing:-.02em}
.sheet.modern .s h2{border-left:.28em solid var(--ac);padding-left:.5em;color:#111}
.sheet.modern .note{text-align:left}

/* folded menus: page 1 is the outside, page 2 is the inside spread */
.foldset .cap{margin:0 0 calc(8px / var(--z,1));font-size:calc(.9rem / var(--z,1));color:var(--muted);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.foldset .sheet.fold+.cap{margin-top:calc(28px / var(--z,1))}
.sheet.fold{overflow:hidden}
.sheet.fold .pgrid{display:grid;height:100%}
.sheet.fold.p2 .pgrid,.sheet.fold.p2 .frames{grid-template-columns:repeat(2,1fr)}
.sheet.fold.p3 .pgrid,.sheet.fold.p3 .frames{grid-template-columns:repeat(3,1fr)}
.sheet.fold .frames{position:absolute;inset:0;display:grid}
.sheet.fold .fr{margin:.22in}
.sheet.fold .pn{margin:.22in;padding:.35in .3in;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;min-width:0}
.sheet.fold .pn h1.t{font-size:2.6em}
.sheet.fold.p3 .pn h1.t{font-size:2.1em}
.sheet.fold .pn.small h1.t{font-size:1.6em}
.sheet.fold .pn .note{border-top:2px solid var(--ac);margin-top:1.2em;padding-top:.9em}
.sheet.fold .pn.flap .note{border-top:0;margin-top:0;padding-top:0}
.sheet.fold .fcols{position:absolute;inset:0;padding:.5in 0;column-gap:0}
.sheet.fold.p2 .fcols{column-count:2}
.sheet.fold.p3 .fcols{column-count:3}
.sheet.fold .fcols .s{padding:0 .52in;margin-bottom:1.2em;break-inside:auto}
.sheet.fold .fcols .s h2{break-after:avoid;margin-bottom:.45em}
.sheet.fold .fcols .i{margin-bottom:.7em}
.sheet.classic.fold .pn,.sheet.classic.fold .fr{border:3px double var(--ac)}
.sheet.chalk.fold .pn,.sheet.chalk.fold .fr{border:2px solid rgba(255,255,255,.35)}
.sheet.modern.fold .pn{align-items:flex-start;text-align:left;padding-left:.5in}
.sheet.modern.fold .pn.cover{padding-top:calc(.35in + .28in)}
.sheet.fold .foldline{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed rgba(0,0,0,.28);z-index:2;pointer-events:none}
.sheet.chalk.fold .foldline{border-left-color:rgba(255,255,255,.35)}

@media (max-width:820px){
  .hero{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-art{justify-self:center;max-width:340px}
}
@media (max-width:900px){
  .jump{display:inline-block}
  .cards,.steps ol{grid-template-columns:1fr}
  .builder{grid-template-columns:1fr}
  .preview{position:static}
  .stage{max-height:none}
}
@media (max-width:480px){
  .top{padding:12px 16px}
  .bar .top{padding:8px 12px}
  .bar .logo{display:none}
  .bar .actions{width:100%;justify-content:space-between}
  .row2{grid-template-columns:1fr}
}

#printroot{display:none}
/* printing: only the menu sheet comes out */
@media print{
  html,body{background:#fff !important;min-height:0}
  body>*:not(#printroot){display:none !important}
  #printroot{display:block !important}
  .sheet,.foldset{zoom:1 !important;box-shadow:none !important}
  .foldset .cap,.sheet.fold .foldline{display:none !important}
  .sheet.fold.outside{break-after:page;page-break-after:always}
}

/* pass / paywall */
.paywall{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.paywall[hidden]{display:none}
.paybox{background:var(--panel,#1a1512);color:var(--text);border:1px solid var(--line);border-radius:16px;max-width:440px;width:100%;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.6)}
.paybox h2{margin:0 0 8px;font-size:1.3rem}
.paybox p{margin:0 0 14px}
.payopts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.payopts .btn{flex:1;text-align:center;min-width:140px}
.paymsg{min-height:1.2em;color:var(--accent)}
.paycode{margin:0 0 14px}
.paycode summary{cursor:pointer;color:var(--muted)}
.paycode input{display:block;width:100%;margin:10px 0;padding:10px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);font:inherit}
@media print{.paywall{display:none!important}}

/* contact page (same layout as the other SHORE AI sites) */
main.ct{flex:1;width:100%;max-width:1056px;margin:0 auto;padding:24px 20px 56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:36px 56px;align-items:start}
.ct>*{min-width:0}
.ct-label{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-h{font-size:clamp(2rem,5vw,3rem);margin:0;text-wrap:balance}
.ct-lede{margin:16px 0 24px;color:var(--muted);max-width:34rem}
.ct-info{margin:0;padding:0;border-top:1px solid var(--line)}
.ct-row{padding:14px 0;border-bottom:1px solid var(--line)}
.ct-row dt{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-row dd{margin:0;font-size:1.1875rem}
.ct-copy{margin-left:10px;font:inherit;font-size:.8rem;font-weight:700;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:6px;padding:6px 10px;cursor:pointer}
.ct-copy:hover{border-color:var(--muted)}
.ct-form{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,28px)}
.ct-fh{font-size:1.4rem;margin:0 0 6px}
.ct-form label{display:block;margin:16px 0 6px;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ct-form label span{text-transform:none;letter-spacing:0;font-weight:400}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.ct-form textarea{min-height:9rem;resize:vertical}
.ct-form input:focus,.ct-form textarea:focus{outline:2px solid var(--accent2);outline-offset:1px}
.ct-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-fine{margin:14px 0 0;font-size:.9rem;color:var(--muted)}
.ct-send{margin-top:20px}
.ct-send[disabled]{opacity:.6;cursor:progress}
.ct-note{margin:14px 0 0;min-height:1.4em;color:var(--muted)}
.ct-ok{color:var(--text);font-weight:700}
.ct-bad{color:#ff8a73;font-weight:700}
@media (max-width:820px){main.ct{grid-template-columns:minmax(0,1fr)}}

/* guides */
main.doc .crumbs{color:var(--muted);font-size:.92rem;margin:0 0 10px}
main.doc .crumbs a{text-decoration:none}
main.doc .cta{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin:30px 0}
main.doc .cta .btn{margin-top:10px}
main.doc .src{color:var(--muted);font-size:.9rem}
main.doc .list{list-style:none;padding:0}
main.doc .list li{margin-bottom:16px}
main.doc .list a{font-weight:700}

/* logo on the menu and the logo maker */
.sheet .logo{display:block;margin:0 auto .45em;max-width:78%;max-height:6.2em;width:auto;height:auto;object-fit:contain}
.sheet.fold .pn .logo{max-height:5.2em}
.sheet.fold .pn.small .logo{max-height:3em}
.logonow{display:flex;align-items:center;gap:12px;margin:6px 0 10px}
.logonow img{height:64px;width:auto;max-width:150px;background:#fff;border-radius:8px;padding:4px}
.logomaker{margin-top:6px}
.logomaker summary{cursor:pointer;color:var(--accent2);font-weight:600}
.logopick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.logochoice{background:#fff;border:2px solid var(--line);border-radius:10px;padding:8px;cursor:pointer}
.logochoice:hover,.logochoice:focus-visible{border-color:var(--accent)}
.logochoice img{display:block;width:100%;height:auto}
