:root{color-scheme:dark;--navy:#081e2b;--ivory:#fff2d7;--gold:#efbd59;--gold-light:#ffe6a0;--gold-deep:#d99725;--serif:Georgia,'Times New Roman',serif;--body:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--navy)}body{font-family:var(--body);color:var(--ivory)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold-light);outline-offset:6px}button{border:0}button svg,a svg{width:24px;height:24px;flex-shrink:0}
.skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);z-index:20;padding:12px;background:var(--navy)}.skip:focus{transform:none}
.scene{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;flex-direction:column}
.backdrop{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}
.scene::before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(3,17,31,.2),transparent 26%,transparent 75%,rgba(3,15,25,.6))}
.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding:24px 4.3%;position:relative;z-index:3}
.brand{display:block;width:clamp(230px,25vw,420px);filter:drop-shadow(0 3px 6px #06131bb0)}.brand img{display:block;width:100%;height:auto}
.header-nav{display:flex;align-items:center;gap:30px;margin-top:24px;text-shadow:0 1px 10px #081e2b;font-family:var(--serif);font-size:18px}
.nav-link{padding:8px 0;white-space:nowrap;position:relative}.nav-link[aria-current=page]{color:var(--gold)}.nav-link[aria-current=page]::after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:2px;background:var(--gold)}
.languages{display:flex;gap:14px;border-left:1px solid #fff2d75c;padding-left:24px;align-items:center}.languages a{font-size:15px;padding:8px 0;opacity:.65}.languages a[aria-current=true]{opacity:1;border-bottom:2px solid var(--gold)}
main{flex:1;display:flex;align-items:center;position:relative;padding:25px 5.2% 100px}
.copy{position:relative;width:54%;z-index:1}.home-copy{margin-left:49%;width:51%;padding:8px 0 48px}
.home-copy::before{content:'';position:absolute;inset:-45px -45px;z-index:-1;background:radial-gradient(ellipse,#08182566 0%,transparent 72%);pointer-events:none}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.9vw,100px);line-height:1.08;letter-spacing:-.035em;margin:0 0 34px;text-shadow:0 3px 20px #071b2b60}
h1 span{display:block}.circle-copy{width:60%;max-width:850px;padding-top:24px}.circle-copy h1{font-size:clamp(42px,5.3vw,88px);margin-bottom:8px}.subheading{font-family:var(--serif);font-size:clamp(28px,3.3vw,56px);color:var(--gold-light);margin:0 0 30px;line-height:1.18;letter-spacing:-.02em}.intro{font-size:clamp(18px,1.8vw,29px);line-height:1.5;font-weight:300;margin:0 0 30px}
.cta{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 30px;border:1.5px solid var(--gold);border-radius:50px;background:rgba(4,19,32,.86);color:var(--gold-light);font-family:var(--serif);font-size:20px;font-weight:bold;transition:box-shadow .2s,background .2s,transform .2s}
.cta:hover{box-shadow:0 0 24px #edb84630;transform:translateY(-2px);background:#142d3c}
.adventure{text-transform:uppercase;letter-spacing:.065em;font-size:clamp(15px,1.5vw,23px);font-variant:small-caps;text-shadow:0 1px 0 #a66c1540}
.cta.gold{background:linear-gradient(175deg,#ffe9a0 0%,#f6c34d 50%,#d99521 100%);color:#092333;box-shadow:inset 0 1px 0 #fff7d5c0,0 5px 18px #0002;font-size:22px}
.cta.gold:hover{background:linear-gradient(175deg,#fff0bc,#ffd269 50%,#dfa42c)}
.site-footer{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:16px 4% 26px;min-height:64px;font-family:var(--serif);font-size:14px}
.page-links{display:flex;gap:28px;align-items:center}.page-links a{padding:8px 0}.page-links a[aria-current=page]{color:var(--gold)}
.social-links{justify-self:end;display:flex;gap:20px;align-items:center}.social-links a{display:flex;align-items:center;justify-content:center;width:36px;height:36px}.social-links svg{width:25px;height:25px}.social-links a:hover{color:var(--gold)}
.motion-control{justify-self:start;background:transparent;opacity:.8;font:12px var(--body);display:flex;gap:7px;align-items:center;padding:8px}.motion-control:hover{opacity:1}.motion-control svg{width:13px;height:13px}.circle-page .motion-control{visibility:hidden}
.meteor{position:absolute;top:16%;left:54%;width:100px;height:1px;background:linear-gradient(90deg,transparent,#fff6d9);box-shadow:0 0 5px #ffe6aa;opacity:0;pointer-events:none;z-index:-1;transform:rotate(-28deg);animation:shoot 19s linear infinite 5s}
@keyframes shoot{0%,80%,100%{opacity:0;transform:translate(0,0) rotate(-28deg)}82%{opacity:.8}86%{opacity:0;transform:translate(-280px,140px) rotate(-28deg)}}
body.motion-paused .meteor{animation:none;opacity:0}
dialog{color:var(--ivory);background:#0a2332;border:1px solid #cda55d80;border-radius:20px;padding:42px;width:min(92vw,530px);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#02121dba;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:16px;top:12px;background:none;font-size:30px;color:var(--gold-light);padding:4px 10px}dialog h2{font:38px var(--serif);margin:8px 0 12px}dialog p{line-height:1.65;color:#e1e6e4}form{display:grid;gap:17px;margin-top:26px}label{font-size:15px}input[type=email]{width:100%;margin-top:8px;min-height:50px;padding:12px 14px;border:1px solid #a9b8bb6b;border-radius:9px;background:#061925;color:var(--ivory)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}.consent input{margin-top:3px;accent-color:var(--gold)}.form-note{font-size:13px;border-left:2px solid var(--gold);padding-left:12px;line-height:1.5;margin-top:20px}.form-status{font-size:14px;line-height:1.5;min-height:20px}form .cta:disabled{opacity:.5;transform:none}.privacy{font-size:13px;text-decoration:underline}body.modal-open{overflow:hidden}
@media(min-width:1500px){main{padding-top:35px}.home-copy{padding-bottom:90px}}
@media(max-width:1000px){.header-nav{gap:18px;font-size:16px}.languages{gap:10px;padding-left:15px}.brand{width:260px}.home-copy{margin-left:45%;width:55%}h1{font-size:clamp(44px,6.3vw,68px)}.circle-copy{width:68%}.circle-copy h1{font-size:clamp(40px,5.8vw,62px)}.cta{gap:14px;padding:14px 23px}.adventure{font-size:16px}}
@media(max-width:700px){.site-header{padding:16px 5%;flex-wrap:wrap;gap:8px;align-items:center}.brand{width:210px}.header-nav{width:100%;margin-top:0;gap:24px;font-size:16px;justify-content:flex-end}.languages{margin-left:auto}.backdrop{object-position:28% center}.scene::before{background:linear-gradient(180deg,#051a2999 0%,transparent 25%,#061a2b33 48%,#041725e8 73%,#041725 100%)}main{align-items:flex-end;min-height:620px;padding:330px 7% 30px}.home-copy{margin:0;padding:0;width:100%;text-align:center}.home-copy::before{display:none}h1{font-size:clamp(40px,8.9vw,59px);line-height:1.09;margin-bottom:24px;letter-spacing:-.025em}.circle-page .backdrop{object-position:63% center}.circle-page .scene::before{background:linear-gradient(180deg,#041a2c77,transparent 30%,#071d2ccc 55%,#071d2bf5 75%)}.circle-copy{width:100%;padding-top:0}.circle-copy h1{font-size:clamp(37px,8.5vw,55px);line-height:1.12}.subheading{font-size:29px;margin-bottom:22px}.intro{font-size:19px;margin-bottom:26px}.site-footer{grid-template-columns:1fr auto;padding:12px 6% 22px;gap:10px 14px}.page-links{grid-column:1/-1;grid-row:1;justify-content:center;gap:24px}.social-links{grid-column:2;grid-row:2}.motion-control{grid-column:1;grid-row:2}.cta{min-height:56px;max-width:100%;font-size:18px}.adventure{font-size:15px;gap:15px}.meteor{left:75%;top:25%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.meteor{display:none}}

.footer-controls{display:flex;gap:14px;align-items:center;justify-self:start}.sound-control{background:#081e2b88;border:1px solid #f0d08a55;border-radius:30px;display:flex;align-items:center;gap:8px;padding:9px 13px;min-height:44px;font:12px var(--body);color:var(--ivory)}.sound-control:hover{border-color:var(--gold)}.sound-control svg{width:20px;height:20px}.sound-state{font-size:10px;color:var(--gold-light);letter-spacing:.08em}.sound-control .sound-waves{display:none}.sound-control[aria-pressed=true] .sound-waves{display:block}.sound-control[aria-pressed=true] .sound-cross{display:none}.sound-status{position:fixed;bottom:85px;left:4%;font:13px var(--body);background:#061b2c;max-width:300px;border-radius:8px;z-index:4}.sound-status:not(:empty){padding:12px 16px}
@media(max-width:700px){.footer-controls{grid-column:1;grid-row:2;gap:3px}.footer-controls .motion-control{font-size:10px;padding:6px}.sound-control{padding:8px 10px;gap:6px;font-size:11px}.social-links{gap:7px}}

[hidden]{display:none!important}


/* Approved cartoon western target, aligned below the end of the home title. */
.home-copy{width:fit-content;max-width:51%;padding-bottom:12px}
.home-copy h1{margin-bottom:16px}
.circle-target{position:relative;display:block;width:clamp(220px,19vw,280px);aspect-ratio:1;margin-inline:auto;isolation:isolate;cursor:pointer;border-radius:50%;font-family:Georgia,'Times New Roman',serif;font-weight:900;color:#fff0c3;letter-spacing:.015em}
.target-board{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 10px #0008);transition:filter .2s,transform .2s}
.target-label{position:absolute;z-index:2;left:12%;right:12%;top:54.2%;height:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(19px,1.8vw,26px);line-height:1.12;text-align:center;text-transform:uppercase;text-shadow:0 2px 0 #794215,1px 0 0 #794215,-1px 0 0 #794215,0 3px 3px #341a13;pointer-events:none}
.target-label span{display:block;white-space:nowrap}
.circle-target:hover .target-board,.circle-target:focus-visible .target-board{filter:drop-shadow(0 0 10px #f1b95199) brightness(1.08)}
.circle-target .target-feather{position:absolute;z-index:3;width:50%;height:auto;left:46%;bottom:51%;opacity:0;pointer-events:none;transform-origin:4% 97%;filter:drop-shadow(2px 3px 2px #0008)}
.target-ripple{position:absolute;width:24%;aspect-ratio:1;border:2px solid #ffe4a4;border-radius:50%;left:37%;top:35%;opacity:0;pointer-events:none;box-shadow:0 0 12px #ffd47a}
.circle-target.is-entering .target-feather{animation:feather-arrives .6s cubic-bezier(.18,.78,.25,1) forwards}
.circle-target.is-entering .target-ripple{animation:target-hit .35s ease-out .23s forwards}
@keyframes feather-arrives{0%{opacity:0;transform:translate(90px,-90px) scale(1.2)}40%{opacity:1;transform:translate(0,0) rotate(0deg)}60%{opacity:1;transform:rotate(-5deg)}80%{opacity:1;transform:rotate(3deg)}100%{opacity:1;transform:rotate(0deg)}}
@keyframes target-hit{0%{opacity:.85;transform:scale(.4)}100%{opacity:0;transform:scale(1.6)}}
@media(max-width:1000px){.home-copy{max-width:55%}.circle-target{width:220px}.target-label{font-size:20px}}
@media(max-width:700px){.home-copy{width:fit-content;max-width:100%;margin-inline:auto;text-align:center;padding:0}.circle-target{width:220px;margin-top:18px;margin-inline:auto}.target-label{font-size:20px}}
@media(prefers-reduced-motion:reduce){.target-board{transition:none}}

/* Balanced viewport composition: reserve space for navigation and footer controls. */
@media(min-width:701px){
 .site-header{flex-shrink:0;padding:18px 4.3% 10px}
 .brand{width:clamp(200px,min(23vw,43svh),330px)}
 .header-nav{margin-top:16px;font-size:17px}
 main{min-height:0;padding:8px 5.2% 34px}
 .home-copy{padding:0;max-width:51%;margin-left:49%;text-align:center}
 .home-copy h1{font-size:clamp(34px,min(4.35vw,7.6svh),68px);line-height:1.12;letter-spacing:-.025em;margin-bottom:16px}
 .circle-target{width:clamp(160px,min(17vw,29svh),230px);container-type:inline-size}
 .target-label{font-size:9.1cqw}
 .site-footer{flex-shrink:0;min-height:64px;padding:10px 4% 16px}
 .circle-copy{width:min(48%,560px);max-width:560px;padding:25px 30px 28px}
 .circle-copy h1{font-size:clamp(34px,min(3.8vw,6.8svh),56px);line-height:1.12;margin:0 0 12px}
 .circle-copy .subheading{font-size:clamp(24px,2.3vw,34px);margin:0 0 18px}
 .circle-copy .intro{font-size:18px;margin:0 0 20px}
}
.circle-page .scene::before{background:linear-gradient(90deg,#061b2c99 0%,#071d2b44 42%,transparent 70%),linear-gradient(0deg,#041724bb,transparent 22%)}
.circle-copy{text-align:center;isolation:isolate}
.circle-copy::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border:1px solid #efbd5945;border-radius:3px 34px 3px 34px;background:linear-gradient(135deg,#091f2be8,#092333b8);box-shadow:0 12px 50px #0002,inset 0 0 30px #e3b35208}
.circle-copy::after{content:"";position:absolute;inset:8px;z-index:-1;pointer-events:none;border:1px solid #efbd5929;border-radius:2px 27px 2px 27px}
.circle-copy h1 span:first-child{font-size:.47em;letter-spacing:.12em;text-transform:uppercase;color:#efcd85;margin-bottom:12px}
.circle-ornament{display:flex;align-items:center;justify-content:center;gap:16px;height:45px;margin-bottom:16px}
.circle-ornament img{width:35px;height:45px;object-fit:contain;filter:drop-shadow(0 2px 3px #0008)}
.circle-ornament span{height:1px;width:58px;background:linear-gradient(90deg,transparent,#caa45d)}
.circle-ornament span:last-child{transform:rotate(180deg)}
.wood-sign{position:relative;display:inline-flex;align-items:center;justify-content:center;width:280px;max-width:100%;aspect-ratio:4;isolation:isolate;color:#fff0bf;font:bold 21px Georgia,'Times New Roman',serif;text-shadow:0 2px 1px #6e361a;filter:drop-shadow(0 5px 7px #0005);transition:filter .2s,transform .2s;border-radius:12px}
.wood-sign-crop{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:12px}
.wood-sign-crop img{position:absolute;width:100%;height:auto;left:0;top:0;transform:translateY(-53%)}
.wood-sign-label{position:relative;z-index:1;padding:0 28px}
.wood-sign:hover{filter:drop-shadow(0 0 10px #efbd5955) brightness(1.1);transform:translateY(-2px)}
@media(min-width:701px) and (max-height:650px){
 .site-header{padding-top:12px}.brand{width:210px}.header-nav{margin-top:8px}
 main{padding-top:4px;padding-bottom:18px}
 .home-copy h1{font-size:clamp(32px,6.8svh,44px);margin-bottom:12px}
 .circle-target{width:clamp(140px,27svh,175px)}
 .circle-copy{padding:16px 24px 18px}.circle-ornament{height:30px;margin-bottom:8px}
 .circle-ornament img{height:30px;width:26px}
 .circle-copy h1{font-size:36px}.circle-copy h1 span:first-child{margin-bottom:8px}
 .circle-copy .subheading{font-size:25px;margin-bottom:12px}.circle-copy .intro{font-size:16px;margin-bottom:12px}
 .wood-sign{width:250px;font-size:19px}
}
@media(max-width:700px){
 .home-page main{min-height:0;padding:clamp(130px,22svh,210px) 7% 22px}
 .home-copy h1{font-size:clamp(30px,8.2vw,42px);margin-bottom:12px}
 .circle-target{width:clamp(160px,24svh,200px);container-type:inline-size;margin-top:10px}
 .target-label{font-size:9.1cqw}
 .site-footer{min-height:64px;padding-top:8px;gap:4px 12px}
 .footer-spacer{display:none}.footer-controls,.social-links{grid-row:1}
 .circle-page main{min-height:0;padding:125px 6% 24px}
 .circle-page .scene::before{background:linear-gradient(180deg,#041a2c55,transparent 25%,#071d2c66 55%,#071d2bf0)}
 .circle-copy{padding:24px 18px;width:100%;max-width:480px;margin-inline:auto}
 .circle-copy h1{font-size:clamp(32px,8vw,42px)}
 .circle-copy .subheading{font-size:25px;margin-bottom:16px}
 .circle-copy .intro{font-size:17px;margin-bottom:16px}
 .circle-ornament{height:35px;margin-bottom:12px}
 .wood-sign{width:260px;font-size:20px}
 .circle-page .site-footer .motion-control{grid-row:1}
}

/* Atmospheric movement: decorative, non-interactive, and pausable. */
.starfield,.shooting-stars{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.starfield i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);background:#fff4ce;border-radius:50%;box-shadow:0 0 6px 1px #bcdfff88;opacity:.2;animation:star-glimmer var(--d) ease-in-out var(--delay) infinite}
@keyframes star-glimmer{0%,100%{opacity:.12;transform:scale(.65)}45%{opacity:.9;transform:scale(1.25)}65%{opacity:.35}}
.shooting-stars i{position:absolute;top:7%;left:58%;width:110px;height:1px;background:linear-gradient(90deg,transparent,#fff5d5);filter:drop-shadow(0 0 3px #c8e4ff);opacity:0;animation:sky-trail 14s linear infinite}
.shooting-stars i:nth-child(2){top:15%;left:24%;width:75px;animation-duration:19s;animation-delay:5s}
.shooting-stars i:nth-child(3){top:3%;left:82%;width:90px;animation-duration:23s;animation-delay:10s}
@keyframes sky-trail{0%,86%{opacity:0;transform:translate(0,0) rotate(145deg)}87%{opacity:.85}93%{opacity:0;transform:translate(-250px,170px) rotate(145deg)}100%{opacity:0;transform:translate(-250px,170px) rotate(145deg)}}
.hair-wind{position:absolute;z-index:-2;pointer-events:none;max-width:none;overflow:visible}
body.motion-paused .starfield i,body.motion-paused .shooting-stars i{animation-play-state:paused}
body.motion-paused .shooting-stars,body.motion-paused .hair-wind{visibility:hidden}
@media(prefers-reduced-motion:reduce){.shooting-stars,.hair-wind{display:none}.starfield i{opacity:.35}}

/* The Circle shares the home page's illustrated invitation. */
.circle-copy .tiki-invitation{font-family:Georgia,'Times New Roman',serif;font-weight:900;text-transform:uppercase;font-size:clamp(32px,min(3.8vw,6.7svh),56px);letter-spacing:-.035em;line-height:1.14;margin:0 0 16px;color:#efbd59;background:linear-gradient(165deg,#fff2bb 3%,#edb640 20%,#fff0a1 32%,#bd6e12 48%,#ffda72 51%,#d78b20 72%,#fff0af 93%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(1px 2px 0 #6d340a) drop-shadow(0 4px 3px #0008)}
.circle-copy .circle-invitation{max-width:370px;margin:0 auto 10px;line-height:1.5;font-size:19px}
.circle-copy .circle-target{width:clamp(160px,25svh,220px);container-type:inline-size;margin:8px auto 0}
.circle-copy .target-label{font-size:9.1cqw}
.circle-copy .circle-ornament{height:28px;margin-bottom:12px}
.circle-copy .circle-ornament img{height:30px;width:26px}
@media(min-width:701px) and (max-height:650px){.circle-copy{padding:16px 24px}.circle-copy .tiki-invitation{font-size:36px;margin-bottom:10px}.circle-copy .circle-invitation{font-size:17px}.circle-copy .circle-target{width:155px}.circle-copy .circle-ornament{height:22px;margin-bottom:8px}}
@media(max-width:700px){.circle-copy .tiki-invitation{font-size:clamp(29px,8.7vw,43px)}.circle-copy .circle-invitation{font-size:18px}.circle-copy .circle-target{width:175px}.circle-page main{padding-top:55px}}

.shooting-stars i{animation-duration:8s;animation-delay:-7s}
.shooting-stars i:nth-child(2){animation-duration:11s;animation-delay:-4s}
.shooting-stars i:nth-child(3){animation-duration:13s;animation-delay:-10s}
.shooting-stars i:nth-child(4){left:73%;top:13%;width:100px;animation-duration:17s;animation-delay:-13s}
.shooting-stars i:nth-child(5){left:42%;top:5%;width:80px;animation-duration:15s;animation-delay:-6s}
.shooting-stars i:nth-child(6){left:94%;top:19%;width:120px;animation-duration:19s;animation-delay:-16s}

/* Personal note and recognizable social colours. */
@font-face{font-family:TikiSignature;src:url('../assets/fonts/tiki-signature.otf') format('opentype');font-display:swap}.tiki-signature{display:inline-block;font-family:TikiSignature,cursive;font-size:46px;line-height:.8;font-weight:400;color:#efc76f;margin-left:10px;transform:rotate(-9deg);text-shadow:0 2px 5px #0009;vertical-align:-5px}.social-links a svg{width:29px;height:29px;filter:drop-shadow(0 2px 3px #0008)}
.circle-page .backdrop{transform:scaleX(-1)}
@media(min-width:701px){.circle-page main{justify-content:flex-end;align-items:flex-end;padding-bottom:24px}.circle-page .circle-copy{margin-left:auto;margin-right:1%;width:45%;max-width:600px}.circle-page .scene::before{background:linear-gradient(180deg,#03111f33,transparent 30%),linear-gradient(90deg,transparent 40%,#04172566 100%)}}
@media(max-width:700px){.circle-page .circle-copy{margin-left:auto;width:min(100%,440px)}.circle-page .backdrop{object-position:63% center}.tiki-signature{font-size:42px}}

.circle-page .confirmation-copy{padding:36px 30px}.confirmation-copy h1{font:400 clamp(24px,2.7vw,38px)/1.2 Georgia,serif;color:var(--gold-light);margin:0 0 22px}.confirmation-copy p{font-size:clamp(17px,1.6vw,21px);line-height:1.65;margin:0}.confirmation-page main{padding-bottom:8vh}

.confirmation-signature{margin-top:24px;text-align:right;padding-right:12px}

/* Comfortable touch targets, without changing icon size. */
.social-links a{width:44px;height:44px}.languages a{min-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.motion-control{min-height:44px}
.language-pending [data-text]{visibility:hidden}
@media(max-width:380px){.header-nav{gap:14px}.languages{gap:4px;padding-left:8px}.site-footer{padding-inline:5%}.footer-controls{gap:0}.social-links{gap:3px}}

/* Keep three social links and audio controls accessible on narrow screens. */
@media(max-width:420px){.site-footer{grid-template-columns:1fr}.footer-controls{grid-column:1;grid-row:1;justify-self:center}.social-links{grid-column:1;grid-row:2;justify-self:center;gap:14px}}

/* Balanced introduction, with an uncropped responsive illustration. */
.tiki-bio{position:relative;padding:80px 5%;background:radial-gradient(ellipse at 15% 45%,#17323c 0%,#0b2532 40%,#081e2b 78%);border-top:1px solid #efbd592b}
.bio-layout{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center}
.bio-visual{margin:0;position:relative}.bio-visual img{width:100%;height:auto;display:block;border-radius:3px;box-shadow:0 20px 50px #0004}
.bio-copy{max-width:500px;min-width:0;text-align:left}
.bio-copy h2{font:400 clamp(30px,2.8vw,42px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance}.bio-copy h2 span,.bio-copy h2 strong{display:block}.bio-copy h2 span{color:#e0d7bf;font-size:.66em;margin-bottom:10px;letter-spacing:0}.bio-copy h2 strong{font-weight:400;color:var(--gold-light)}
.bio-description{font-size:18px;line-height:1.65;color:#e1e7e5;margin:0 0 20px;text-wrap:pretty}.bio-signature{font:italic 20px/1.4 var(--serif);color:var(--gold);margin:0 0 24px;text-wrap:balance}.bio-cta{font-size:17px;min-height:50px;padding:12px 24px;font-weight:400;gap:22px}
@media(max-width:1100px) and (min-width:901px){.bio-layout{grid-template-columns:1.2fr 1fr;gap:32px}.bio-description{font-size:17px;line-height:1.55}.bio-copy h2{font-size:32px;margin-bottom:18px}.bio-signature{font-size:18px;margin-bottom:20px}}
@media(max-width:900px){.tiki-bio{padding:48px 6% 56px}.bio-layout{grid-template-columns:1fr;gap:30px;max-width:640px}.bio-copy{max-width:560px}.bio-copy h2{font-size:clamp(30px,5vw,40px);margin-bottom:20px}.bio-description{font-size:18px}.bio-signature{font-size:20px}.bio-cta{font-size:17px}}
@media(max-width:380px){.bio-description{font-size:17px}.bio-signature{font-size:18px}}

/* Gold invitation echoes the Tiki logo in both languages. */
.bio-cta{background:linear-gradient(155deg,#fff0b2 0%,#efbd59 46%,#d99a2b 100%);border-color:#f4ce79;color:#081e2b;font-weight:600;box-shadow:inset 0 1px 0 #fff6d8b3,0 5px 18px #0003}
.bio-cta:hover{background:linear-gradient(155deg,#fff4c8 0%,#f7cc70 46%,#e7aa3e 100%);color:#081e2b;box-shadow:inset 0 1px 0 #fff8df,0 7px 24px #efbd5930}

/* Persistent home controls sit outside the illustrated scene's stacking context. */
.scroll-invitation{position:fixed;z-index:4;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:56px;padding:7px 18px 5px;border-radius:24px;color:var(--gold-light);font:16px/1.25 var(--serif);letter-spacing:.025em;white-space:nowrap;text-shadow:0 2px 5px #000,0 0 15px #000;background:radial-gradient(ellipse,#081e2bb3,transparent 75%)}
.scroll-invitation svg{width:28px;height:20px;filter:drop-shadow(0 2px 3px #0009);animation:invite-down 2.2s ease-in-out infinite}
.scroll-invitation:hover{color:#fff4cf;background:#081e2bb3}
@keyframes invite-down{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
body.motion-paused .scroll-invitation svg{animation:none}
@media(max-width:700px){.scroll-invitation{bottom:calc(82px + env(safe-area-inset-bottom));font-size:15px;gap:2px;min-height:48px;padding:5px 14px}}
.home-page .site-footer{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;min-height:0;padding:12px 4% max(12px,env(safe-area-inset-bottom));gap:12px;pointer-events:none}
.home-page .site-footer .footer-spacer{display:none}
.home-page .footer-controls,.home-page .social-links{pointer-events:auto;background:#081e2be8;border:1px solid #efbd5933;border-radius:40px;padding:5px 9px;box-shadow:0 4px 20px #0004;backdrop-filter:blur(10px)}
.home-page .footer-controls{gap:6px}.home-page .sound-control{background:transparent;border-color:transparent}
.home-page .social-links{gap:8px}.home-page .scene{padding-bottom:85px}.home-page .tiki-bio{padding-bottom:110px}
@media(max-width:700px){.home-page .site-footer{padding-inline:12px;gap:8px}.home-page .footer-controls,.home-page .social-links{padding:4px 6px}.home-page .social-links{gap:2px}.home-page .tiki-bio{padding-bottom:110px}}
@media(max-width:380px){.home-page .footer-controls{gap:0}.home-page .footer-controls .motion-control{font-size:0;gap:0;padding:6px;min-width:32px}.home-page .footer-controls [data-motion-symbol]{font-size:14px}.home-page .social-links{gap:0}.home-page .site-footer{padding-inline:8px}}

/* Permanent author letter and explicitly selected public teasers. */
.author-link{margin:24px 0 0;font:18px/1.5 var(--serif);color:var(--gold-light)}.author-link a,.author-return{text-decoration:underline;text-underline-offset:5px}
.author-page{background:radial-gradient(ellipse at 20% 15%,#17323c,var(--navy) 65%)}
.author-main{display:block;min-height:0;padding:40px 6% 80px}.author-letter{max-width:740px;margin:auto}.letter-feather{font-size:34px;margin:0 0 20px}.author-letter h1{font-size:clamp(34px,5vw,58px);color:var(--gold-light);margin-bottom:40px}.author-paragraph{font:19px/1.85 var(--body);margin:0 0 24px;color:#e1e7e5}.author-paragraph:first-of-type{font-family:var(--serif)}.author-signature{font:italic 25px/1.5 var(--serif);color:var(--gold-light);margin-top:32px}.author-return{display:inline-block;margin-top:22px;color:var(--gold-light);padding:12px 0}
.tiki-teasers{padding:60px 5% 130px;border-top:1px solid #efbd592b;background:var(--navy)}.teasers-inner{max-width:1200px;margin:auto}.tiki-teasers h2{font:400 clamp(30px,4vw,42px)/1.2 var(--serif);color:var(--gold-light);margin:0 0 16px}.tiki-teasers p{line-height:1.6;color:#e1e7e5}.teaser-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:32px}.teaser-card{min-width:0}.teaser-card h3{font:400 19px var(--serif);color:var(--gold-light)}.teaser-player{aspect-ratio:9/16;overflow:hidden;border-radius:10px;border:1px solid #efbd594d;background:radial-gradient(ellipse at 50% 20%,#24414b,#061723)}.teaser-load{display:flex;width:100%;height:100%;padding:20px;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:transparent;color:var(--gold-light)}.teaser-play{font-size:54px}.teaser-label{font-size:14px;color:#e1e7e5}.teaser-player iframe{display:block;width:100%;height:100%;border:0}.teaser-card>a{display:inline-block;padding:16px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){.teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.author-main{padding-top:32px}.author-paragraph{font-size:18px;line-height:1.8}}@media(max-width:380px){.teaser-grid{gap:12px}.teaser-load{padding:10px;font-size:14px}}
/* Keep embedded players above YouTube's 200px minimum on narrow layouts. */
.teaser-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.teaser-player{position:relative}.teaser-player iframe{position:absolute;inset:0;width:100%;height:100%}

/* Cinematic teaser posters; a single accessible, vertical lightbox player. */
.teaser-grid{gap:24px}.teaser-poster{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/5;padding:0;overflow:hidden;border:1px solid #efbd5966;border-radius:14px;text-align:left;background:#102b36;color:#fff2d7;isolation:isolate}.teaser-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;z-index:-2;transition:transform .4s}.teaser-poster::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#03121b45,transparent 35%,#03121b20 50%,#03121bf2 100%)}.teaser-poster:hover>img{transform:scale(1.035)}.teaser-badge{position:absolute;left:16px;top:16px;background:#081e2bd9;border:1px solid #ffe6a066;border-radius:30px;padding:7px 12px;font:600 12px/1.3 var(--body);letter-spacing:.07em;color:var(--gold-light)}.teaser-poster .teaser-play{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;background:#081e2b44;border:2px solid #fff4db;border-radius:50%;box-shadow:0 3px 24px #0005;backdrop-filter:blur(3px);transition:background .2s,scale .2s}.teaser-poster .teaser-play svg{width:44px;height:44px}.teaser-poster:hover .teaser-play{background:#efbd59;color:#081e2b;border-color:#efbd59;scale:1.06}.teaser-poster-copy{position:absolute;left:20px;right:20px;bottom:24px;display:grid;gap:12px}.teaser-poster-copy strong{font:400 clamp(24px,2.1vw,30px)/1.15 var(--serif);text-wrap:balance;color:#fff2d7;text-shadow:0 2px 12px #0009}.teaser-poster-copy>span{font:14px/1.4 var(--body);color:var(--gold-light)}
body.teaser-modal-open{overflow:hidden}dialog.teaser-dialog{padding:14px;margin:auto;width:min(94vw,calc((100dvh - 140px)*9/16 + 28px));max-width:560px;max-height:96dvh;overflow:auto;border:1px solid #efbd5955;border-radius:14px;background:#06141e;box-shadow:0 30px 100px #000b}dialog.teaser-dialog::backdrop{background:#010810ed;backdrop-filter:blur(7px)}.teaser-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.teaser-modal-heading h2{font:400 16px/1.3 var(--serif);margin:0;color:var(--gold-light)}.teaser-close{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#16313e;color:#fff2d7;font:30px/1 var(--body)}.teaser-close:hover{background:#254553}.teaser-modal-player{position:relative;width:100%;aspect-ratio:9/16;background:#000;min-width:200px}.teaser-modal-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.teaser-modal-fallback{display:block;padding:12px 4px 2px;text-align:center;font:12px/1.4 var(--body);color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}@media(max-width:540px){.teaser-grid{max-width:380px;margin-inline:auto}.teaser-poster-copy strong{font-size:30px}.teaser-poster{aspect-ratio:4/5}}@media(max-height:540px){dialog.teaser-dialog{width:246px;max-height:96dvh}.teaser-modal-player{min-width:200px}.teaser-modal-heading h2{font-size:13px}}

/* Original cover files are preserved; show only their central cinematic frame. */
.teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teaser-poster{aspect-ratio:16/9}.teaser-poster>img{top:-105.263%;bottom:auto;height:315.789%;object-fit:fill;object-position:initial}.teaser-poster-copy{bottom:18px;gap:7px}.teaser-poster-copy strong{font-size:clamp(22px,2.2vw,30px)}.teaser-poster .teaser-play{top:38%;width:62px;height:62px}@media(max-width:650px){.teaser-grid{grid-template-columns:1fr;max-width:520px}.teaser-poster{aspect-ratio:16/9}.teaser-poster-copy strong{font-size:clamp(23px,6vw,30px)}}

/* Discreet direct YouTube links remain accessible without redundant captions. */
.teaser-card>.teaser-youtube-link,.teaser-modal-fallback{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px;margin:6px 0 0 auto;border-radius:10px;text-decoration:none}.teaser-youtube-link svg,.teaser-modal-fallback svg{width:28px;height:28px}.teaser-youtube-link:hover,.teaser-modal-fallback:hover{background:#ffffff12}.teaser-modal-fallback{margin:6px auto 0}

/* Existing sunset scene: keep Tiki and the projected shadow clear of the invitation. */
.home-page .home-copy{margin-left:0;max-width:38%;padding:0;text-align:center}
.home-page .home-copy::before{display:none}
.home-page .backdrop{object-position:62% center}
.home-page .home-copy .circle-target{margin-inline:auto}
@media(max-width:700px){
 .home-page .backdrop{object-position:66% center}
 .home-page .scene::before{background:linear-gradient(180deg,#051a2955,transparent 25%,transparent 65%,#04172599)}
 .home-page main{align-items:flex-end;padding:310px 5% 30px}
 .home-page .home-copy{margin:0;max-width:42%;width:42%}
 .home-page .home-copy .circle-target{width:clamp(120px,34vw,160px)}
}
@media(max-width:700px){
 .home-page .scene{background:#142b30}
 .home-page .backdrop{top:160px;height:calc(100% - 290px);object-position:70% center}
 .home-page .scene::before{background:linear-gradient(180deg,#081e2b 0%,#142b3000 190px,transparent calc(100% - 170px),#142b30 calc(100% - 110px))}
 .home-page main{padding-bottom:20px}
 .home-page .home-copy .circle-target{width:120px}
}

.feature-film{max-width:900px;margin:0 auto 48px}
.feature-film .feature-film-poster{aspect-ratio:16/9}
.feature-film .feature-film-poster>img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
dialog.teaser-dialog.is-landscape{width:min(94vw,1100px,calc((100dvh - 150px)*16/9 + 28px));max-width:1100px}
.teaser-dialog.is-landscape .teaser-modal-player{aspect-ratio:16/9;min-width:0}
@media(max-width:540px){.feature-film .teaser-poster-copy{left:14px;bottom:14px;gap:4px}.feature-film .teaser-poster-copy strong{font-size:24px}.feature-film .teaser-badge{top:10px;left:10px}.feature-film .teaser-play{width:48px;height:48px;top:43%}.feature-film .teaser-play svg{width:32px;height:32px}}
