:root{--cream:#f8f0df;--ivory:#fffaf0;--gold:#b8862f;--deep-gold:#8a5e18;--ink:#3f2f20;--muted:#7c6a57;--line:rgba(184,134,47,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,sans-serif;overflow-x:hidden}.container{width:min(1180px,90%);margin:auto}.section{padding:110px 0}.nav-wrap{position:fixed;z-index:50;width:100%;top:0;background:rgba(248,240,223,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,134,47,.18)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.crest,.nav-heart{font-size:31px;color:var(--gold);text-decoration:none}.nav-heart{background:none;border:0;cursor:pointer}.nav-links{display:flex;gap:35px}.nav-links a{color:var(--ink);text-decoration:none;font-size:11px;letter-spacing:.17em;text-transform:uppercase}.hero{min-height:100vh;padding:120px 0 70px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,#fff9ec 0 20%,transparent 45%),linear-gradient(135deg,#f6ead4,#fffaf1 45%,#ead8b8);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(184,134,47,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(184,134,47,.04) 1px,transparent 1px);background-size:60px 60px}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--deep-gold)}.mini-crown{font-size:42px;color:var(--gold);margin:16px 0}.hero h1{font-family:Parisienne,cursive;color:var(--gold);font-size:clamp(72px,9vw,135px);font-weight:400;line-height:.7;margin:0}.hero h1 span{font-family:Italiana,serif;display:block;font-size:.3em;letter-spacing:.24em;text-transform:uppercase;margin:0 0 18px 75px}.hero h2{font-family:Italiana,serif;font-size:clamp(70px,9vw,138px);font-weight:400;letter-spacing:.07em;margin:18px 0 0;background:linear-gradient(90deg,#835719,#d8ae5c,#8b601f);-webkit-background-clip:text;color:transparent}.hero-title{font-family:Cormorant Garamond,serif;text-transform:uppercase;letter-spacing:.12em;font-size:19px}.script{font-family:Parisienne,cursive;font-size:42px;color:var(--deep-gold);margin:6px 0}.hero-note{font-family:Cormorant Garamond,serif;font-size:21px;color:var(--muted);margin-bottom:30px}.gold-btn{display:inline-flex;align-items:center;gap:18px;border:1px solid var(--gold);padding:16px 24px;color:var(--deep-gold);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:10px;background:rgba(255,255,255,.35);transition:.3s}.gold-btn:hover{background:var(--gold);color:white;transform:translateY(-2px)}.portrait-frame{position:relative;border-radius:220px 220px 25px 25px;padding:11px;background:linear-gradient(145deg,#d9ae5c,#fff0b3,#93661c);box-shadow:0 30px 80px rgba(88,57,17,.22)}.portrait-frame:before{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.7);border-radius:205px 205px 18px 18px;z-index:1}.portrait-frame img{display:block;width:100%;height:650px;object-fit:cover;object-position:center;border-radius:210px 210px 20px 20px}.frame-crown{position:absolute;top:-31px;left:50%;transform:translateX(-50%);font-size:62px;color:#c69234;text-shadow:0 3px #fff}.floating-card{position:absolute;background:rgba(255,250,240,.92);border:1px solid var(--line);padding:13px 20px;font-family:Cormorant Garamond,serif;font-size:18px;color:var(--deep-gold);box-shadow:0 10px 30px rgba(92,63,18,.12)}.card-one{left:-45px;top:30%}.card-two{right:-35px;bottom:17%}.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);text-decoration:none;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.scroll-hint span{display:block;text-align:center;font-size:17px;margin-top:8px}.section-heading{text-align:center;margin-bottom:55px}.section-heading h3,.letter h3,.finale h3{font-family:Italiana,serif;font-weight:400;font-size:clamp(40px,5vw,67px);margin:12px 0;color:var(--deep-gold)}.gold-rule{display:flex;align-items:center;justify-content:center;color:var(--gold);gap:12px}.gold-rule:before,.gold-rule:after{content:"";width:80px;height:1px;background:var(--line)}.qualities{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quality{text-align:center;padding:38px 22px;border:1px solid var(--line);background:rgba(255,250,240,.55);transition:.3s}.quality:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(102,72,28,.1)}.quality span{font-size:32px;color:var(--gold)}.quality h4{font-family:Italiana,serif;font-size:24px;margin:15px 0 9px}.quality p{font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.5;color:var(--muted)}.gallery{background:#fffaf0}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:25px;align-items:start}.photo-card{margin:0;background:white;border:1px solid var(--line);padding:9px;box-shadow:0 15px 45px rgba(86,59,21,.1);transition:.35s}.photo-card:hover{transform:translateY(-8px) rotate(.3deg)}.photo-card img{width:100%;height:500px;object-fit:cover;display:block}.photo-card.tall img{height:660px}.brand-card img{object-position:center top}.photo-card figcaption{text-align:center;padding:18px 10px}.photo-card strong{display:block;font-family:Italiana,serif;color:var(--deep-gold);font-size:20px}.photo-card span{font-family:Cormorant Garamond,serif;color:var(--muted);font-size:17px}.quote-band{padding:95px 0;text-align:center;background:linear-gradient(90deg,#a8782b,#d2a858,#92641e);color:white}.quote-band p{font-family:Parisienne,cursive;font-size:clamp(35px,5vw,62px);line-height:1.2;max-width:980px;margin:0 auto}.quote-mark{font-family:serif;font-size:90px;opacity:.35}.quote-sign{display:block;margin-top:24px;text-transform:uppercase;letter-spacing:.2em;font-size:10px}.letter-section{background:linear-gradient(145deg,#f3e6ce,#fffaf2)}.letter-wrap{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:50px}.letter-photo{position:relative}.letter-photo img{width:100%;height:760px;object-fit:cover;display:block;border-radius:180px 180px 0 0;border:8px solid #fff;box-shadow:0 25px 65px rgba(75,49,14,.18)}.seal{position:absolute;bottom:30px;right:-24px;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:Italiana,serif;font-size:38px;background:linear-gradient(145deg,#d5aa57,#91631d);border:5px double #f8e4b9}.letter{background:rgba(255,252,246,.86);padding:60px;border:1px solid var(--line);box-shadow:0 25px 65px rgba(75,49,14,.13);position:relative}.letter:before,.letter:after{content:"";position:absolute;width:55px;height:55px;border-color:var(--gold)}.letter:before{top:14px;left:14px;border-top:1px solid;border-left:1px solid}.letter:after{bottom:14px;right:14px;border-bottom:1px solid;border-right:1px solid}.letter-top{display:flex;justify-content:center;align-items:center;gap:16px;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:10px}.letter p{font-family:Cormorant Garamond,serif;font-size:20px;line-height:1.55;color:#5e4c38}.letter-script{font-family:Parisienne,cursive!important;font-size:35px!important;color:var(--deep-gold)!important}.final-wish{font-weight:700}.letter-btn{cursor:pointer;margin-top:12px}.finale{position:relative;text-align:center;padding:125px 0;background:linear-gradient(rgba(45,27,10,.68),rgba(45,27,10,.78)),url('assets/daisy-brand.jpeg') center 28%/cover fixed;color:#fff}.finale h3{color:#f1c56e}.finale p:not(.eyebrow){font-family:Cormorant Garamond,serif;font-size:23px}.final-icons{margin-top:40px;display:flex;justify-content:center;gap:25px;align-items:center;text-transform:uppercase;letter-spacing:.15em;font-size:10px}.final-icons b{color:#f3c66b}footer{text-align:center;padding:24px;background:#2f2115;color:#eac87f;font-size:11px;letter-spacing:.12em}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,120px);z-index:80;background:#332315;color:#f4d28a;padding:15px 22px;border:1px solid var(--gold);font-size:12px;letter-spacing:.06em;transition:.4s}.toast.show{transform:translate(-50%,0)}#confetti{position:fixed;inset:0;pointer-events:none;z-index:70}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,137,.18),transparent 65%);pointer-events:none;z-index:2;transform:translate(-50%,-50%)}
@media(max-width:900px){.nav-links{display:none}.hero-grid,.letter-wrap{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-portrait{max-width:560px;margin:auto}.portrait-frame img{height:580px}.hero h1 span{margin-left:0}.qualities{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.photo-card:first-child{grid-row:span 2}.letter-photo{max-width:530px;margin:auto}.letter-photo img{height:680px}}
@media(max-width:600px){.section{padding:78px 0}.hero{padding-top:105px}.hero h1{font-size:70px}.hero h2{font-size:72px}.hero-title{font-size:14px}.portrait-frame img{height:470px}.floating-card{font-size:14px}.card-one{left:-8px}.card-two{right:-8px}.qualities,.gallery-grid{grid-template-columns:1fr}.photo-card img,.photo-card.tall img{height:auto}.letter{padding:42px 25px}.letter-photo img{height:560px}.final-icons{flex-wrap:wrap}.cursor-glow{display:none}}
