:root{
  --ink:#17223b; --muted:#667085; --paper:#fffdf9; --white:#fff;
  --gold:#d8a93d; --pink:#e84393; --purple:#7656d6; --blue:#2a77c9; --teal:#1ca58a; --orange:#f59e42;
  --shadow:0 18px 45px rgba(23,34,59,.12); --radius:24px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.container{width:min(1120px,calc(100% - 36px));margin-inline:auto}.section{padding:72px 0}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--purple)}
h1,h2,h3{line-height:1.04;margin:0 0 18px} h1{font-size:clamp(2.8rem,11vw,6.7rem);letter-spacing:-.06em} h2{font-size:clamp(2.1rem,8vw,4.4rem);letter-spacing:-.045em} h3{font-size:1.25rem}.lead{font-size:clamp(1.08rem,4vw,1.35rem);color:#475467;max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:14px 21px;border-radius:999px;font-weight:900;border:0;cursor:pointer;transition:.2s transform,.2s box-shadow;background:linear-gradient(100deg,var(--pink),var(--purple));color:white;box-shadow:0 10px 28px rgba(118,86,214,.25)}.btn:hover{transform:translateY(-2px)}.btn.secondary{background:white;color:var(--ink);border:1px solid rgba(23,34,59,.14);box-shadow:none}.btn.gold{background:linear-gradient(100deg,#ebc963,#c89a30)}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;padding:12px 0;background:rgba(255,253,249,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,34,59,.08)}.nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:950;letter-spacing:.02em}.nav-links{display:none}.menu-btn{font:inherit;border:0;background:white;border-radius:999px;padding:10px 13px;font-weight:850}.mobile-menu{display:none;position:absolute;left:18px;right:18px;top:65px;padding:16px;background:white;border-radius:18px;box-shadow:var(--shadow)}.mobile-menu.open{display:grid;gap:12px}.mobile-menu a{padding:9px 6px;font-weight:800}
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:112px 0 48px;color:white;overflow:hidden;background:#263048}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,22,39,.12) 20%,rgba(18,22,39,.52) 68%,rgba(18,22,39,.83) 100%)}.hero-content{position:relative;z-index:2;width:min(100%,760px)}.hero-logo{width:min(92vw,520px);filter:drop-shadow(0 8px 18px rgba(0,0,0,.15));margin-bottom:20px}.hero-kicker{font-weight:850;letter-spacing:.05em}.hero h1{font-size:clamp(2.7rem,12vw,6.2rem);margin-top:8px}.hero .meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);font-weight:800;font-size:.92rem}
.rainbow-line{height:7px;background:linear-gradient(90deg,#ef476f,#ff9f1c,#ffd166,#3bb273,#2d7dd2,#8e5bd9,#e84393)}.quick-grid,.cards{display:grid;gap:14px}.quick-card,.card{background:white;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);border:1px solid rgba(23,34,59,.06)}.quick-card strong{display:block;font-size:1.45rem}.quick-card span{color:var(--muted)}
.split{display:grid;gap:28px;align-items:center}.photo-card{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(-1deg)}.photo-card img{aspect-ratio:4/3;object-fit:cover}
.band{background:linear-gradient(135deg,#fdf1f7,#f0edff 45%,#ecf9f7);border-block:1px solid rgba(23,34,59,.05)}
.price{font-size:clamp(3rem,14vw,6rem);font-weight:950;letter-spacing:-.06em;margin:.15em 0}.checklist{padding:0;list-style:none;display:grid;gap:9px}.checklist li:before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;margin-right:10px;background:#eaf8f3;color:#16856f;font-weight:950}
.alert{padding:22px;border-radius:22px;background:#fff5d9;border:1px solid #f0cc67}.alert strong{display:block;font-size:1.2rem;margin-bottom:5px}
.gallery{columns:1;column-gap:14px}.gallery figure{margin:0 0 14px;break-inside:avoid;border-radius:20px;overflow:hidden;background:white;box-shadow:0 10px 28px rgba(23,34,59,.10)}.gallery img{width:100%;height:auto;transition:transform .25s}.gallery figure:hover img{transform:scale(1.015)}
.faq{display:grid;gap:12px}.faq details{background:white;border:1px solid rgba(23,34,59,.08);border-radius:18px;padding:17px 18px}.faq summary{cursor:pointer;font-weight:900}.faq p{margin:12px 0 2px;color:#4b5565}
.form-card{background:white;padding:22px;border-radius:26px;box-shadow:var(--shadow)}form{display:grid;gap:18px}.field{display:grid;gap:7px}.field label,.field .label{font-weight:850}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd4dc;border-radius:14px;padding:13px 14px;font:inherit;background:white;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(118,86,214,.15);border-color:var(--purple)}.radio-group{display:grid;gap:9px}.radio-option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d8dce3;border-radius:14px}.radio-option input{width:auto;margin-top:4px}.fineprint{font-size:.88rem;color:#667085}.status{display:none;padding:14px;border-radius:14px}.status.show{display:block}.status.ok{background:#eaf8f3}.status.err{background:#fdebec}
.page-hero{padding:135px 0 60px;background:linear-gradient(135deg,#fff5fa,#f4f1ff 50%,#eefaf7)}.page-hero .mini-logo{width:250px;margin-bottom:22px}.page-hero h1{font-size:clamp(3rem,12vw,6rem)}
.footer{padding:44px 0;background:#17223b;color:#eef2f7}.footer-grid{display:grid;gap:18px}.footer a{text-decoration:underline;text-underline-offset:3px}.footer small{color:#aab3c0}
@media(min-width:700px){.section{padding:96px 0}.quick-grid{grid-template-columns:repeat(4,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1.05fr .95fr}.gallery{columns:2}.form-card{padding:34px}.footer-grid{grid-template-columns:1fr auto}.mobile-menu,.menu-btn{display:none!important}.nav-links{display:flex;align-items:center;gap:22px;font-weight:800;font-size:.93rem}}
@media(min-width:980px){.gallery{columns:3}.cards.three{grid-template-columns:repeat(3,1fr)}}

/* 2027 homepage refinement */
.centered-section{text-align:center}.narrow{max-width:900px}.centered-section .lead,.cta-card .lead{margin-inline:auto}.button-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}.cta-card{text-align:center;padding:40px 24px;background:linear-gradient(135deg,#fff0f7,#f0edff)}
.hero{align-items:center;text-align:center;padding-bottom:56px}.hero-content{margin-inline:auto;display:flex;flex-direction:column;align-items:center}.hero-logo{width:min(78vw,470px);opacity:.74;filter:drop-shadow(0 6px 14px rgba(0,0,0,.10));margin:0 auto 18px}.hero-intro{max-width:680px;margin:0 auto 6px;font-size:clamp(1rem,3.6vw,1.18rem);color:rgba(255,255,255,.92)}.hero .meta{justify-content:center}.hero:after{background:linear-gradient(180deg,rgba(18,22,39,.12) 10%,rgba(18,22,39,.40) 52%,rgba(18,22,39,.72) 100%)}
.photo-story{position:relative;max-width:860px;margin:34px auto 0;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.photo-story img{width:100%;aspect-ratio:16/9;object-fit:cover}.photo-story:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(15,20,35,.78))}.photo-copy{position:absolute;z-index:2;left:8%;right:8%;bottom:8%;color:white;text-align:center;display:grid;gap:8px}.photo-copy strong{font-size:clamp(1.25rem,4.5vw,2rem);line-height:1.15}.photo-copy span{font-size:clamp(.95rem,3vw,1.08rem);color:rgba(255,255,255,.9)}
.photo-strip-section{padding-top:78px}.photo-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:32px auto 20px;max-width:1020px}.photo-strip figure{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(23,34,59,.10)}.photo-strip img{width:100%;aspect-ratio:1/1;object-fit:cover}.text-link{display:inline-block;font-weight:900;color:var(--purple);margin-top:4px}.quick-card{text-align:center}.alert{text-align:center}.footer{text-align:center}.footer-grid{justify-items:center}
@media(min-width:700px){.photo-strip{grid-template-columns:repeat(4,1fr)}.hero-logo{width:min(52vw,500px)}.footer-grid{grid-template-columns:1fr;text-align:center}}
