/* ---- Header (MVP v0.6: nav | centered wordmark | actions) ---- */
.site-header{height:var(--header-h);padding:0 30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(252,250,246,.985);position:sticky;top:0;z-index:30;backdrop-filter:saturate(120%) blur(8px)}
.main-nav{display:flex;gap:30px;justify-self:start}
.main-nav a{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;position:relative;padding:6px 0}
.main-nav a[aria-current=page]{color:var(--bronze)}
.main-nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--bronze)}
.brand{justify-self:center;font-family:var(--serif);font-size:34px;line-height:1;letter-spacing:.06em}
.header-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.icon-btn,.menu-toggle,.locale{border:0;background:none;padding:10px;cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center}
.icon-btn img{width:18px;height:18px;object-fit:contain}
.locale{font-size:var(--fs-label);letter-spacing:.04em}.locale[disabled]{color:var(--muted);cursor:default}
.menu-toggle{display:none;font-size:22px}
.brand-strip{height:34px;display:flex;align-items:center;justify-content:center;gap:14px;border-bottom:1px solid var(--line);font-size:var(--fs-label);letter-spacing:.17em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}
.brand-strip i{width:4px;height:4px;border-radius:50%;background:var(--bronze)}
.mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:40;padding:var(--s6) var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.mobile-menu a,.mobile-menu button{font-family:var(--serif);font-size:32px;text-align:left;background:none;border:0;padding:var(--s2) 0}
.mobile-menu-close{position:absolute;right:var(--s3);top:var(--s3);min-width:44px;min-height:44px;font-size:28px;font-family:var(--sans)}
.mobile-menu-tools{display:flex;gap:var(--s3);margin-top:auto}
.mobile-menu-tools button{font-family:var(--sans);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.06em}

/* ---- Buttons, links, badges ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-transform:uppercase;font-size:var(--fs-label);letter-spacing:.06em;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
.btn:hover{background:var(--sand)}
.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:#2a2622}
.btn-bronze{background:var(--bronze);border-color:var(--bronze);color:var(--paper)}.btn-bronze:hover{background:#75543f}
.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.btn.full{width:100%}
.text-link{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--taupe);padding-bottom:2px;cursor:pointer;background:none;border-top:0;border-left:0;border-right:0}
.text-link:hover{border-color:var(--bronze);color:var(--bronze)}
.badge{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 10px;background:rgba(245,241,234,.94);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.04em}
.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--bronze)}
.badge-closed::before{background:var(--muted)}.badge-soon::before{background:var(--taupe)}.badge-open::before{background:var(--success)}
.coming-soon{font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--taupe);padding:4px 8px}

/* ---- Forms ---- */
.form{display:grid;gap:var(--s3)}
.form-row{display:grid;gap:6px}
.form-row label{font-size:var(--fs-small);letter-spacing:.02em;color:var(--ink)}
.field{min-height:48px;border:1px solid var(--line);background:#fff;padding:0 14px;width:100%;transition:border-color var(--t-fast)}
textarea.field{padding:12px 14px;min-height:120px;resize:vertical}
.field:focus{border-color:var(--bronze);outline:none;box-shadow:0 0 0 2px rgba(138,101,78,.15)}
.field[aria-invalid=true]{border-color:var(--danger)}
.field-error{font-size:var(--fs-small);color:var(--danger)}
.field-hint{font-size:var(--fs-small);color:var(--muted)}
.consent{font-size:var(--fs-small);display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.consent input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--bronze)}
.consent a{border-bottom:1px solid var(--taupe)}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.notice{padding:14px 16px;border:1px solid var(--line);background:var(--sand);font-size:var(--fs-small)}
.notice-error{border-color:var(--danger);background:#fbf3f3;color:var(--danger)}
.notice-success{border-color:var(--success);background:#f1f7f3;color:var(--success)}

/* ---- Auth / narrow pages ---- */
.narrow{width:min(440px,100%);margin:var(--s7) auto;padding:0 var(--gutter)}
.narrow h1{margin:0 0 var(--s2)}
.narrow .eyebrow{margin-bottom:var(--s3)}
.narrow p.muted{margin:0 0 var(--s4)}
.auth-links{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4);margin-top:var(--s4)}

/* ---- Footer (MVP value row) ---- */
.site-footer{border-top:1px solid var(--line);margin-top:var(--s8);padding:var(--s6) 30px var(--s5)}
.value-row{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s4)}
.value-row div{display:flex;gap:12px;align-items:flex-start}
.value-row img{width:22px;height:22px;flex:none;margin-top:2px}
.value-row b{display:block;font-size:var(--fs-label);letter-spacing:.1em;font-weight:600}
.value-row small{display:block;font-size:var(--fs-small);color:var(--muted);margin-top:2px}
.footer-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s4)}
.footer-links a{border-bottom:1px solid transparent}.footer-links a:hover{border-color:var(--taupe)}

/* ---- Toast ---- */
.toast{position:fixed;left:50%;bottom:var(--s5);transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 18px;font-size:var(--fs-small);opacity:0;pointer-events:none;transition:opacity var(--t-med),transform var(--t-med);z-index:60}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---- Responsive ---- */
@media (max-width:1024px){.site-header{padding:0 var(--gutter)}.main-nav{gap:20px}.value-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.main-nav{display:none}.menu-toggle{display:grid}.header-actions .icon-btn:not(.icon-search){display:none}.brand{font-size:28px}.brand-strip{font-size:10px;letter-spacing:.12em}.value-row{grid-template-columns:repeat(2,1fr)}.site-footer{padding:var(--s5) var(--gutter)}}
@media (max-width:480px){.value-row{grid-template-columns:1fr}}

/* ---- Modal (MVP v0.6) ---- */
.modal-backdrop{position:fixed;inset:0;background:rgba(23,21,19,.42);display:grid;place-items:center;padding:var(--s3);z-index:50}
.modal{position:relative;width:min(640px,100%);max-height:88vh;overflow:auto;background:var(--paper);padding:var(--s5);box-shadow:var(--shadow)}
.modal-close{position:absolute;right:var(--s2);top:var(--s2);min-width:44px;min-height:44px;border:0;background:none;font-size:26px;cursor:pointer}
.modal h2{margin:0 0 var(--s3)}
.modal-doc{font-size:var(--fs-small);line-height:1.6}.modal-doc h2{font-family:var(--sans);font-size:14px;font-weight:600;margin:var(--s3) 0 var(--s2)}
.document-body p{margin:0 0 var(--s3);max-width:72ch}.document-body h2{font-family:var(--serif);font-weight:400;font-size:24px;margin:var(--s5) 0 var(--s2)}
.legal-page{padding:var(--s6) 0}.legal-page h1{margin:var(--s2) 0 var(--s4)}
