:root{--bg:#1a0a07;--brown:#2b120d;--red:#ff3a1d;--deep:#d92b14;--cream:#f5e6d8;--mut:#c9b3a4}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 17px/1.65 "Nunito",system-ui,sans-serif;background:var(--bg);color:var(--cream)}
a{color:inherit}
:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
h1,h2,h3,.logo,nav a{font-family:"Lobster",Georgia,cursive;font-weight:400}
.wrap{max-width:1120px;margin:auto;padding:0 24px}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 48% 45%,#5d2a20 0%,#3a1712 45%,#1a0a07 100%)}
header{position:absolute;top:0;left:0;right:0;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;max-width:1000px}
.logo{font-size:2rem;text-decoration:none;line-height:1}
.logo b{color:#e8240c;font-weight:400;font-size:2.2rem}
nav{display:flex;gap:6px;align-items:center}
nav a{text-decoration:none;font-size:1.05rem;padding:9px 16px;border-radius:3px}
nav a:hover{background:rgba(255,255,255,.1)}
nav a.on{background:var(--red)}
nav a.dim{opacity:.7}
.scene{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:1000/565;container-type:inline-size}
.scene svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hl{position:absolute;left:18%;top:24%;z-index:3;font-size:5.4cqw;line-height:1.12;transform:rotate(-6deg);transform-origin:left;text-shadow:0 3px 14px rgba(0,0,0,.55);pointer-events:none}
.hl span{display:block;padding-left:.55em}
.hl svg{position:static;display:block;width:78%;height:auto;margin:-.1em 0 0 -.1em}
#glow{position:absolute;inset:0;opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse 55% 45% at 45% 70%,rgba(255,140,40,.5),transparent 70%),radial-gradient(ellipse at 50% 115%,rgba(255,190,70,.5),transparent 55%)}
.wave{position:absolute;left:0;bottom:-1px;width:100%;height:46px;display:block}

.btn{display:inline-block;padding:13px 30px;border-radius:4px;font-weight:800;text-decoration:none;background:var(--red);color:#fff;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
h2{font-size:clamp(2.3rem,5vw,3.4rem);line-height:1.1;margin-bottom:14px}

/* menu */
.menu{padding:88px 0 96px;background:var(--deep);color:#fff}
.menu .lead{max-width:48ch;margin-bottom:48px;color:#ffd9cf}
.m{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:34px 72px}
.row{display:flex;align-items:baseline}
.row b{font-size:1.3rem;font-weight:800}
.dots{flex:1;border-bottom:2px dotted rgba(255,255,255,.55);margin:0 10px 5px}
.row em{font-style:normal;font-weight:800;font-size:1.25rem}
.m p{color:#ffd9cf;max-width:42ch}

/* about + contact */
.about{padding:96px 0 40px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:36px}
.cols h3{font-size:1.7rem;margin-bottom:6px;color:var(--red)}
.cols p{color:var(--mut)}
.contact{padding:56px 0 96px}
.box{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start;background:var(--brown);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:48px}
.box h2{margin-bottom:22px}
.box dt{font-weight:800;margin-bottom:2px}
.box dd{margin-bottom:16px;color:var(--mut)}
footer{padding:24px 0 36px;color:#8f7a6e;font-size:.9rem;border-top:1px solid rgba(255,255,255,.08)}

@media(max-width:820px){
  .scene{width:135%;margin-left:-14%}
  .hl{position:relative;left:auto;top:auto;transform:none;text-align:center;font-size:2.5rem;padding:140px 24px 0;margin-bottom:-6%;width:100%}
  .hl span{padding:0}.hl svg{display:none}
  .m,.cols,.box{grid-template-columns:1fr}
  .box{padding:30px}
}

/* ---- multi-page additions ---- */
.logo{color:var(--cream)}
.btn.ghost{background:#fff;color:var(--deep)}
.red{padding:88px 0 96px;background:var(--deep);color:#fff}
.red .lead{max-width:48ch;margin-bottom:40px;color:#ffd9cf}
.red .cols h3{color:#fff}.red .cols p{color:#ffd9cf}
.red .cols a{font-weight:800}
.phead{position:relative;overflow:hidden;text-align:center;padding:170px 24px 112px;background:radial-gradient(ellipse 70% 120% at 50% 0,#5d2a20 0%,#3a1712 50%,#1a0a07 100%)}
.phead h1{font-size:clamp(3rem,8vw,5.4rem);line-height:1.05;margin-bottom:12px;text-shadow:0 3px 14px rgba(0,0,0,.5)}
.phead p{max-width:46ch;margin:auto;color:var(--mut);font-size:1.15rem}
.price{font-weight:800;font-size:1.2rem;margin-top:8px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.tabs button{font:inherit;font-weight:800;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);padding:9px 22px;border-radius:99px;cursor:pointer}
.tabs button[aria-pressed=true]{background:#fff;color:var(--deep)}
.cat{margin-bottom:56px}.cat h3{font-size:2rem;margin-bottom:22px}
.story{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.story p{margin-bottom:16px;color:#ffe3da}
.quote{font-family:"Lobster",cursive;font-size:clamp(2rem,4vw,3rem);line-height:1.2;transform:rotate(-3deg);text-shadow:0 3px 12px rgba(0,0,0,.35)}
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:36px}
.steps li{counter-increment:s;border-top:3px solid var(--red);padding-top:14px}
.steps li::before{content:counter(s);display:block;font-family:"Lobster",cursive;font-size:2.6rem;line-height:1;color:var(--red);margin-bottom:6px}
.steps h3{font-size:1.5rem;margin-bottom:4px}.steps p{color:var(--mut)}
.formgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
form label{display:block;font-weight:800;margin:0 0 6px}
form .f{margin-bottom:18px}
input,select,textarea{width:100%;font:inherit;color:#fff;background:var(--brown);border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:12px 14px}
textarea{min-height:140px;resize:vertical}
.side{background:var(--brown);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:32px}
.side h3{font-size:1.7rem;margin-bottom:10px;color:var(--red)}
.side p{color:var(--mut);margin-bottom:12px}
#st{margin-top:14px;color:var(--mut)}
/* footer */
footer{padding:0;border:0;background:#120604;color:#b8a498;font-size:.95rem}
.fcta{background:var(--deep);color:#fff;padding:34px 0}
.fcta .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.fcta h2{margin:0;font-size:clamp(1.8rem,3.5vw,2.6rem)}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.4fr;gap:40px;padding:64px 24px 44px}
.fcols h4{font:400 1.5rem "Lobster",cursive;color:var(--cream);margin-bottom:14px}
.fcols ul{list-style:none}.fcols li{margin-bottom:8px}
.fcols a{text-decoration:none}.fcols a:hover{color:#fff;text-decoration:underline}
.fcols p{margin:14px 0 18px;max-width:30ch}
.hrs li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dotted rgba(255,255,255,.2);padding-bottom:6px}
.hrs span{color:var(--cream);font-weight:600}
.soc{display:flex;gap:10px}
.soc a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--cream);transition:background .15s}
.soc a:hover{background:var(--red);text-decoration:none}
.fbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding:20px 24px 30px;font-size:.88rem;color:#8f7a6e}
.fbot a{margin-left:18px;text-decoration:none}.fbot a:hover{color:#fff}
@media(max-width:820px){
  header .wrap{height:auto;flex-direction:column;gap:2px;padding-top:12px}
  nav{width:100%;overflow-x:auto;justify-content:center}
  nav a{padding:7px 11px;font-size:.98rem;white-space:nowrap}
  .phead{padding:150px 24px 100px}
  .story,.formgrid{grid-template-columns:1fr;gap:36px}
  .steps{grid-template-columns:1fr 1fr}
  .fcols{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:520px){.steps,.fcols{grid-template-columns:1fr}}
