:root{--black:#111;--ink:#1a1a1a;--gold:#D9A21B;--gold-light:#F6D06A;--red:#D7191F;--white:#fff;--paper:#f6f3ec;--muted:#6b6b6b}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.05;text-transform:uppercase}
.script{font-family:'Kaushan Script',cursive;text-transform:none;letter-spacing:0}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1100px,100% - 32px);margin-inline:auto}
section{padding:72px 0}
.eyebrow{font-family:'Kaushan Script',cursive;color:var(--gold);font-size:1.5rem;margin-bottom:8px}
h2{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:16px}
.btn{display:inline-block;padding:16px 28px;border-radius:999px;font-weight:600;text-decoration:none;font-size:1rem;border:2px solid transparent;transition:transform .15s,box-shadow .15s;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.btn-gold{background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--black)}
.btn-outline{background:transparent;color:var(--white);border-color:var(--white)}
.btn-dark{background:var(--black);color:var(--white)}
.btn-red{background:var(--red);color:var(--white)}
/* nav */
nav{position:sticky;top:0;z-index:20;background:rgba(17,17,17,.92);backdrop-filter:blur(8px);color:#fff}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
nav .brand{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem;text-decoration:none}
nav .brand span{color:var(--gold)}
nav .links{display:flex;gap:22px;align-items:center;font-size:.95rem}
nav .links a{text-decoration:none;opacity:.9}
nav .links .btn{padding:10px 18px;font-size:.9rem}
@media(max-width:700px){nav .links a:not(.btn){display:none}}
/* hero */
.hero{background:radial-gradient(1200px 600px at 50% -10%,#3a2c07 0%,var(--black) 55%);color:#fff;text-align:center;padding:56px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:linear-gradient(90deg,var(--red),var(--gold))}
.hero img.logo{width:min(420px,78vw);margin:0 auto 20px;filter:drop-shadow(0 12px 30px rgba(0,0,0,.5))}
.hero h1{font-size:clamp(2.6rem,7vw,5rem);margin-bottom:14px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p.lead{font-size:clamp(1.05rem,2.2vw,1.3rem);max-width:720px;margin:0 auto 28px;opacity:.92}
.hero .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.hero .occasions{font-size:.9rem;opacity:.75;letter-spacing:.04em}
/* video */
.video{background:var(--paper);text-align:center}
.video .frame{aspect-ratio:16/9;max-width:860px;margin:0 auto;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25);display:grid;place-items:center;color:#fff}
.video .frame iframe{width:100%;height:100%;border:0}
.video .frame .placeholder{padding:32px}
.video .frame .placeholder .display{font-size:2rem;color:var(--gold)}
.video .frame .placeholder p{opacity:.8;margin-top:8px}
.video .caption{margin-top:14px;color:var(--muted);font-size:.95rem}
/* how */
.how .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:8px}
.step{background:var(--white);border:2px solid #ececec;border-radius:16px;padding:26px;position:relative}
.step .num{font-family:'Anton',Impact,sans-serif;font-size:3rem;color:var(--gold);line-height:1}
.step h3{font-size:1.4rem;margin:8px 0 6px}
.step p{color:var(--muted)}
/* packages */
.packages{background:var(--black);color:#fff}
.packages .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:20px}
.card{background:#1c1c1c;border:2px solid #2b2b2b;border-radius:18px;padding:28px;display:flex;flex-direction:column;position:relative}
.card.featured{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,162,27,.15)}
.card .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.card h3{font-size:1.5rem;color:var(--gold)}
.card .price{font-family:'Anton',Impact,sans-serif;font-size:3rem;margin:6px 0 14px}
.card .price small{font-family:'Poppins',sans-serif;font-size:.9rem;opacity:.7;margin-left:6px}
.card ul{list-style:none;margin-bottom:22px;flex:1}
.card li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid #2b2b2b;font-size:.97rem}
.card li::before{content:"★";color:var(--gold);position:absolute;left:0}
.card .btn{text-align:center}
.packages .fine{margin-top:22px;text-align:center;font-size:.9rem;opacity:.7;max-width:760px;margin-inline:auto}
/* biz */
.biz{background:var(--paper)}
.biz .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
@media(max-width:800px){.biz .wrap{grid-template-columns:1fr}}
.biz ul{margin:14px 0 22px 18px;color:var(--muted)}
.biz .quote{background:var(--black);color:#fff;border-radius:18px;padding:30px;font-family:'Kaushan Script',cursive;font-size:1.6rem;line-height:1.3}
.biz .quote span{display:block;font-family:'Poppins',sans-serif;font-size:.85rem;opacity:.7;margin-top:14px}
/* form */
.book{background:var(--white)}
.book .intro{max-width:680px;margin-bottom:28px;color:var(--muted)}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:820px}
@media(max-width:640px){form{grid-template-columns:1fr}}
form .full{grid-column:1/-1}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
label small{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;padding:13px 14px;border:2px solid #ddd;border-radius:10px;font:inherit;font-size:1rem;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,162,27,.2)}
textarea{min-height:110px;resize:vertical}
form .btn{justify-self:start}
.req{color:var(--red)}
.hp{display:none}
/* footer */
footer{background:var(--black);color:#fff;padding:44px 0;text-align:center;font-size:.95rem}
footer .brand{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:1.4rem;letter-spacing:.04em}
footer .brand span{color:var(--gold)}
footer p{opacity:.8;margin-top:8px}
footer .social{display:flex;gap:18px;justify-content:center;margin:16px 0}
footer .social a{text-decoration:none;border:1px solid #444;padding:8px 14px;border-radius:999px;font-size:.85rem}
footer .tag{font-family:'Kaushan Script',cursive;color:var(--gold);font-size:1.2rem;margin-top:10px}
footer .fine{opacity:.5;font-size:.8rem;margin-top:16px}
/* thanks + brief */
.simple{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--black);color:#fff;padding:60px 16px}
.simple h1{font-size:clamp(2.4rem,6vw,4rem);color:var(--gold)}
.simple p{max-width:560px;margin:14px auto 26px;opacity:.9;font-size:1.1rem}
.brief-hero{background:var(--black);color:#fff;padding:48px 0 40px;text-align:center}
.brief-hero img{width:220px;margin:0 auto 14px}
.brief-hero h1{font-size:clamp(2.2rem,6vw,3.6rem)}
.brief-hero p{opacity:.85;max-width:640px;margin:10px auto 0}
.brief-form{padding:48px 0 80px}
.brief-form h2{font-size:1.6rem;margin:26px 0 4px;color:var(--gold);grid-column:1/-1}
.brief-form form{max-width:820px}
