@font-face{font-family:"DM Sans";src:url(fonts/DMSans-500.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/DMSans-700.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/DMMono-500.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(fonts/BricolageGrotesque-800.ttf) format("truetype");font-weight:800;font-display:swap}
:root{--pacific:#1F4E79;--navy:#173A5E;--gold:#E8A317;--cream:#FFF8EC;--brown:#2B2118;--red:#C0362C;--light:#CFE3F3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--brown);font:500 17px/1.5 "DM Sans",system-ui,sans-serif}
a{color:inherit}
.draft-bar{background:var(--brown);color:var(--cream);font:500 12px/1.4 "DM Mono",monospace;text-align:center;padding:6px 12px;letter-spacing:.04em}
.ph-chip{display:inline-block;font:500 10px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red);border:1px dashed var(--red);border-radius:4px;padding:3px 5px;vertical-align:middle}
.draft-bar .ph-chip{color:var(--gold);border-color:var(--gold)}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:rgba(255,248,236,.94);backdrop-filter:blur(6px);border-bottom:1px solid rgba(31,78,121,.12)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--pacific);font:800 19px/1 "Bricolage Grotesque",sans-serif}
.brand img{height:36px;width:auto}
.top-cta{font:500 13px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--cream);background:var(--pacific);padding:10px 14px;border-radius:999px}
.hero{max-width:1080px;margin:0 auto;padding:36px 20px 48px;text-align:center}
.hero-logo{width:min(68vw,320px);height:auto;display:block;margin:0 auto}
.mono-line{font:500 13px/1.4 "DM Mono",monospace;letter-spacing:.14em;color:var(--red);margin:22px 0 6px}
.hero-line{font:800 clamp(28px,7vw,52px)/1.1 "Bricolage Grotesque",sans-serif;color:var(--navy);margin:8px 0 30px}
.hero-line .ph-chip{font-size:10px}
.actions{display:grid;gap:12px;max-width:440px;margin:0 auto}
.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:72px;padding:14px 20px;border-radius:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(23,58,94,.18)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn-k{font:700 20px/1.2 "DM Sans",sans-serif}
.btn-v{font:500 14px/1.2 "DM Mono",monospace;letter-spacing:.03em;opacity:.9}
.btn-call{background:var(--pacific);color:var(--cream)}
.btn-mail{background:var(--navy);color:var(--cream)}
.btn-req{background:var(--gold);color:var(--brown)}
.request{background:var(--navy);color:var(--cream);padding:48px 20px 56px}
.req-head,#req-form{max-width:760px;margin:0 auto}
.request h2{font:800 clamp(26px,6vw,40px)/1.1 "Bricolage Grotesque",sans-serif;margin:0 0 10px;color:var(--cream)}
.req-head p{margin:0 0 8px;color:var(--light)}
.req-head .es{font-size:15px}
.request .ph-chip{color:var(--gold);border-color:var(--gold)}
#req-form{margin-top:26px}
.grid{display:grid;gap:14px}
label{display:block;font:500 13px/1.3 "DM Mono",monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--light);margin-bottom:14px}
.grid label{margin:0}
input,textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;font:500 16px/1.4 "DM Sans",sans-serif;color:var(--brown);background:var(--cream);border:2px solid transparent;border-radius:10px;text-transform:none;letter-spacing:0}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
input[aria-invalid=true]{border-color:var(--red)}
.allergen{font-size:15px;color:var(--cream);background:rgba(232,163,23,.14);border-left:3px solid var(--gold);padding:10px 14px;border-radius:6px;margin:0 0 16px}
.btn-submit{width:100%;background:var(--gold);color:var(--brown);font:700 20px/1 "DM Sans",sans-serif;margin-top:4px}
.form-status{min-height:1.5em;margin:14px 0 0;color:var(--light);font-size:15px}
.form-status a{color:var(--gold)}
.form-status.err{color:#FFB4A8}
.foot{background:var(--brown);color:var(--cream);text-align:center;padding:32px 20px 40px;font-size:15px}
.foot img{height:40px;width:auto;margin-bottom:6px}
.foot p{margin:4px 0}
.foot a{color:var(--cream)}
@media (min-width:760px){
  .hero{padding:64px 32px 80px}
  .hero-logo{width:360px}
  .actions{grid-template-columns:repeat(3,1fr);max-width:900px;gap:16px}
  .btn{min-height:92px}
  .grid{grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:16px}
  .request{padding:72px 32px 80px}
}
