:root{
  --sky1:#2E9BC6; --sky2:#86CFE0; --peach:#F8CFA2; --sun:#FBC45E; --gold:#F2B632; --gold-deep:#C98A1A; --orange:#E8742A; --copper:#B5532A;
  --brown:#7A4B30; --brown-d:#3E2618; --forest:#163A29; --forest-2:#1E4A35; --purple:#9B6AD6;
  --cream:#FFF6E6; --card:#FFFFFF; --ink:#3E2618; --ink-soft:#7A5A44; --line:#EBD7B8;
  --display:'Fredoka','Arial Rounded MT Bold',system-ui,sans-serif;
  --body:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --cream:#24170F; --card:#2F1F15; --ink:#F7E9D4; --ink-soft:#D2B998; --line:#4A3322; } }
:root[data-theme="dark"]{ --cream:#24170F; --card:#2F1F15; --ink:#F7E9D4; --ink-soft:#D2B998; --line:#4A3322; }
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 110px)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0; background:var(--cream); color:var(--ink); font-family:var(--body); font-size:1.0625rem; line-height:1.6; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange); outline-offset:3px; border-radius:6px}
.wrap{width:min(1180px,100% - 2.5rem); margin-inline:auto}
h1,h2,h3,h4{font-family:var(--display); font-weight:700; line-height:1.05; margin:0; letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.4vw,3.2rem)}
h3{font-size:1.35rem; line-height:1.2}
p{margin:0}
.label{font-weight:700; font-size:.82rem; letter-spacing:.32em; text-transform:uppercase; color:var(--copper)}
.label.light{color:#fff}
.fine{font-size:.9rem; color:var(--ink-soft)}
.center{text-align:center}
.btns{display:flex; flex-wrap:wrap; gap:.75rem}
.btns.center{justify-content:center}
.btn{display:inline-flex; align-items:center; justify-content:center; font:700 1rem var(--body); text-decoration:none; padding:.95rem 1.6rem; border-radius:999px; border:2px solid transparent; cursor:pointer; transition:transform .15s ease, background-color .15s ease}
.btn:active{transform:scale(.97)}
.btn.sm{padding:.6rem 1.15rem; font-size:.92rem}
.btn-brown{background:var(--brown); color:#fff}
.btn-brown:hover{background:#8E5A3A}
.btn-gold{background:var(--gold); color:var(--brown-d)}
.btn-gold:hover{background:#FFC94A}
.btn-line{border-color:#fff; color:#fff; background:rgba(255,255,255,.08)}
.btn-line.dark{border-color:var(--brown); color:var(--brown); background:transparent}

/* header */
.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:40; background:var(--forest); color:#fff; box-shadow:0 2px 0 rgba(242,182,50,.35)}
.top-in{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:68px}
.brand img{height:46px; width:auto}
#nav{display:flex; align-items:center; gap:1.5rem}
#nav a:not(.btn){text-decoration:none; font-weight:500; font-size:.97rem; color:#E7DCC6}
#nav a:not(.btn):hover,#nav a.active{color:var(--gold)}
.menu{display:none; background:none; border:2px solid rgba(255,255,255,.3); color:#fff; border-radius:10px; padding:.4rem .75rem; font:600 .92rem var(--body); cursor:pointer}
.subnav{background:#10301F; display:none}
.subnav .wrap{display:flex; gap:1.6rem; overflow-x:auto; padding:.55rem 0}
.subnav a{color:#E7DCC6; text-decoration:none; font-size:.9rem; white-space:nowrap}
.subnav a.active,.subnav a:hover{color:var(--gold)}
body.in-sections .subnav{display:block}
@media (max-width:980px){
  .menu{display:block}
  #nav{position:absolute; left:0; right:0; top:100%; background:var(--forest); flex-direction:column; align-items:stretch; gap:0; padding:.5rem 1.25rem 1.25rem; display:none; box-shadow:0 12px 24px rgba(0,0,0,.25)}
  #nav.open{display:flex}
  #nav a:not(.btn){padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:1.05rem}
  #nav .btn{margin-top:1rem}
}

/* sky + titles */
.sky{position:relative; overflow:hidden; color:#fff; background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 34%,var(--peach) 70%,var(--sun) 100%)}
.sky::after{content:""; position:absolute; inset:auto -10% -40% -10%; height:70%; background:radial-gradient(ellipse at 50% 100%, rgba(255,214,120,.9), rgba(255,214,120,0) 65%); pointer-events:none}
.sky-soft{background:linear-gradient(180deg,#E3F3F7 0%,#FFF1DC 100%)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sky-soft{background:linear-gradient(180deg,#132C33 0%,#2A1C12 100%)} }
:root[data-theme="dark"] .sky-soft{background:linear-gradient(180deg,#132C33 0%,#2A1C12 100%)}
.gold-title{font-size:clamp(2.8rem,7.5vw,5.6rem); line-height:.95; background:linear-gradient(180deg,#FFE27A 0%,#FFC23A 45%,#F07A1E 100%); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 3px 0 rgba(122,75,48,.55)) drop-shadow(0 10px 18px rgba(62,38,24,.25))}
.gold-title.xl{font-size:clamp(3.2rem,9.5vw,7.4rem)}
.hero-sub{font-size:1.2rem; font-weight:500; text-shadow:0 1px 10px rgba(30,60,80,.35); max-width:38ch}
.sec-no{font-family:var(--display); font-weight:700; font-size:clamp(1.6rem,3.4vw,2.4rem); color:#fff; text-shadow:0 2px 12px rgba(30,60,80,.3); margin:.3rem 0 .2rem}

/* home hero */
.hero{min-height:min(88vh,860px); display:flex; align-items:center}
.hero-inner{position:relative; z-index:2; text-align:center; display:grid; justify-items:center; gap:1.2rem; padding:4rem 0 9rem}
.hero .hero-sub{margin-inline:auto}
.hero-fig{position:absolute; bottom:0; z-index:1; height:min(78vh,700px); width:auto; filter:drop-shadow(0 20px 30px rgba(62,38,24,.35))}
.hero-fig.left{left:max(-40px,calc(50% - 760px))}
.hero-fig.right{right:max(-40px,calc(50% - 760px))}
@media (max-width:1100px){.hero-fig{height:44vh; opacity:.95}}
@media (max-width:700px){.hero-fig{height:230px}.hero-fig.left{left:-30px}.hero-fig.right{right:-30px}.hero-inner{padding-bottom:13rem}}
.countdown{display:flex; gap:clamp(.6rem,3vw,1.6rem); margin-top:.6rem}
.countdown div{background:rgba(255,255,255,.22); border:1.5px solid rgba(255,255,255,.6); border-radius:20px; padding:.7rem .9rem; min-width:84px; backdrop-filter:blur(4px)}
.countdown b{display:block; font-family:var(--display); font-size:clamp(1.8rem,4.4vw,2.8rem); line-height:1; color:var(--brown-d); font-variant-numeric:tabular-nums}
.countdown span{font-size:.85rem; font-weight:600; color:var(--brown)}
.cd-cap{font-weight:600; color:var(--brown-d)}

/* page hero */
.page-hero{padding:clamp(4rem,9vw,6.5rem) 0 clamp(5rem,10vw,7.5rem)}
.page-hero .wrap{position:relative; z-index:2; display:grid; gap:1rem}

/* blocks */
.block{padding:clamp(4rem,8vw,6.5rem) 0}
.cream{background:var(--cream)}
.forest{background:var(--forest); color:#fff}
.forest .head p:not(.label){color:#D8E6DA}
.head{display:grid; gap:.8rem; max-width:720px; margin-bottom:clamp(2rem,4vw,3rem)}
.head.center{margin-inline:auto; text-align:center}
.head p:not(.label){font-size:1.15rem; color:var(--ink-soft)}
.more-link{margin-top:1.6rem}
.more-link a{font-weight:700; color:var(--copper)}

/* section cards */
.sec-cards{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem}
@media (max-width:1000px){.sec-cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sec-cards{grid-template-columns:1fr}}
.sec-card{display:flex; flex-direction:column; background:var(--card); border-radius:26px; overflow:hidden; text-decoration:none; color:var(--ink); border:1px solid var(--line); transition:transform .2s ease, box-shadow .2s ease}
.sec-card:hover{transform:translateY(-4px); box-shadow:0 16px 30px rgba(62,38,24,.15)}
.sec-img{aspect-ratio:4/5; overflow:hidden; background:var(--forest)}
.sec-img img{width:100%; height:100%; object-fit:cover}
.byo-img{display:grid; place-items:center; background:radial-gradient(circle at 50% 45%, #FFE6A0 0, #F8CFA2 45%, #86CFE0 100%)}
.byo-img img{width:70%; height:auto; object-fit:contain}
.sec-body{position:relative; padding:2rem 1.3rem 1.4rem; display:grid; gap:.25rem}
.sec-ico{position:absolute; top:-30px; left:1.1rem; width:60px; height:60px; border-radius:50%; background:#FFF6DA; display:grid; place-items:center; box-shadow:0 4px 12px rgba(62,38,24,.2)}
.sec-ico svg{width:40px; height:40px}
.sec-n{font-weight:700; font-size:.8rem; letter-spacing:.28em; text-transform:uppercase; color:var(--copper)}
.sec-card h3{font-size:1.5rem}
.sec-price{font-weight:700; color:var(--brown)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .sec-price{color:var(--gold)} }
.more{margin-top:.5rem; font-weight:700; font-size:.95rem; color:var(--orange)}

/* home intro */
.intro-split{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4.5rem); align-items:center}
.intro-split > div{display:grid; gap:1.1rem; justify-items:start}
.intro-split p{color:#D8E6DA; font-size:1.15rem; max-width:54ch}
@media (max-width:860px){.intro-split{grid-template-columns:1fr}}
.symbols{list-style:none; margin:0; padding:0; display:grid; gap:1rem}
.symbols li{display:flex; gap:1rem; align-items:center; background:rgba(255,255,255,.06); border:1px solid rgba(242,182,50,.25); border-radius:22px; padding:1rem 1.2rem; font-size:1.08rem}
.symbols span{flex:none; width:56px; height:56px; border-radius:50%; background:#FFF6DA; display:grid; place-items:center}
.symbols svg{width:38px; height:38px}
.symbols b{color:var(--gold)}

/* coordinator pills */
.pills{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.2rem 1.4rem}
.pills.big{grid-template-columns:1fr; max-width:760px; margin-inline:auto}
@media (max-width:760px){.pills{grid-template-columns:1fr}}
.pill{position:relative; display:grid; grid-template-columns:auto 1fr; grid-template-areas:"ico name" "ico phone"; align-items:center; column-gap:1.1rem; background:var(--brown); color:#fff; text-decoration:none; border-radius:999px; padding:.55rem 1.6rem .55rem .55rem; min-height:86px; transition:transform .15s ease}
.pill:hover{transform:translateY(-2px)}
.pill.purple{background:var(--purple)}
.pill.orange{background:#F3913A}
.pill-tab{position:absolute; top:-22px; left:50%; transform:translateX(-50%); background:var(--cream); color:var(--ink); border:2px solid currentColor; border-bottom:0; border-radius:16px 16px 0 0; padding:.1rem 1.1rem 0; font-size:.72rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase; white-space:nowrap}
.sky-soft .pill-tab{background:#F7EEDD; color:var(--brown)}
.pill-ico{grid-area:ico; width:118px; height:72px; border-radius:999px; background:#FFF6DA; display:grid; place-items:center}
.pill-ico svg{width:50px; height:50px}
.pill-name{grid-area:name; font-family:var(--display); font-weight:700; font-size:1.6rem; line-height:1; text-transform:uppercase; align-self:end}
.pill-phone{grid-area:phone; font-weight:700; font-size:1.05rem; opacity:.95; align-self:start}
.card .pill{margin-top:2rem}

/* section page */
.hero-sec{padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(5rem,9vw,7rem)}
.hero-sec-grid{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:2.5rem; align-items:center}
.hero-sec-grid > div:first-child{display:grid; gap:.6rem; justify-items:start}
.hero-sec-grid .btns{margin-top:1.2rem}
.hero-sec-art{position:relative; justify-self:center; width:min(100%,430px)}
.arch-frame{border-radius:220px 220px 26px 26px; overflow:hidden; border:4px solid #FFE39A; box-shadow:0 24px 40px rgba(62,38,24,.3); aspect-ratio:4/5; background:var(--forest)}
.arch-frame img{width:100%; height:100%; object-fit:cover}
@media (max-width:860px){.hero-sec-grid{grid-template-columns:1fr}}
.medal{width:132px; height:132px; border-radius:50%; display:grid; place-content:center; text-align:center; color:#fff; background:radial-gradient(circle at 35% 30%, #FFD98A 0, #E89A2E 45%, #B4631C 100%); border:4px solid #FFE5A3; box-shadow:0 10px 24px rgba(62,38,24,.35); line-height:1.05}
.medal.big{position:absolute; left:-46px; bottom:56px; width:150px; height:150px}
@media (max-width:860px){.medal.big{left:-10px; width:124px; height:124px}}
.m-sec{font-family:var(--display); font-weight:700; font-size:.95rem}
.m-name{font-size:.62rem; font-weight:600; max-width:12ch; margin:0 auto .15rem}
.m-price{font-family:var(--display); font-weight:700; font-size:2.3rem; line-height:.95}
.m-cur{font-size:.75rem; font-weight:700; letter-spacing:.12em}
.shots{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem}
@media (max-width:900px){.shots{grid-template-columns:1fr 1fr}}
.shot{padding:0; border:0; border-radius:20px; overflow:hidden; cursor:zoom-in; background:var(--forest-2); aspect-ratio:4/5}
.shot img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease}
.shot:hover img{transform:scale(1.04)}
.story{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.5rem,4vw,3rem); align-items:start}
@media (max-width:900px){.story{grid-template-columns:1fr}}
.board{background:linear-gradient(180deg,#C7652F 0%,#A84A22 100%); color:#FFF3E0; border-radius:34px; padding:clamp(1.8rem,4vw,3rem); border:3px solid #E8A04A; box-shadow:inset 0 0 0 6px rgba(255,214,140,.18), 0 18px 34px rgba(62,38,24,.25); text-align:center}
.board h3{font-size:clamp(1.7rem,3.4vw,2.3rem); text-transform:uppercase; color:#fff}
.board-tag{font-style:italic; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.92rem; margin:.3rem 0 1.4rem; color:#FFE1B0}
.poem p{margin:0 0 1rem; font-size:1.05rem; line-height:1.55}
.poem b{color:#fff}
.side{display:grid; gap:1.2rem}
.card{background:var(--card); border:1px solid var(--line); border-radius:26px; padding:1.5rem}
.card .label{margin-bottom:.9rem}
.plan-top{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.9rem}
.plan-top span{color:var(--ink-soft); font-weight:600}
.plan-top b{font-family:var(--display); font-size:2.1rem}
.plan-grid{list-style:none; margin:0 0 .9rem; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem}
.plan-grid li{background:var(--cream); border-radius:14px; padding:.65rem .75rem; display:grid}
.plan-grid li.dp{background:var(--gold); color:var(--brown-d)}
.plan-grid span{font-size:.8rem; font-weight:600; opacity:.85}
.plan-grid b{font-variant-numeric:tabular-nums}

/* adjustments */
.adj{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(1.5rem,4vw,3rem); align-items:center}
@media (max-width:900px){.adj{grid-template-columns:1fr}}
.adj-list h3{margin:1rem 0 .5rem}
.adj-list h3:first-child{margin-top:0}
.adj-list ul{list-style:none; padding:0; margin:0; border-top:1px solid var(--line)}
.adj-list li{display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line)}
.adj-list li b{color:var(--copper); white-space:nowrap}
.adj-photos{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem}
.adj-fig{margin:0}
.adj-ph{position:relative; aspect-ratio:3/4.2; border-radius:140px 140px 16px 16px; overflow:hidden; border:3px solid var(--gold); background:#fff}
.adj-ph img{width:100%; height:100%; object-fit:cover; object-position:center top}
.tag{position:absolute; left:50%; bottom:10px; transform:translateX(-50%); background:var(--gold); color:var(--brown-d); font-weight:700; font-size:.78rem; padding:.25rem .8rem; border-radius:999px}
.adj-fig figcaption{text-align:center; font-size:.9rem; margin-top:.6rem; color:var(--ink-soft)}

/* CTA */
.cta{background:linear-gradient(180deg,var(--sun),#F39A3A); color:var(--brown-d); text-align:center; padding:clamp(4rem,8vw,6rem) 0}
.cta h2{max-width:18ch; margin-inline:auto}
.cta p{margin:1rem auto 1.8rem; max-width:44ch; font-size:1.15rem}
.cta .btn-line.dark{border-color:var(--brown-d); color:var(--brown-d)}

/* theme */
.theme-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,5vw,4.5rem); align-items:center}
@media (max-width:860px){.theme-grid{grid-template-columns:1fr}}
.prose{display:grid; gap:1rem}
.prose p{font-size:1.15rem; line-height:1.75; max-width:60ch}
.motto{font-family:var(--display); font-weight:700; font-size:1.6rem!important; color:var(--copper); border-top:2px solid var(--gold); padding-top:1rem}
.theme-mark{width:min(100%,360px); justify-self:center}
.sym-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem}
@media (max-width:1000px){.sym-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sym-grid{grid-template-columns:1fr}}
.sym{background:rgba(255,255,255,.06); border:1px solid rgba(242,182,50,.25); border-radius:24px; padding:1.5rem; display:grid; gap:.6rem; align-content:start}
.sym span{width:64px; height:64px; border-radius:50%; background:#FFF6DA; display:grid; place-items:center}
.sym svg{width:44px; height:44px}
.sym h3{color:var(--gold)}
.sym p{color:#D8E6DA}
.sym a{color:#FFE1B0; font-weight:700; font-size:.92rem}

/* table */
.table-wrap{overflow-x:auto; border-radius:22px; border:1px solid var(--line); background:var(--card)}
.ptable{width:100%; border-collapse:collapse; min-width:560px}
.ptable th,.ptable td{padding:1rem 1.2rem; text-align:left; border-bottom:1px solid var(--line)}
.ptable th{font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--copper)}
.ptable tr:last-child td{border-bottom:0}
.ptable td b{display:block; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft)}
.ptable td{font-variant-numeric:tabular-nums}

/* BYO */
.ticks{list-style:none; margin:0; padding:0; display:grid; gap:.55rem}
.ticks li{padding-left:1.8rem; position:relative}
.ticks li::before{content:""; position:absolute; left:0; top:.45em; width:12px; height:12px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px rgba(242,182,50,.3)}
.tabs{display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem}
.tabs button{font:600 .98rem var(--body); color:#E7DCC6; background:transparent; border:2px solid rgba(255,255,255,.2); border-radius:999px; padding:.6rem 1.1rem; cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--gold); border-color:var(--gold); color:var(--brown-d)}
.tab-note{color:#D8E6DA; margin-bottom:1.2rem; max-width:70ch}
.chars{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem}
@media (max-width:760px){.chars{grid-template-columns:1fr}}
.chars li{background:rgba(255,255,255,.06); border-left:3px solid var(--gold); border-radius:4px 18px 18px 4px; padding:1rem 1.2rem; display:grid; gap:.25rem}
.chars b{font-family:var(--display); font-size:1.2rem; color:#FFE1A0}
.chars span{color:#D8E6DA; font-size:.98rem}
.rules{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.9rem 2rem}
@media (max-width:760px){.rules{grid-template-columns:1fr}}
.rules li{position:relative; padding-left:1.6rem}
.rules li::before{content:""; position:absolute; left:0; top:.55em; width:10px; height:10px; background:var(--gold); transform:rotate(45deg)}

/* join */
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s; background:var(--card); border:1px solid var(--line); border-radius:26px; padding:1.6rem; display:grid; gap:.7rem; align-content:start; justify-items:start}
.steps li::before{content:counter(s); width:52px; height:52px; border-radius:50%; display:grid; place-items:center; font-family:var(--display); font-weight:700; font-size:1.6rem; color:#fff; background:radial-gradient(circle at 35% 30%, #FFD98A, #E89A2E 50%, #B4631C)}
.steps p{color:var(--ink-soft)}
.pay-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start}
.pay-grid > div{display:grid; gap:1.1rem}
@media (max-width:860px){.pay-grid{grid-template-columns:1fr}}
.lede{color:#D8E6DA; font-size:1.12rem}
.note h3{color:var(--gold); font-size:1.15rem; margin-bottom:.2rem}
.note p{color:#D8E6DA}
.note a{color:#fff; font-weight:700}
.bank{margin:0; background:var(--forest-2); border-radius:26px; padding:1.4rem 1.6rem}
.bank > div{display:grid; grid-template-columns:140px 1fr auto; gap:1rem; align-items:center; padding:.9rem 0; border-bottom:1px solid rgba(255,255,255,.1)}
.bank > div:last-child{border-bottom:0}
.bank dt{color:#C9DACB; font-size:.95rem}
.bank dd{margin:0; font-weight:700}
@media (max-width:520px){.bank > div{grid-template-columns:1fr auto} .bank dt{grid-column:1/-1}}
.copy{background:none; border:1.5px solid rgba(255,255,255,.35); color:#fff; border-radius:999px; padding:.35rem .85rem; font:600 .85rem var(--body); cursor:pointer; min-width:76px}
.copy.done{background:var(--gold); border-color:var(--gold); color:var(--brown-d)}
.terms{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.5rem}
.terms h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.terms p{color:var(--ink-soft); margin-top:.5rem}
.contact-more{margin-top:2.5rem; text-align:center; display:grid; gap:.3rem}
.contact-more a{color:var(--copper); font-weight:700}

/* gallery */
.past{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem}
@media (max-width:760px){.past{grid-template-columns:1fr 1fr}}
.past .shot{aspect-ratio:1/1}

/* footer */
.foot{background:var(--forest); color:#D8E6DA; padding-top:3rem}
.foot-in{display:flex; flex-wrap:wrap; justify-content:space-between; gap:2.5rem; padding-bottom:2.5rem}
.foot-logo{height:64px; width:auto; margin-bottom:.8rem}
.foot .fine{color:#A9BFAE}
.foot-cols{display:flex; flex-wrap:wrap; gap:3rem}
.foot-cols > div{display:grid; gap:.45rem; align-content:start}
.foot-cols h4{font-size:1.1rem; color:var(--gold); margin-bottom:.3rem}
.foot-cols a{color:#E7DCC6; text-decoration:none; font-size:.95rem}
.foot-cols a:hover{color:var(--gold)}
.foot-url{background:#0F2A1D; text-align:center; padding:1rem; font-weight:700; letter-spacing:.2em; font-size:.85rem; color:#fff; word-break:break-word}

/* pages + lightbox */
.page{display:none}
.page.on{display:block}
.lightbox{position:fixed; inset:0; z-index:80; background:rgba(20,12,6,.88); display:grid; place-items:center; padding:calc(env(safe-area-inset-top,0px) + 3.5rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem)}
.lightbox[hidden]{display:none}
.lightbox img{max-height:100%; max-width:min(100%,900px); border-radius:16px}
.lb-close{position:absolute; top:calc(env(safe-area-inset-top,0px) + .8rem); right:1rem; background:#fff; color:var(--brown-d); border:0; border-radius:999px; padding:.5rem 1rem; font:700 .95rem var(--body); cursor:pointer}
.sky .btn-line{background:rgba(255,255,255,.88); color:var(--brown-d); border-color:#fff}
.sky .btn-line:hover{background:#fff}
.page-hero.has-fig .wrap{padding-right:min(34%,380px)}
.ph-fig{position:absolute; right:max(0px,calc(50% - 640px)); bottom:0; z-index:1; height:calc(100% - 20px); max-height:520px; width:auto; filter:drop-shadow(0 18px 26px rgba(62,38,24,.3))}
@media (max-width:760px){.ph-fig{height:200px; opacity:.9; right:-20px}.page-hero.has-fig .wrap{padding-right:0; padding-bottom:150px}}
@media (max-width:560px){
  .label{letter-spacing:.18em}
  .countdown{width:100%; gap:.45rem}
  .countdown div{flex:1; min-width:0; padding:.6rem .3rem}
  .countdown span{font-size:.75rem}
  .pill-ico{width:84px; height:60px}
  .pill-name{font-size:1.3rem}
}
html,body{overflow-x:clip}
.story > *, .adj > *, .pay-grid > *, .intro-split > *, .theme-grid > *, .hero-sec-grid > *{min-width:0}
.poem p{overflow-wrap:anywhere}
.side > *, .card{min-width:0}
@media (max-width:420px){
  .plan-grid{grid-template-columns:1fr 1fr}
  .plan-top b{font-size:1.7rem}
  .card{padding:1.2rem}
  .pill{padding-right:1rem; column-gap:.8rem}
  .pill-ico{width:70px; height:56px}
  .pill-ico svg{width:38px; height:38px}
  .pill-name{font-size:1.2rem}
  .pill-phone{font-size:.95rem}
  .pill-tab{font-size:.62rem; letter-spacing:.2em}
  .adj-photos{grid-template-columns:1fr 1fr 1fr; gap:.5rem}
  .adj-fig figcaption{font-size:.78rem}
  .tag{font-size:.68rem; padding:.2rem .55rem}
}
@media (max-width:560px){
  .sec-card{flex-direction:row; border-radius:22px}
  .sec-img{width:40%; flex:none; aspect-ratio:auto; min-height:190px}
  .byo-img img{width:85%}
  .sec-body{padding:1rem 1rem 1rem 1.1rem; align-content:center}
  .sec-ico{position:static; width:44px; height:44px; margin-bottom:.3rem}
  .sec-ico svg{width:30px; height:30px}
  .sec-card h3{font-size:1.2rem}
  .foot-url{letter-spacing:.08em; font-size:.75rem}
  .foot-cols{display:grid; grid-template-columns:1fr 1fr; gap:1.8rem 1.2rem}
  .foot-cols > div:last-child{grid-column:1/-1}
}
@media (max-width:760px){
  .ph-fig{right:6px; height:180px}
  .page-hero.has-fig .wrap{padding-bottom:130px}
}
@media (max-width:640px){
  .table-wrap{border:0; background:transparent; overflow:visible}
  .ptable{min-width:0}
  .ptable thead{display:none}
  .ptable, .ptable tbody, .ptable tr, .ptable td{display:block; width:100%}
  .ptable tr{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:.9rem 1.1rem; margin-bottom:.8rem}
  .ptable td{border:0; padding:.3rem 0; display:flex; justify-content:space-between; gap:1rem}
  .ptable td:first-child{display:block; font-family:var(--display); font-weight:700; font-size:1.2rem; padding-bottom:.5rem; border-bottom:1px solid var(--line); margin-bottom:.3rem}
  .ptable td[data-label]:not(:first-child)::before{content:attr(data-label); color:var(--ink-soft); font-size:.92rem}
}
/* home headline only */
.hero .gold-title.xl{font-family:'Fraunces',Georgia,serif; font-weight:900; font-variation-settings:'SOFT' 100,'opsz' 144; font-size:clamp(3.2rem,7.6vw,6.6rem); line-height:.92; letter-spacing:-.02em; background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#FFF8E6; filter:none; text-shadow:0 5px 0 rgba(122,75,48,.55), 0 14px 34px rgba(20,60,90,.35)}
/* page titles: Fraunces */
.gold-title{font-family:'Fraunces',Georgia,serif; font-weight:900; font-variation-settings:'SOFT' 100,'opsz' 144; letter-spacing:-.02em; line-height:.95; background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#FFF8E6; filter:none; text-shadow:0 4px 0 rgba(122,75,48,.5), 0 12px 30px rgba(20,60,90,.3)}
.gold-title.grad{background:linear-gradient(180deg,#FFE27A 0%,#FFC23A 45%,#F07A1E 100%); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:none; filter:drop-shadow(0 4px 0 rgba(122,75,48,.55)) drop-shadow(0 12px 22px rgba(20,60,90,.28))}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
/* realistic elements */
.el{width:100%; height:100%; object-fit:contain}
.sec-ico .el{width:46px; height:46px}
.symbols span .el{width:46px; height:46px}
.sym span .el{width:52px; height:52px}
.pill-ico .el{width:78%; height:78%}
@media (max-width:560px){.sec-ico .el{width:36px;height:36px}}
/* home foliage */
.foliage{position:absolute; top:0; bottom:0; height:100%; width:auto; z-index:0; pointer-events:none}
.foliage.fl{left:0}
.foliage.fr{right:0}
@media (max-width:700px){.foliage{height:70%; opacity:.9}}
/* floating elements on section heroes */
.float{position:absolute; z-index:3; pointer-events:none; filter:drop-shadow(0 14px 18px rgba(62,38,24,.3))}
.f-bee{width:170px; left:-110px; top:30px; transform:rotate(-8deg)}
.f-hive{width:110px; right:-70px; top:-20px}
.f-bf{width:190px; left:-120px; top:10px; transform:rotate(-12deg)}
.f-bird{width:190px; left:-130px; top:20px}
@media (max-width:860px){.f-bee,.f-bf,.f-bird{width:120px; left:0; top:-30px}.f-hive{width:80px; right:-10px}}
/* theme hero logo */
.theme-hero .wrap{justify-items:center; text-align:center}
.title-logo{width:min(92%,620px); height:auto; filter:drop-shadow(0 12px 24px rgba(62,38,24,.3))}
@media (max-width:700px){.foliage{height:auto; width:22vw; bottom:auto; opacity:1}}
@media (min-width:701px) and (max-width:1100px){.foliage{height:auto; width:20vw; bottom:auto}}
.theme-hero .hero-sub{color:var(--brown-d); text-shadow:none; font-weight:600}
/* terms */
.light-tabs button{color:var(--brown); border-color:var(--line)}
.light-tabs button[aria-selected="true"]{background:var(--brown); border-color:var(--brown); color:#fff}
.tc{max-width:820px; background:var(--card); border:1px solid var(--line); border-radius:26px; padding:clamp(1.4rem,4vw,3rem)}
.tc h2{font-size:clamp(1.9rem,4vw,2.6rem)}
.tc-sub{color:var(--ink-soft); margin:.3rem 0 1.4rem}
.tc h3{font-family:var(--body); font-size:1.15rem; font-weight:700; margin:2rem 0 .6rem; color:var(--copper)}
.tc p{margin:0 0 .9rem; line-height:1.7}
.tc ul{margin:0 0 1rem; padding-left:1.2rem}
.tc li{margin-bottom:.35rem; line-height:1.6}
.tc-bank{background:var(--cream); border-radius:16px; padding:1rem 1.2rem}
.tc-note{font-size:.95rem; color:var(--ink-soft)}
.tc-table{overflow-x:auto; margin:1rem 0 1.2rem; border:1px solid var(--line); border-radius:16px}
.tc-table table{border-collapse:collapse; width:100%; min-width:620px; font-size:.92rem}
.tc-table th,.tc-table td{border-bottom:1px solid var(--line); padding:.6rem .7rem; text-align:left; vertical-align:top}
.tc-table th{color:var(--copper); font-size:.82rem}
.tc-table tr:last-child td{border-bottom:0}
.tc-wrap{max-width:860px}
.deadline{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1.2rem; background:var(--brown); color:#fff; border-radius:22px; padding:1.1rem 1.4rem; margin:-1rem 0 1.6rem; box-shadow:0 10px 24px rgba(62,38,24,.18)}
.dl-label{font-size:.78rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--gold)}
.deadline b{font-family:'Fraunces',Georgia,serif; font-weight:900; font-size:1.6rem; line-height:1}
.dl-txt{color:#F1E2CF; font-size:.95rem}
.fine b{color:var(--ink)}
.tc-dl{margin-bottom:1.2rem}
