:root{
  --bg:#1C1D1F; --bg2:#25272A; --ink:#EEEAE2; --muted:#A9A49B; --red:#E2362F; --red-ink:#fff;
  --navy:#2B3270; --line:#3B3D42; --paper:#F1ECE1; --paper-ink:#1E1F22; --tape:#D8C99E;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#161719;--bg2:#202225}}
:root[data-theme="dark"]{--bg:#161719;--bg2:#202225}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;color:var(--ink);background-color:var(--bg);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' 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>");
  font-family:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.08rem;line-height:1.6}
h1,h2,h3{font-family:"Anton","Impact","Arial Narrow",sans-serif;font-weight:400;line-height:1.02;margin:0 0 .5em;letter-spacing:.005em}
.marker{font-family:"Permanent Marker","Comic Sans MS",cursive}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wrap{max-width:1140px;margin:0 auto;padding:0 1.25rem}
.btn{display:inline-block;font-family:"Anton",sans-serif;font-size:1.15rem;letter-spacing:.03em;text-decoration:none;padding:.8rem 1.4rem;border:2px solid var(--red);cursor:pointer}
.btn-red{background:var(--red);color:var(--red-ink)}
.btn-line{color:var(--ink);border-color:var(--ink)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}

/* Header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:rgba(22,23,25,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.sticker{background:#fff;padding:6px 10px;transform:rotate(-2deg);box-shadow:2px 3px 0 rgba(0,0,0,.4);display:block}
.sticker img{height:44px;width:auto;display:block}
nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0;font-weight:500;font-size:.95rem}
nav a{text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--ink)}
.call{font-family:"Anton",sans-serif;letter-spacing:.03em;background:var(--red);color:#fff;text-decoration:none;padding:.5rem .9rem;white-space:nowrap}
@media (max-width:820px){nav{display:none}}

/* Hero */
.hero{padding:5rem 0 4.5rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(3rem,9vw,7.2rem);text-transform:uppercase;max-width:11ch;position:relative;z-index:1}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{font-size:1.2rem;max-width:40ch;color:var(--muted);margin:0 0 2rem}
.hero .ctas{display:flex;flex-wrap:wrap;gap:1rem}
.stamp{position:absolute;right:4%;top:3.5rem;font-family:"Anton",sans-serif;font-size:clamp(1.6rem,4vw,3rem);color:var(--red);
  border:5px solid var(--red);padding:.3rem 1.1rem .4rem;transform:rotate(-11deg);text-align:center;line-height:1;letter-spacing:.06em;opacity:.92;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 2.7'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 2.7'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>")}
.stamp small{display:block;font-size:.38em;letter-spacing:.12em;margin-top:.3rem}
@media (max-width:820px){.stamp{position:relative;right:auto;top:auto;display:inline-block;margin:0 0 1.5rem}}
.cred-strip{border-block:1px solid var(--line);background:var(--bg2)}
.cred-strip .wrap{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;padding-block:1rem;font-weight:700;font-size:.95rem}
.cred-strip span::before{content:"";display:inline-block;width:.55rem;height:.55rem;background:var(--red);margin-right:.6rem;transform:rotate(45deg) translateY(-2px)}

section{padding:5.5rem 0}
.kicker{font-family:"Permanent Marker",cursive;color:var(--red);font-size:1.15rem;display:block;margin-bottom:.3rem;transform:rotate(-1.5deg);transform-origin:left}
section h2{font-size:clamp(2.4rem,5.5vw,4rem);text-transform:uppercase}
.lead{color:var(--muted);max-width:46ch;margin:0 0 2.5rem}

/* Checklist */
.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;list-style:none;margin:0;padding:0}
.checklist li{display:grid;grid-template-columns:2rem 1fr;gap:.9rem;padding:1.2rem 0;border-bottom:1px dashed var(--line)}
.box{width:1.6rem;height:1.6rem;border:2px solid var(--ink);position:relative;margin-top:.2rem}
.box::after{content:"";position:absolute;left:-2px;top:-12px;width:2.2rem;height:2.2rem;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M6 22 C10 25 13 29 16 33 C21 22 28 12 36 5' fill='none' stroke='%23E2362F' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain}
.checklist h3{font-size:1.35rem;text-transform:uppercase;margin:0 0 .2rem}
.checklist p{margin:0;color:var(--muted);font-size:.98rem}
@media (max-width:560px){.checklist{grid-template-columns:1fr}}

/* Steps */
.steps-wrap{background:var(--bg2);border-block:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s}
.steps li::before{content:"0" counter(s);font-family:"Anton",sans-serif;font-size:4.5rem;line-height:1;color:transparent;-webkit-text-stroke:2px var(--red);display:block;margin-bottom:.6rem}
.steps h3{font-size:1.5rem;text-transform:uppercase}
.steps p{margin:0;color:var(--muted)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* About */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:center}
.polaroid{background:#fff;padding:14px 14px 56px;transform:rotate(-3deg);box-shadow:6px 8px 0 rgba(0,0,0,.45);position:relative;max-width:400px}
.polaroid .img{aspect-ratio:4/4.4;background:linear-gradient(150deg,#3a4b8a,#1f2448);display:grid;place-items:center;color:rgba(255,255,255,.75);font-size:.95rem;text-align:center;padding:1rem}
.polaroid .cap{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:#222;font-size:1.3rem}
.polaroid::before{content:"";position:absolute;top:-14px;left:50%;width:110px;height:30px;margin-left:-55px;background:var(--tape);opacity:.85;transform:rotate(4deg)}
.about-grid p{max-width:58ch}
.tags{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:1.5rem 0 0}
.tags li{font-weight:700;font-size:.9rem;background:var(--paper);color:var(--paper-ink);padding:.4rem .75rem;transform:rotate(-1deg)}
.tags li:nth-child(2){transform:rotate(1.5deg);background:var(--red);color:#fff}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;gap:3rem}.polaroid{margin:0 auto}}

/* Reviews */
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.note{background:var(--paper);color:var(--paper-ink);padding:1.6rem 1.5rem 1.3rem;margin:0;box-shadow:4px 5px 0 rgba(0,0,0,.4);font-size:1rem;line-height:1.55}
.note:nth-child(3n+1){transform:rotate(-1.2deg)}
.note:nth-child(3n+2){transform:rotate(.8deg)}
.note:nth-child(3n){transform:rotate(-.4deg)}
.note cite{display:block;margin-top:.9rem;font-style:normal;font-family:"Permanent Marker",cursive;color:#B22720;font-size:1.05rem}
@media (max-width:900px){.notes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:580px){.notes{grid-template-columns:1fr}}

/* Pricing board */
.board{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem}
.board h3{font-size:1.6rem;text-transform:uppercase;color:var(--red)}
.board ul{list-style:none;margin:0;padding:0}
.board li{display:flex;align-items:baseline;gap:.6rem;padding:.55rem 0;font-size:1.1rem}
.board li .dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px)}
.board li .amt{font-family:"Anton",sans-serif;font-size:1.5rem;letter-spacing:.02em}
.board li .amt small{font-family:"Work Sans",sans-serif;font-size:.8rem;color:var(--muted);margin-right:.3rem}
.fine{color:var(--muted);margin-top:1.8rem;font-size:.98rem}
@media (max-width:760px){.board{grid-template-columns:1fr;gap:2.5rem}}

/* Booking */
.book{background:var(--bg2);border-top:1px solid var(--line)}
.book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}
.big-phone{font-family:"Anton",sans-serif;font-size:clamp(2.2rem,5vw,3.2rem);text-decoration:none;display:block;margin:.4rem 0 .2rem;letter-spacing:.02em}
.mail{word-break:break-all;color:var(--muted)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}
.full{grid-column:1/-1}
label,legend{display:block;font-weight:700;font-size:.85rem;margin-bottom:.35rem;letter-spacing:.02em}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:.75rem .85rem;border:2px solid var(--line);background:var(--bg);color:var(--ink);border-radius:0}
input:focus,select:focus,textarea:focus{border-color:var(--red);outline:none}
textarea{min-height:110px;resize:vertical}
fieldset{border:0;margin:0;padding:0}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}
.checks label{display:flex;align-items:center;gap:.55rem;font-weight:400;font-size:.98rem;margin:0}
.checks input{width:auto;accent-color:var(--red)}
form .btn{width:100%;margin-top:1.4rem;font-size:1.3rem}
.err{color:#FF7A73;font-weight:700;min-height:1.2em;margin:.8rem 0 0}
.done{display:none;padding:2rem 0}
.done h3{font-size:2.2rem;text-transform:uppercase}
form.sent .fields,form.sent .btn,form.sent .err{display:none}
form.sent .done{display:block}
@media (max-width:860px){.book-grid{grid-template-columns:1fr;gap:2.5rem}}
@media (max-width:520px){.fields{grid-template-columns:1fr}}

footer{padding:2.5rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
footer a{color:var(--ink);word-break:break-all}
.hint{font-weight:400;color:var(--muted);font-size:.8rem;margin-left:.3rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form button[disabled]{opacity:.6;cursor:wait}

.polaroid .img{overflow:hidden}
.polaroid .img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.about-grid.solo{grid-template-columns:1fr;max-width:820px}
