:root{
  --violet:#2a1037; --violet2:#3d1750; --plum:#5d286c; --gold:#c7a14d; --gold2:#e4cf8c;
  --ivory:#fbf7ef; --cream:#f4eee3; --ink:#2b2030; --muted:#766b78;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--ivory);color:var(--ink);line-height:1.65}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{max-width:850px}.center{text-align:center}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 10%,#6a3a76 0,#3a1748 28%,#210b2d 68%,#15061d 100%);color:white;padding:64px 0 58px;border-bottom:1px solid rgba(199,161,77,.5)}
.hero:after{content:"";position:absolute;inset:auto -10% -45% -10%;height:70%;background:radial-gradient(ellipse,rgba(199,161,77,.18),transparent 65%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:56px;align-items:center}.hero-copy{position:relative;z-index:1}.eyebrow,.section-label{font-size:12px;letter-spacing:.24em;font-weight:800;color:var(--gold);text-transform:uppercase}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,7vw,86px);line-height:.98;margin:18px 0 4px;font-weight:500;letter-spacing:-.02em}.hero-sub{font-family:Georgia,'Times New Roman',serif;color:var(--gold2);font-size:29px;margin:0 0 24px;font-style:italic}.hero-kicker{font-size:20px;font-weight:800;letter-spacing:.04em;margin:0 0 8px}.hero-intro{max-width:760px;color:#f2eaf4;font-size:17px}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:28px 0;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.15)}.hero-facts div{background:rgba(20,6,28,.72);padding:16px 18px}.hero-facts span{display:block;font-size:10px;letter-spacing:.18em;color:var(--gold2);font-weight:800;margin-bottom:4px}.hero-facts strong{font-size:15px}.timing-note{padding:14px 16px;border-left:3px solid var(--gold);background:rgba(255,255,255,.06);max-width:760px}.hero-mark{display:flex;justify-content:center;position:relative;z-index:1}.hero-mark img{width:min(390px,100%);border-radius:50%;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.section{padding:78px 0}.intro-section{background:white}.section h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(34px,5vw,54px);line-height:1.1;color:var(--violet);margin:12px 0 22px}.intro-section p,.palette-section p,.flower-section p{font-size:18px;color:#514654}
.palette-section{background:linear-gradient(180deg,#f9f5ec,#f1eadf)}.split{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center}.palette{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:12px;margin-top:28px}.palette div{display:flex;align-items:center;gap:10px;padding:10px 12px;background:white;border:1px solid #e9dfd0;border-radius:999px;font-size:13px}.palette i{width:24px;height:24px;background:var(--c);border-radius:50%;border:1px solid #ddd}.style-card{min-height:390px;border-radius:28px;background:linear-gradient(145deg,#fff,#f4ead9);border:1px solid #ddcda9;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 20px 60px rgba(61,23,80,.1);position:relative;overflow:hidden}.style-orb{position:absolute;width:260px;height:260px;border-radius:50%;background:conic-gradient(#fff,#edd4d7,#d6e3ef,#d7dfce,#e9d9c1,#fff);top:-55px;right:-20px;filter:saturate(.75)}.style-copy{position:relative}.style-copy span{font-size:11px;letter-spacing:.25em;font-weight:800;color:var(--gold)}.style-copy strong{display:block;font-family:Georgia,serif;font-size:30px;color:var(--violet);margin:6px 0}.style-copy p{font-size:15px;margin:0}
.flower-section{background:white}.feature-card{display:grid;grid-template-columns:280px 1fr;gap:54px;align-items:center;background:var(--ivory);border:1px solid #eadfce;border-radius:32px;padding:46px 58px}.flower-art{height:270px;position:relative}.stem{position:absolute;width:5px;height:185px;background:#76906d;left:137px;bottom:8px;transform:rotate(4deg);border-radius:10px}.petal{position:absolute;width:95px;height:130px;background:linear-gradient(145deg,#fff,#ece9e2);border-radius:65% 35% 60% 40%;box-shadow:inset 0 0 14px rgba(0,0,0,.04)}.p1{left:90px;top:24px;transform:rotate(-8deg)}.p2{left:52px;top:63px;transform:rotate(-62deg)}.p3{left:142px;top:62px;transform:rotate(55deg)}.p4{left:76px;top:102px;transform:rotate(-130deg)}.p5{left:132px;top:102px;transform:rotate(130deg)}.flower-center{position:absolute;width:38px;height:38px;background:#e0c373;border-radius:50%;left:113px;top:108px}.whisper{font-family:Georgia,serif;font-style:italic;color:var(--plum)!important}
.gift-section{background:var(--violet);color:#f9f4ed}.gift-section h2{color:white}.gift-section p{font-size:17px;color:#ede4ed}.gold{color:var(--gold2)}.quote{font-family:Georgia,serif;font-size:27px;line-height:1.35;color:var(--gold2);margin:32px 0;padding:26px 0;border-top:1px solid rgba(199,161,77,.35);border-bottom:1px solid rgba(199,161,77,.35);text-align:center}.no-gifts{margin-top:34px;border:1px solid var(--gold);padding:16px;text-align:center;color:var(--gold2);font-size:12px;letter-spacing:.15em;font-weight:800}
.checklist-section{background:#f7f1e8}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.check-grid div{background:white;border:1px solid #e4d8c7;border-radius:18px;padding:20px;display:flex;gap:16px;align-items:center}.check-grid b{font-family:Georgia,serif;color:var(--gold);font-size:27px}.check-grid span{font-size:15px}
.journey-section{background:white;padding:60px 0}.journey-line{display:flex;flex-wrap:wrap;justify-content:center;gap:11px;align-items:center;margin-top:18px;font-family:Georgia,serif;color:var(--violet);font-size:18px}.journey-line i{color:var(--gold);font-style:normal}
footer{background:#16071e;color:#eee2ef;padding:46px 0}.footer-brand{font-family:Georgia,serif;color:var(--gold2);letter-spacing:.12em;font-size:23px}.footer p{margin:5px}.footer-flight{font-size:11px;letter-spacing:.18em;color:#c8baca;margin-top:14px}
@media(max-width:850px){.hero-grid,.split,.feature-card{grid-template-columns:1fr}.hero-mark{order:-1}.hero-mark img{width:240px}.hero h1{text-align:center}.hero-sub,.eyebrow{text-align:center}.hero-facts{grid-template-columns:1fr}.split{gap:28px}.feature-card{padding:32px 24px}.flower-art{height:220px;width:240px;margin:auto;transform:scale(.85)}.palette{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:1fr}.section{padding:56px 0}.hero{padding-top:38px}.journey-line{font-size:16px}}

/* Boarding location */
.location-section { background:#fbf7ef; }
.location-card { display:grid; grid-template-columns:1.15fr .85fr; gap:32px; align-items:stretch; }
.location-main, .parking-note { border:1px solid rgba(202,162,74,.38); border-radius:24px; padding:34px; background:#fffdf9; box-shadow:0 18px 45px rgba(42,16,55,.07); }
.location-main h2 { margin-bottom:14px; }
.location-address { font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.35rem,2.5vw,2rem); line-height:1.35; color:#2a1037; margin:10px 0 20px; }
.location-address strong { color:#5b2a6f; }
.directions-btn { display:inline-block; padding:13px 22px; border-radius:999px; background:#2a1037; color:#fff; text-decoration:none; font-weight:700; letter-spacing:.06em; font-size:.86rem; border:1px solid #caa24a; }
.directions-btn:hover { background:#4a1d5f; }
.parking-note { background:#2a1037; color:#f9f4e8; }
.parking-note .section-label { color:#d8b96e; }
.parking-note h3 { margin:8px 0 12px; font-family:Georgia,'Times New Roman',serif; font-size:1.5rem; color:#fff; }
.parking-note p { color:#eee4f0; }
@media (max-width:780px){ .location-card{grid-template-columns:1fr;} .location-main,.parking-note{padding:26px;} }


/* Final boarding confirmation */
.confirm-section{background:#fff;padding:58px 0;}
.confirm-card{max-width:850px;text-align:center;border:1px solid rgba(199,161,77,.45);border-radius:28px;padding:42px 38px;background:linear-gradient(180deg,#fffdf9,#f8f1e7);box-shadow:0 18px 50px rgba(42,16,55,.08);}
.confirm-card h2{margin-bottom:16px;}
.confirm-card p{font-size:17px;color:#514654;max-width:720px;margin:12px auto;}
.confirm-phrase{display:inline-block;margin:18px 0 10px;padding:15px 24px;border:1px solid var(--gold);border-radius:999px;background:var(--violet);color:var(--gold2);font-weight:800;letter-spacing:.14em;font-size:14px;}
.confirm-note{color:var(--violet)!important;margin-top:16px!important;}
@media(max-width:850px){.confirm-section{padding:40px 0}.confirm-card{padding:30px 22px}.confirm-card p{font-size:16px}.confirm-phrase{font-size:13px;letter-spacing:.1em;padding:14px 18px}}
