
:root{--sea:#10285a;--sea2:#1a4a8a;--stone:#f3ebdd;--paper:#fbf7ef;--ink:#1b2433;--muted:#5a6070;--gold:#f5a300;--goldink:#9a5a00;--leaf:#1f6b4a;--clay:#c8003f;--line:#e3d9c6;--card:#ffffff;--serif:'Cinzel','Trajan Pro',Georgia,serif;--sans:'EB Garamond',Garamond,Georgia,serif;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
body{margin:0;background:var(--paper);color:var(--ink);font:1.28rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--sea);z-index:60}
h1,h2,h3{font-family:var(--serif);line-height:1.2;margin:0 0 .6em;font-weight:500;letter-spacing:.04em}
h2{font-size:clamp(1.7rem,4vw,2.6rem)}h2::after{content:"";display:block;width:56px;height:2px;background:var(--gold);margin-top:.5em}
.c h2::after{margin-inline:auto}.c{text-align:center}.c p{margin-inline:auto}
h3{font-size:1.1rem;letter-spacing:.07em}p{margin:0 0 1em;max-width:60ch}a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.top{background:#10285a;color:#e8dfc6;font-size:1rem;text-align:center;padding:7px 12px}.top a{color:var(--gold);font-weight:500}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--sea);color:#efe9d8;border-bottom:1px solid rgba(212,170,58,.35)}
header .wrap{display:flex;align-items:center;gap:22px;height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-weight:600;letter-spacing:.12em;font-size:.85rem;white-space:nowrap}
.mark{display:block;width:46px;height:46px;object-fit:contain}
nav{display:flex;gap:20px;margin-left:auto;align-items:center;font-size:1.05rem}
nav a{text-decoration:none;opacity:.85;border-bottom:1px solid transparent;padding:4px 0}nav a:hover{opacity:1;color:var(--gold);border-color:var(--gold)}
nav a.give{opacity:1;background:var(--gold);color:#17140a;padding:8px 20px;font-family:var(--serif);font-size:.78rem;letter-spacing:.14em;font-weight:600;border:0}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--gold);color:var(--gold);padding:8px 14px;font:600 .75rem var(--serif);letter-spacing:.14em}
.btn{display:inline-block;padding:14px 28px;font-family:var(--serif);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-decoration:none;margin:6px 10px 6px 0;border:1px solid var(--gold);cursor:pointer;background:none;color:inherit;transition:background .2s}
.btn.p{background:var(--gold);color:#17140a}.btn.p:hover{background:#e3bd55}.btn.s:hover{background:rgba(212,170,58,.16)}
.band{height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 20px,var(--sea) 20px 26px,var(--leaf) 26px 46px,var(--sea) 46px 52px,var(--clay) 52px 72px,var(--sea) 72px 78px)}
.hero{background:radial-gradient(ellipse at 80% 35%,rgba(255,176,0,.2),transparent 46%),radial-gradient(ellipse at 18% 85%,rgba(200,0,63,.2),transparent 46%),linear-gradient(180deg,#10285a,#0b1d44);color:#efe9d8;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:80px;padding-bottom:80px}
.hero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);line-height:1.12;letter-spacing:.05em;max-width:15ch;margin-bottom:.4em}
.hero p.l{font-size:1.5rem;font-style:italic;color:#d6cfbb}
.logo{width:min(420px,100%);height:auto;aspect-ratio:1/1;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 0 40px rgba(212,170,58,.25))}
.count{display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(212,170,58,.5);padding:8px 16px;margin:6px 0 18px;font-size:1.1rem;background:rgba(0,0,0,.2)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--clay);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.25}}
.reach{background:#0c2150;color:#d6cfbb;border-top:1px solid rgba(212,170,58,.3)}
.reach .wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-top:26px;padding-bottom:26px;text-align:center}
.reach b{display:block;font-family:var(--serif);color:var(--gold);letter-spacing:.14em;font-weight:600;font-size:.95rem}.reach span{font-size:1.05rem}
section{padding:96px 0}.alt{background:var(--stone)}.dark{background:var(--sea);color:#efe9d8}.dark p{color:#d6cfbb}
.lead{font-size:1.4rem;color:var(--muted);font-style:italic}.dark .lead{color:#d6cfbb}
.paths{display:grid;grid-template-columns:repeat(5,1fr);margin-top:40px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.path{background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 22px;text-decoration:none;transition:background .2s;display:block}
.path:hover{background:var(--stone)}.path h3{color:var(--goldink)}.path p{font-size:1.1rem;color:var(--muted);margin:0}
.path svg{width:34px;height:34px;stroke:var(--goldink);fill:none;stroke-width:1.5;margin-bottom:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-top:2px solid var(--gold);padding:32px}
.panel h3{color:var(--goldink)}.panel ul{margin:0;padding-left:1.1em;color:var(--muted)}.panel li{margin:.4em 0}
.dark .panel{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);border-top-color:var(--gold)}.dark .panel ul{color:#d6cfbb}.dark .panel h3,.dark .tag{color:var(--gold)}
.tag{display:block;font-style:italic;color:var(--goldink);margin-bottom:10px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}.steps li{counter-increment:s;display:flex;gap:16px;margin:0 0 16px;color:var(--ink)}
.steps li::before{content:counter(s);font-family:var(--serif);color:var(--gold);border:1px solid var(--gold);width:34px;height:34px;flex:none;display:grid;place-items:center;font-size:.9rem}
.dark .steps li{color:#efe9d8}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.chips label{cursor:pointer}.chips input{position:absolute;opacity:0}
.chips span{display:block;border:1px solid var(--line);padding:9px 16px;font-size:1.05rem;background:var(--card);color:var(--ink)}
.chips input:checked+span{background:var(--gold);color:#17140a;border-color:var(--gold)}.chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.ref{font-size:1.05rem;color:var(--muted);border-left:2px solid var(--gold);padding-left:12px;margin-top:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:30px}
.tile{border:1px solid var(--line);background:var(--card);padding:22px}.tile h3{color:var(--goldink);margin-bottom:.4em}.tile p{font-size:1.08rem;color:var(--muted);margin:0}
.dark .tile{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}.dark .tile h3{color:var(--gold)}.dark .tile p{color:#d6cfbb}
.globe{width:100%;max-width:440px;margin:0 auto;display:block}
.globe .a{stroke-dasharray:5 6;animation:flow 6s linear infinite}@keyframes flow{to{stroke-dashoffset:-110}}
form{display:grid;gap:16px;max-width:560px}label.f{font-family:var(--serif);font-size:.78rem;letter-spacing:.12em;font-weight:600;display:block}
input.i,select,textarea{width:100%;padding:13px;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:0;margin-top:6px}
footer{background:var(--sea);color:#cfc8b4;padding:64px 0 40px;font-size:1.12rem}footer h3{color:var(--gold)}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}footer a{display:block;text-decoration:none;margin:.35em 0}footer a:hover{color:var(--gold)}
.sm{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;font-size:1rem}
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.rv.in,.nojs .rv{opacity:1;transform:none}
@media(max-width:980px){.paths{grid-template-columns:repeat(2,1fr)}.fg{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.hero .wrap,.split{grid-template-columns:1fr;gap:36px}.hero .wrap{padding-top:48px;padding-bottom:56px}section{padding:64px 0}.reach .wrap{grid-template-columns:1fr 1fr}.brand span{display:none}
.burger{display:block}nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--sea);flex-direction:column;align-items:flex-start;padding:18px 28px 26px;gap:14px;border-bottom:1px solid var(--gold)}nav.open{display:flex}.logo{width:min(300px,80%)}}
@media(max-width:520px){.paths{grid-template-columns:1fr}.fg{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}.globe .a,.dot{animation:none}}
[hidden]{display:none!important}.bar{height:14px;background:var(--line);margin:14px 0 8px}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#e8c460);transition:width 1.4s ease}.rt{font-size:1.1rem;color:var(--muted);margin:0 0 14px}.dark .rt{color:#d6cfbb}.dark .bar{background:rgba(255,255,255,.15)}.tl{border-left:2px solid var(--gold);margin:30px 0 0 8px;padding-left:30px}.tl>div{position:relative;margin-bottom:26px}.tl>div::before{content:'';position:absolute;left:-39px;top:7px;width:16px;height:16px;border-radius:50%;background:var(--sea);border:2px solid var(--gold)}.tl .done::before{background:var(--gold)}.tl .now::before{background:var(--clay);border-color:var(--clay);animation:pulse 1.6s infinite}.tl b{display:block;font-family:var(--serif);color:var(--gold);letter-spacing:.1em;font-size:.95rem}.tl p{margin:0;color:#d6cfbb}.upd{border-top:1px solid var(--line);padding:18px 0}.upd b{font-family:var(--serif);font-size:.85rem;letter-spacing:.1em;color:var(--goldink)}
.dd{position:relative}.dd>button{background:none;border:0;border-bottom:1px solid transparent;color:inherit;font:inherit;opacity:.85;cursor:pointer;padding:4px 0}.dd>button::after{content:" \25BE";font-size:.8em}.dd>button:hover,.dd.open>button{opacity:1;color:var(--gold);border-color:var(--gold)}
.dd-menu{display:none;position:absolute;top:100%;left:-16px;min-width:250px;background:var(--sea);border:1px solid rgba(212,170,58,.4);border-top:2px solid var(--gold);padding:8px 0;z-index:70;box-shadow:0 14px 30px rgba(0,0,0,.35)}.dd.open>.dd-menu{display:block}
nav .dd-menu a{display:block;padding:9px 22px;border:0;white-space:nowrap;opacity:.9}nav .dd-menu a:hover{background:rgba(212,170,58,.12)}
@media(hover:hover) and (min-width:821px){.dd:hover>.dd-menu{display:block}}
@media(max-width:820px){.dd{width:100%}.dd>button{font-size:1.15rem}.dd-menu{position:static;min-width:0;border:0;border-left:1px solid rgba(212,170,58,.5);box-shadow:none;background:none;padding:4px 0 4px 6px;margin:6px 0 0 4px}nav .dd-menu a{padding:8px 14px}}
.mtabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.mtabs a{border:1px solid var(--gold);padding:9px 18px;text-decoration:none;font-family:var(--serif);font-size:.75rem;letter-spacing:.12em;color:#efe9d8}.mtabs a.on,.mtabs a:hover{background:var(--gold);color:#17140a}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.mmo{grid-column:1/-1;margin:28px 0 4px;color:var(--goldink)}.mmo:first-child{margin-top:0}
.mfig{margin:0;border:1px solid var(--line);background:var(--card);cursor:zoom-in}.mfig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--stone)}.mfig figcaption{padding:10px 12px;font-size:1.05rem;color:var(--muted)}
.mempty{grid-column:1/-1;text-align:center;font-style:italic;color:var(--muted);padding:40px 0;margin:0 auto}
.lb{position:fixed;inset:0;background:rgba(5,12,20,.95);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 20px 24px}.lb img{max-width:100%;max-height:76vh;object-fit:contain}.lb p{color:#efe9d8;text-align:center;margin:14px 0 0}.lb button{position:absolute;background:none;border:1px solid var(--gold);color:var(--gold);font:600 .75rem var(--serif);letter-spacing:.14em;padding:9px 14px;cursor:pointer}.lb .x{top:14px;right:16px}.lb .pv{left:14px;top:50%}.lb .nx{right:14px;top:50%}

#bkp{border:1px solid var(--line);border-top:2px solid var(--gold);background:var(--paper);padding:18px;margin:10px 0 6px}#bkt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}#bkt button{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:9px 16px;font:inherit;cursor:pointer}#bkt button.on{background:var(--gold);border-color:var(--gold);color:#17140a}.bknote{margin:0 0 10px;color:var(--muted);font-size:1.08rem}.bkrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:9px 0;border-top:1px solid var(--line)}.bkl{flex:0 0 100%;font-family:var(--serif);font-size:.72rem;letter-spacing:.12em;color:var(--muted)}.bkv{flex:1;word-break:break-all;font-weight:500}.bkc{background:none;border:1px solid var(--gold);color:var(--goldink);font:600 .7rem var(--serif);letter-spacing:.12em;padding:6px 12px;cursor:pointer}
.sched{display:grid;gap:10px;margin:16px 0 18px}.sched div{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;border-left:4px solid #ffc43d;background:rgba(255,255,255,.12);padding:10px 16px}.sched small{flex:0 0 100%;font-family:var(--serif);font-size:.68rem;letter-spacing:.16em;color:#ffd36a}.sched b{font-family:var(--serif);font-weight:600;letter-spacing:.06em;font-size:1.05rem;color:#fff}.sched span{margin-left:auto;background:#fff;color:#10285a;border-radius:8px;padding:1px 12px;font-weight:700;font-size:1.15rem}
.ph4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ph4 figure,.enc6 figure,.leaders figure,.pfig{margin:0}.ph4 img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:2px solid rgba(255,255,255,.4)}
.leaders{display:flex;gap:14px;margin:18px 0 22px}.leaders figure{flex:1;max-width:210px}.leaders img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border:2px solid var(--gold)}.leaders figcaption{font-family:var(--serif);font-size:.72rem;letter-spacing:.14em;margin-top:6px;color:var(--muted)}
.pfig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%;border:1px solid var(--line)}.pfig figcaption{font-size:1.02rem;color:var(--muted);margin:6px 0 14px;font-style:italic}
.enc6{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:210px;gap:12px}.enc6 figure{position:relative;overflow:hidden}.enc6 figure:first-child{grid-column:span 2;grid-row:span 2}.enc6 img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) brightness(.85);transition:filter .4s}.enc6 figure::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(60,20,120,.35),rgba(0,0,0,.12) 55%,rgba(255,176,0,.12));pointer-events:none}.enc6 figure:hover img{filter:none}
@media(max-width:820px){.ph4{grid-template-columns:repeat(2,1fr)}.enc6{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}}
.duo{position:relative;max-width:540px;margin:30px 0 8px;padding-top:6%;clip-path:inset(-40% -8% 3.2% -8%)}.duo .dial{display:block;width:100%;height:auto}.duo .pp{position:absolute;bottom:0;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(8,20,50,.35))}.duo .po{left:3%;width:41%;z-index:1}.duo .pc{right:3%;width:54%;z-index:2}.duo-cap{max-width:540px;text-align:center;font-family:var(--serif);letter-spacing:.2em;font-size:.82rem;color:var(--goldink);margin:10px 0 22px}
@media(max-width:820px){.duo,.duo-cap{margin-left:auto;margin-right:auto}}

/* ===== v2 multipage additions ===== */
body{opacity:1}
.pgfade{animation:pgin .6s ease both}@keyframes pgin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#f5a300,#ffd36a,#c8003f);z-index:200;transition:width .1s}
.hero{position:relative}
.hero canvas.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero .wrap{position:relative;z-index:1}
.ring{position:relative;width:min(440px,100%);margin:0 auto}
.ring svg{position:absolute;inset:-6%;width:112%;height:112%;animation:spin 140s linear infinite;opacity:.8}
.ring svg.r2{inset:-14%;width:128%;height:128%;animation-duration:220s;animation-direction:reverse;opacity:.4}
.ring .logo{position:relative;z-index:1;animation:float 7s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-10px)}}
.hero h1 .w{display:inline-block;opacity:0;transform:translateY(.5em);animation:wup .8s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes wup{to{opacity:1;transform:none}}
.shim{color:#f5a300;animation:glow 5s ease-in-out infinite}@keyframes glow{50%{text-shadow:0 0 24px rgba(255,190,60,.7);color:#ffc43d}}
.mq{overflow:hidden;background:#0c2150;border-block:1px solid rgba(245,163,0,.3);color:#e8dfc6;font-family:var(--serif);letter-spacing:.3em;font-size:.8rem;white-space:nowrap}
.mq div{display:inline-block;padding:12px 0;animation:mq 60s linear infinite}.mq span{margin:0 26px}.mq i{color:var(--gold);font-style:normal}
@keyframes mq{to{transform:translateX(-50%)}}.mq:hover div{animation-play-state:paused}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}
.card,.path,.tile,.arm{transition:transform .35s,box-shadow .35s,background .25s}
.arm:hover,.path:hover,.card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(16,40,90,.16)}
.arms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:38px;text-align:left}
.arm{display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff;text-decoration:none;min-height:340px;padding:26px;justify-content:flex-end;background:#10285a;border:1px solid rgba(255,255,255,.1)}
.arm>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform 1.2s ease,opacity .4s}
.arm:hover>img.bg{transform:scale(1.07);opacity:.7}
.arm::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,40,.05),rgba(8,16,40,.88) 78%)}
.arm>*:not(img.bg){position:relative;z-index:1}.arm h3{color:#fff;font-size:1.2rem;margin-bottom:.35em}.arm p{color:#e6e0cf;font-size:1.1rem;margin:0 0 12px}.arm .go{font-family:var(--serif);font-size:.72rem;letter-spacing:.18em;color:#ffc43d}
.arm .go::after{content:" \2192";display:inline-block;transition:transform .3s}.arm:hover .go::after{transform:translateX(6px)}
.arm.a-ass{background:linear-gradient(135deg,#0a7f9c,#3a1257 60%,#b3114f)}.arm.a-enc{background:linear-gradient(160deg,#0c0720,#2a1260)}.arm.a-inn{background:linear-gradient(160deg,#f2a65a,#b5483a 60%,#4a2b66)}.arm.a-seed{background:linear-gradient(120deg,#12402e,#2d7a4f)}.arm.a-ele{background:linear-gradient(135deg,#8b0f38,#c8003f 55%,#e07a30)}.arm.a-oik{background:linear-gradient(135deg,#10285a,#1a4a8a)}.arm.a-glo{background:linear-gradient(135deg,#0b1d44,#254a8e)}.arm.a-pl{background:linear-gradient(135deg,#3a1257,#10285a)}
.num{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;text-align:center;margin:34px 0 0}.num b{display:block;font-family:var(--serif);font-size:clamp(2rem,5vw,3rem);color:var(--gold);font-weight:500}.num span{font-size:1.05rem;color:#d6cfbb}
/* page heroes */
.ph{position:relative;color:#fff;overflow:hidden}
.ph .wrap{position:relative;z-index:1;padding-top:84px;padding-bottom:78px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.ph.one .wrap{grid-template-columns:1fr}
.ph h1{text-shadow:0 2px 18px rgba(0,0,0,.35);font-size:clamp(2.1rem,5.2vw,3.7rem);letter-spacing:.05em;line-height:1.12;max-width:20ch;margin:.15em 0 .4em}
.ph .l{text-shadow:0 1px 10px rgba(0,0,0,.4);font-size:1.4rem;font-style:italic;color:#eee7d4;max-width:46ch}
.ph .tag{color:#ffc43d;font-family:var(--serif);font-style:normal;font-size:.8rem;letter-spacing:.24em}
.ph canvas.fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.ph .bgi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;animation:kb 28s ease-in-out infinite alternate}@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1) translate(-1.5%,1%)}}
.ph .shade{position:absolute;inset:0}
.ph .pic{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:2px solid rgba(255,196,61,.8);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.t-ass .shade{background:linear-gradient(115deg,rgba(10,127,156,.92),rgba(20,48,106,.9) 40%,rgba(58,18,87,.9) 70%,rgba(179,17,79,.9))}
.t-enc .shade{background:radial-gradient(ellipse at 72% 18%,rgba(255,176,0,.25),transparent 46%),linear-gradient(160deg,#0c0720,#1a0f3a 60%,#0a0518)}
.t-inn .shade{background:linear-gradient(180deg,#12295a 0%,#33427f 35%,#8d4a7c 62%,#d9805a 88%,#f0a866 100%)}
.t-seed .shade{background:linear-gradient(120deg,#0e3626,#1e5c40 60%,#2d7a4f)}
.t-ele .shade{background:linear-gradient(135deg,#6e0b2c,#c8003f 60%,#e07a30)}
.t-oik .shade,.t-glo .shade,.t-gen .shade{background:radial-gradient(ellipse at 80% 30%,rgba(255,176,0,.22),transparent 46%),linear-gradient(180deg,#10285a,#0b1d44)}
.t-pl .shade{background:linear-gradient(135deg,#3a1257,#10285a)}
.t-enc h1{text-shadow:0 0 30px rgba(255,190,60,.45);letter-spacing:.12em}
.sea{position:absolute;left:0;right:0;bottom:0;height:34%;z-index:0;pointer-events:none}
.sea svg{position:absolute;bottom:0;width:200%;height:100%;animation:wave 18s linear infinite}.sea svg+svg{animation-duration:28s;animation-direction:reverse;opacity:.7}@keyframes wave{to{transform:translateX(-50%)}}
.sun{position:absolute;right:14%;bottom:26%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#fff6d0,#ffd36a 55%,rgba(255,176,0,0) 70%);animation:sun 9s ease-in-out infinite alternate;z-index:0}@keyframes sun{to{transform:translateY(-16px) scale(1.07)}}
.crumb{font-size:.98rem;opacity:.85;margin-bottom:6px}.crumb a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 68px);z-index:40;background:rgba(251,247,239,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}
.subnav .wrap{display:flex;gap:6px;padding-top:0;padding-bottom:0}.subnav a{display:inline-block;padding:14px 14px;text-decoration:none;font-family:var(--serif);font-size:.7rem;letter-spacing:.14em;color:var(--ink);border-bottom:2px solid transparent}.subnav a:hover,.subnav a.on{color:var(--goldink);border-color:var(--gold)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:26px}
.card{background:var(--card);border:1px solid var(--line);border-top:2px solid var(--gold);padding:26px}.card h3{color:var(--goldink)}.card p,.card li{color:var(--muted);font-size:1.12rem}.card ul{padding-left:1.1em;margin:0}
.dark .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.15);border-top-color:var(--gold)}.dark .card h3{color:var(--gold)}.dark .card p,.dark .card li{color:#d6cfbb}
.photo{display:block;width:100%;object-fit:cover;border:1px solid var(--line)}.photo.tall{aspect-ratio:3/4}.photo.wide{aspect-ratio:3/2}
.kenb{overflow:hidden}.kenb img{transition:transform 1.4s ease}.kenb:hover img{transform:scale(1.06)}
.quote{border-left:3px solid var(--gold);padding:6px 0 6px 20px;font-size:1.3rem;font-style:italic;color:var(--ink);margin:18px 0}.quote small{display:block;font-style:normal;font-family:var(--serif);font-size:.72rem;letter-spacing:.14em;color:var(--goldink);margin-top:6px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-family:var(--serif);letter-spacing:.05em;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:14px}.faq summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1;transition:transform .3s}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{margin:.8em 0 0;color:var(--muted)}
.partner-band{background:linear-gradient(135deg,#10285a,#1a4a8a);color:#fff;position:relative;overflow:hidden}.partner-band::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-160px;border:1px solid rgba(245,163,0,.35);box-shadow:0 0 0 40px rgba(245,163,0,.05),0 0 0 90px rgba(245,163,0,.04);animation:spin 90s linear infinite}
.partner-band .wrap{position:relative}.partner-band h2{color:#fff}.partner-band p{color:#e1dac6}.partner-band .tiles{margin-top:18px}.partner-band .tile{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18)}.partner-band .tile h3{color:#ffc43d}.partner-band .tile p{color:#d6cfbb}
.faithlist{counter-reset:f;list-style:none;padding:0}.faithlist li{counter-increment:f;border-top:1px solid var(--line);padding:20px 0 20px 64px;position:relative}.faithlist li::before{content:counter(f);position:absolute;left:0;top:20px;width:40px;height:40px;border:1px solid var(--gold);color:var(--goldink);display:grid;place-items:center;font-family:var(--serif)}.faithlist h3{margin:0 0 .3em;color:var(--goldink)}.faithlist p{margin:0;color:var(--ink)}
.tlh{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;margin-top:30px}.tlh>div{padding:18px 16px;border-top:3px solid var(--line);position:relative}.tlh>div.done{border-color:var(--gold)}.tlh>div.now{border-color:var(--clay)}.tlh b{font-family:var(--serif);color:var(--gold);letter-spacing:.1em;font-size:.9rem}.tlh p{margin:.3em 0 0;font-size:1.05rem;color:#d6cfbb}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;background:var(--sea);border-top:2px solid var(--gold);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}.sticky-cta a{flex:1;text-align:center;padding:12px 6px;font-family:var(--serif);font-size:.72rem;letter-spacing:.14em;font-weight:600;text-decoration:none;border:1px solid var(--gold);color:#efe9d8}.sticky-cta a.g{background:var(--gold);color:#17140a}
.hl{background:linear-gradient(transparent 62%,rgba(245,163,0,.35) 62%)}
.badge{display:inline-block;border:1px solid var(--gold);color:var(--goldink);font-family:var(--serif);font-size:.68rem;letter-spacing:.18em;padding:5px 12px;margin:0 8px 8px 0}
.dark .badge,.ph .badge{color:#ffc43d}
.route{display:flex;flex-wrap:wrap;gap:0;margin:24px 0}.route div{flex:1;min-width:150px;padding:18px;border:1px solid var(--line);background:var(--card);position:relative}.route div{border-top:3px solid var(--gold)}.route b{display:block;font-family:var(--serif);font-size:.78rem;letter-spacing:.14em;color:var(--goldink)}.route span{color:var(--muted);font-size:1.05rem}
@media(max-width:980px){.ph .wrap{grid-template-columns:1fr}.cols2{grid-template-columns:1fr;gap:30px}}
@media(max-width:820px){.ph .wrap{padding-top:52px;padding-bottom:54px}.sticky-cta{display:flex}body{padding-bottom:64px}.ring{width:min(320px,86%)}.subnav{top:calc(env(safe-area-inset-top,0px) + 68px)}}
@media(prefers-reduced-motion:reduce){.ring svg,.ring .logo,.shim,.mq div,.mq2 div,.ph .bgi,.sea svg,.sun,.partner-band::before{animation:none!important}.hero h1 .w{opacity:1;transform:none;animation:none}.pgfade{animation:none}.arm:hover>img.bg{transform:none}}

/* ===== v3: integrated portraits + scroll motion ===== */
.duo{max-width:560px;margin:26px auto 8px;overflow:visible}
.duo.big{max-width:820px;margin:18px auto 30px}
.duo::before{content:"";position:absolute;left:50%;bottom:0;width:88%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,176,0,.38),rgba(255,176,0,0) 62%);animation:halo 7s ease-in-out infinite;pointer-events:none}
@keyframes halo{50%{opacity:.55;transform:translateX(-50%) scale(1.12)}}
.duo .dial{animation:dialg 6s ease-in-out infinite}@keyframes dialg{50%{filter:drop-shadow(0 0 18px rgba(245,163,0,.55))}}
.duo .pp{opacity:0;transform:translateY(46px);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.duo .pc{transition-delay:.25s}.duo.in .pp{opacity:1;transform:none}
.duo{clip-path:inset(-40% -14% 3.2% -14%)}
.rv h2::after{transform:scaleX(0);transform-origin:left;transition:transform .9s .35s ease}.rv.in h2::after,.rv.in>h2::after{transform:none}.c.rv h2::after{transform-origin:center}
.cols2>.rv:first-child,.split>.rv:first-child{transform:translateX(-34px) translateY(0)}.cols2>.rv:last-child,.split>.rv:last-child{transform:translateX(34px)}
.cols2>.rv.in,.split>.rv.in{transform:none}
.kenb{clip-path:inset(0 0 0 0)}.rv .kenb img{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s .2s cubic-bezier(.7,0,.2,1),transform 1.4s ease}.rv.in .kenb img,.kenb.rv.in img{clip-path:inset(0 0 0 0)}
.ph4 figure img,.enc6 figure img{transition:transform 1.4s ease}.ph4 figure:hover img,.enc6 figure:hover img{transform:scale(1.06)}
.dark,.partner-band{position:relative;overflow:hidden}
.dark::after{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-200px;border-radius:50%;border:1px solid rgba(245,163,0,.22);box-shadow:0 0 0 46px rgba(245,163,0,.04),0 0 0 100px rgba(245,163,0,.03);animation:spin 120s linear infinite;pointer-events:none}
.dark>.wrap{position:relative;z-index:1}
.alt{position:relative;overflow:hidden}.alt::before{content:"";position:absolute;width:380px;height:380px;left:-160px;bottom:-180px;border-radius:50%;border:1px dashed rgba(154,90,0,.25);animation:spin 160s linear infinite reverse;pointer-events:none}.alt>.wrap{position:relative}
.t-ass .shade,.t-pl .shade,.t-ele .shade{background-size:220% 220%;animation:aur 20s ease-in-out infinite}@keyframes aur{50%{background-position:100% 60%}}
.tl{position:relative;border-left:2px solid rgba(245,163,0,.25)}.tl::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:var(--tp,0%);background:var(--gold);box-shadow:0 0 12px rgba(245,163,0,.8)}
.tl>div{opacity:0;transform:translateX(24px);transition:opacity .7s,transform .7s}.tl>div.in{opacity:1;transform:none}
.mq2{overflow:hidden;white-space:nowrap;background:var(--paper);padding:8px 0;border-block:1px solid var(--line)}
.mq2 div{display:inline-block;font-family:var(--serif);font-size:clamp(.85rem,1.6vw,1.15rem);letter-spacing:.32em;color:var(--goldink,#9a5a00);animation:mq 70s linear infinite}
.mq2[data-rev] div{animation-direction:reverse}.mq2 span{margin:0 1.2em}
.mq2 i{color:var(--gold);font-style:normal}
.sclock{position:fixed;right:18px;bottom:20px;z-index:54;width:54px;height:54px;padding:0;border:0;background:none;cursor:pointer;opacity:0;transform:scale(.7);transition:opacity .4s,transform .4s;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}.sclock.on{opacity:1;transform:none}.sclock .hand{transform-origin:30px 30px}
@media(max-width:820px){.sclock{bottom:76px;right:12px;width:46px;height:46px}.cols2>.rv:first-child,.split>.rv:first-child,.cols2>.rv:last-child,.split>.rv:last-child{transform:translateY(18px)}.duo.big{max-width:100%}}
@media(prefers-reduced-motion:reduce){.duo::before,.duo .dial,.dark::after,.alt::before,.t-ass .shade,.t-pl .shade,.t-ele .shade{animation:none}.duo .pp,.tl>div,.rv .kenb img{opacity:1!important;transform:none!important;clip-path:none!important;transition:none}.rv h2::after{transform:none;transition:none}.cols2>.rv,.split>.rv{transform:none}.sclock{display:none}.tl::before{height:100%}}
/* portraits: equal face size, closer together */
.duo .po{left:auto;right:4%;width:56%;bottom:-60%}.duo .pc{right:auto;left:8%;width:46%}

/* couple cutouts */
.duo .cp{left:13%;right:auto;width:74%;bottom:-6%}

/* background video */
.ph .bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:.5;filter:saturate(1.05)}
.t-ass .shade{opacity:.86}
@media(prefers-reduced-motion:reduce){.ph .bgv{display:none}}
.ph .bgv{opacity:.4;filter:blur(1.5px) saturate(1.05);transform:scale(1.03)}
@media(max-width:820px),(max-width:1180px) and (orientation:portrait){
.ph .bgv,.ph .stills{inset:0 0 auto 0;height:56.25vw;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}
.ph .bgv{object-position:center;opacity:.9;filter:none;transform:none}
.ph .stills img{filter:none;object-position:center}
.ph:has(.bgv) .wrap{padding-top:calc(56.25vw - 6px)}
.ph:has(.bgv) .wrap .crumb,.ph:has(.bgv) .crumb{margin-top:0}
}

.stills{position:absolute;inset:0;display:none;overflow:hidden}.fb .stills{display:block}.fb .bgv{display:none}
.stills img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:blur(1.5px);animation:still 25s ease-in-out infinite}
@keyframes still{0%{opacity:0;transform:scale(1)}4%{opacity:.4}20%{opacity:.4}26%{opacity:0;transform:scale(1.1)}100%{opacity:0;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.ph .stills{display:block}.stills img{animation:none}.stills img:first-child{opacity:.35}}

.story{max-width:740px}.story h2{margin-top:.1em}.story .rv{margin-bottom:56px}.story p{font-size:1.18rem;line-height:1.75}
.pq{font-family:var(--serif);font-size:1.5rem!important;color:var(--goldink,#9a5a00);letter-spacing:.04em;margin:1em 0}
.bq{margin:1.2em 0 0;padding:20px 26px;border-left:3px solid var(--gold);background:var(--card);font-family:var(--serif);font-size:1.35rem;line-height:1.45}
.tbl{max-width:900px;margin:30px auto 0;border:1px solid var(--line);background:var(--card)}
.tbl .tr{display:grid;grid-template-columns:1.1fr 1.1fr 2fr;gap:16px;padding:15px 22px;border-top:1px solid var(--line)}.tbl .tr:first-child{border-top:0}
.tbl .tr span:first-child{font-family:var(--serif);color:var(--goldink,#9a5a00)}.tbl .tr span:nth-child(2){font-weight:600}
.tbl .th{background:var(--navy,#0c2150);color:#fff;font-family:var(--serif);letter-spacing:.12em;font-size:.8rem}.tbl .th span:first-child{color:var(--gold)}
@media(max-width:700px){.tbl .tr{grid-template-columns:1fr;gap:2px;padding:14px 18px}.tbl .th{display:none}.story p{font-size:1.08rem}}

/* Seeds of Faith: green land, fertile soil, fresh rain, peace */
.th-seed{--sea:#123d2c;--sea2:#2c7a52;--stone:#eaf0dc;--paper:#f7faf0;--ink:#1f2a22;--muted:#56635a;--gold:#9bd16b;--goldink:#2b6a3d;--leaf:#3d9a62;--clay:#7a4f2e;--line:#d9e2c6;background:var(--paper)}
.th-seed .btn.p{background:#9bd16b;color:#0f2a1c}.th-seed .btn.p:hover{background:#b5e08a}
.th-seed .btn.s:hover{background:rgba(155,209,107,.16)}
.th-seed .ph .tag,.th-seed .dark .badge,.th-seed .ph .badge{color:#b5e08a}
.th-seed .t-seed .shade{background:linear-gradient(160deg,#0c2f22 0%,#1b5a3f 55%,#2f8a5a 100%)}
.th-seed .t-seed .bgi{opacity:.3}
.th-seed .dark{background:linear-gradient(170deg,#0f3626,#17503a)}
.th-seed .dark::after,.th-seed .tl{border-color:rgba(155,209,107,.25)}.th-seed .tl::before{background:#9bd16b;box-shadow:0 0 12px rgba(155,209,107,.6)}
.th-seed .alt{background:linear-gradient(180deg,#eaf0dc,#e3ecd2)}.th-seed .alt::before{border-color:rgba(61,154,98,.3)}
.th-seed .bar{background:#dfe8cd}.th-seed .dark .bar{background:rgba(255,255,255,.14)}.th-seed .bar i{background:linear-gradient(90deg,#3d9a62,#9bd16b)}
.th-seed .bq{border-left-color:#3d9a62;background:#fff}.th-seed .pq{color:#2b6a3d}
.th-seed .tbl .th{background:#123d2c}.th-seed .tbl .th span:first-child{color:#b5e08a}.th-seed .tbl .tr span:first-child{color:#2b6a3d}
.th-seed .card,.th-seed .panel{border-top-color:#3d9a62}.th-seed .dark .card,.th-seed .dark .panel{border-top-color:#9bd16b}
.th-seed .card h3,.th-seed .panel h3{color:#2b6a3d}.th-seed .dark .card h3,.th-seed .dark .panel h3{color:#b5e08a}
.th-seed h2::after{background:#7ab55c}.th-seed .mq2 i,.th-seed .sched div{border-color:#9bd16b}
.th-seed .mq2{background:#f1f6e6}.th-seed .mq2 div{color:#2b6a3d}.th-seed .mq2 i{color:#7ab55c}
.th-seed .partner-band{background:linear-gradient(135deg,#0f3626,#2c7a52)}
.th-seed .band{background:repeating-linear-gradient(90deg,#9bd16b 0 20px,#123d2c 20px 26px,#3d9a62 26px 46px,#123d2c 46px 52px,#7a4f2e 52px 72px,#123d2c 72px 78px)}
.th-seed .arm.a-seed{outline:2px solid #9bd16b;outline-offset:-2px}
.th-seed canvas.fx{display:none}
.th-seed .ph .tag{color:#d4f0b0;text-shadow:0 1px 8px rgba(0,0,0,.7)}.th-seed .t-seed .bgi{opacity:.22}
.th-seed .tbl .tr.th span:first-child{color:#b5e08a}
@media(min-width:821px) and (max-width:1180px) and (orientation:landscape){.ph:has(.bgv){min-height:min(56.25vw,74vh);display:flex;align-items:center}.ph:has(.bgv)>.wrap{width:100%}}
.amt{font-family:var(--serif);font-size:2.1rem;color:var(--goldink);margin:.1em 0 .5em}.amt small{font-size:.95rem;color:var(--muted)}.card .btn{margin-top:14px}.card ul{padding-left:1.1em}
.card p.amt{font-family:var(--serif);font-size:2.2rem;color:var(--goldink);margin:.1em 0 .5em}.card p.amt small{font-size:.95rem;color:var(--muted)}

.galh{max-width:980px;margin:34px auto 14px}.galh h3{font-size:1.4rem;color:var(--goldink)}
.car{max-width:980px;margin:0 auto 40px;outline-offset:6px}
.car-vp{position:relative;overflow:hidden;aspect-ratio:3/2;max-height:78vh;background:#0c1630;box-shadow:0 22px 50px rgba(0,0,0,.28)}
.car-tr{display:flex;height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1);touch-action:pan-y}
.car-s{position:relative;flex:0 0 100%;height:100%;overflow:hidden}
.car-s .bd{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(26px) saturate(1.1);opacity:.75}
.car-s .fg{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.car-b{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:rgba(12,22,48,.55);color:#fff;font:2rem/1 var(--serif);cursor:pointer;z-index:2;display:grid;place-items:center;padding:0 0 4px}
.car-b:hover{background:var(--gold);color:#17140a;border-color:var(--gold)}.car-b.pv{left:14px}.car-b.nx{right:14px}
.car-n{position:absolute;right:14px;bottom:12px;z-index:2;font:.75rem var(--serif);letter-spacing:.14em;color:#fff;background:rgba(12,22,48,.6);padding:4px 10px}
.car-d{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}.car-d button{width:10px;height:10px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0}.car-d button.on{background:var(--gold);transform:scale(1.25)}
@media(max-width:700px){.car-vp{aspect-ratio:4/5}.car-b{width:38px;height:38px}.car-b.pv{left:8px}.car-b.nx{right:8px}}
@media(prefers-reduced-motion:reduce){.car-tr{transition:none}}
.enc3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:980px;margin:30px auto 0}.enc3 a{display:block;aspect-ratio:4/3;overflow:hidden}.enc3 img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.enc3 a:hover img{transform:scale(1.06)}@media(max-width:700px){.enc3{grid-template-columns:1fr 1fr}.enc3 a:nth-child(3){display:none}}

.enc3 img{object-position:50% 22%}

.t-inn .bgi{opacity:.62;animation:none;object-position:50% 20%}.t-inn .shade{background:linear-gradient(90deg,rgba(10,24,52,.72),rgba(10,24,52,.25) 70%,rgba(10,24,52,.1))}
.t-inn .sun{display:none}.t-inn .shade{background:linear-gradient(90deg,rgba(10,24,52,.86),rgba(10,24,52,.5) 60%,rgba(10,24,52,.18))}
@media(max-width:820px){.t-inn .shade{background:linear-gradient(180deg,rgba(10,24,52,.82),rgba(10,24,52,.62))}}
.ph.t-inn .shade{background:linear-gradient(90deg,rgba(10,24,52,.84),rgba(10,24,52,.5) 60%,rgba(10,24,52,.15))}.ph.t-inn .sun{display:none}
@media(max-width:820px){.ph.t-inn .shade{background:linear-gradient(180deg,rgba(10,24,52,.8),rgba(10,24,52,.6))}}
.ph.t-inn::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(10,24,52,.78),rgba(10,24,52,.42) 58%,rgba(10,24,52,.1))}
@media(max-width:820px){.ph.t-inn::after{background:linear-gradient(180deg,rgba(10,24,52,.74),rgba(10,24,52,.5))}}
.ph.t-inn .sea{display:none}

.pband{position:relative;height:clamp(230px,38vw,440px);overflow:hidden}.pband img{width:100%;height:100%;object-fit:cover;display:block}
.pband::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(0deg,rgba(10,24,52,.72),transparent);pointer-events:none}
.pband span{position:absolute;left:max(18px,calc((100% - 1100px)/2));bottom:22px;z-index:1;color:#fff;font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.4vw,1.55rem);text-shadow:0 2px 12px rgba(0,0,0,.45)}

/* ===== LIVELY LAYER ===== */
.kprog{position:fixed;left:0;top:0;height:3px;width:100%;z-index:90;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#f5a300,#ffd36b,#f5a300);box-shadow:0 0 10px rgba(245,163,0,.7);pointer-events:none}
/* buttons: lift + light sweep */
.btn{position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s,color .25s}
.btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s;pointer-events:none}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(245,163,0,.32)}.btn:hover::after{left:130%}
.btn.p{animation:kpulse 3.6s ease-in-out infinite}
@keyframes kpulse{0%,100%{box-shadow:0 0 0 0 rgba(245,163,0,0)}50%{box-shadow:0 0 0 7px rgba(245,163,0,.16)}}
.btn:active{transform:translateY(-1px) scale(.98)}
/* cards: gold line draws across, gentle tilt on lift */
.card,.arm,.path{position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.card::before{content:"";position:absolute;left:0;top:-2px;height:2px;width:0;background:linear-gradient(90deg,#ffd36b,#f5a300);transition:width .5s}
.card:hover::before{width:100%}
.card:hover h3{letter-spacing:.02em}.card h3{transition:letter-spacing .35s}
/* photos: zoom on hover, soft shadow, pop-in */
.photo,.kenb img,.enc3 img,.galh img{transition:transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .5s,filter .5s}
.enc3>*,.kenb,.photo{overflow:hidden}
.enc3 img:hover,.card .photo:hover,.kenb:hover img{transform:scale(1.06)}
.enc3 img,.split .photo{box-shadow:0 10px 26px rgba(10,24,52,.16)}
.rv .photo,.rv.photo{filter:saturate(1.08) contrast(1.03)}
/* photo bands: slow drift (parallax set by JS via --py) */
.pband img{transform:translateY(var(--py,0px)) scale(1.12);will-change:transform}
.pband span{transform:translateY(14px);opacity:0;transition:transform .9s .3s,opacity .9s .3s}.pband.in span{transform:none;opacity:1}
/* section tags: shimmering gold sweep */
.tag{background:linear-gradient(100deg,currentColor 40%,#f5a300 50%,currentColor 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:ktag 6s ease-in-out infinite}
.ph .tag,.dark .tag{background:linear-gradient(100deg,#ffc43d 40%,#fff6d8 50%,#ffc43d 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text}
@keyframes ktag{0%,55%{background-position:120% 0}100%{background-position:-60% 0}}
/* headings: rise in with a soft blur */
.rv h2,.rv h1{transition:letter-spacing .9s ease}.rv:not(.in) h2{letter-spacing:.06em}.rv.in h2{letter-spacing:normal}
/* stat numbers pop */
.num b{display:inline-block;transition:transform .4s}.num>*:hover b{transform:scale(1.15) rotate(-2deg)}
/* floating warm light drifting through the page */
body::before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 18% 22%,rgba(245,163,0,.07),transparent 38%),radial-gradient(circle at 82% 70%,rgba(60,120,220,.06),transparent 40%);animation:kdrift 26s ease-in-out infinite alternate}
@keyframes kdrift{to{transform:translate3d(4%,3%,0) scale(1.08)}}
/* links in text: animated underline */
main p a:not(.btn),main li a:not(.btn){text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s}main p a:not(.btn):hover,main li a:not(.btn):hover{background-size:100% 1px}
/* nav + subnav */
.subnav a{transition:color .25s,border-color .25s,transform .25s}.subnav a:hover{transform:translateY(-2px)}
/* gentle float for badges and route steps */
.badge{transition:transform .3s,background .3s}.badge:hover{transform:translateY(-3px);background:rgba(245,163,0,.12)}
.route div{transition:transform .3s,box-shadow .3s}.route div:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(16,40,90,.14)}
.faq details{transition:background .3s,padding .3s}.faq details[open]{background:rgba(245,163,0,.06);padding-left:14px;padding-right:14px}
@media(hover:none){.enc3 img:hover,.card .photo:hover,.kenb:hover img{transform:none}}
@media(max-width:820px){body::before{display:none}.btn.p{animation:none}}
@media(prefers-reduced-motion:reduce){.btn,.btn::after,.tag,body::before,.pband img,.pband span,.kprog{animation:none!important;transition:none!important}.pband img{transform:none}.pband span{opacity:1;transform:none}.tag{-webkit-text-fill-color:currentColor;background:none}}

/* ===== SOFTER EDGES ===== */
:root{--r:14px;--r-s:10px}
.btn{border-radius:999px;padding-left:30px;padding-right:30px}
.burger,.count,.badge,.sticky-cta a{border-radius:999px}
.card,.panel,.tile,.path,.route div,.tbl,.mfig,.bq,.arm,.photo,.enc3 img,.kenb,.kenb img,.car,.galh img,.dd-menu{border-radius:var(--r)}
.arm{overflow:hidden}
.card::before{border-radius:var(--r) var(--r) 0 0;left:-1px;top:-2px}
.paths{border-radius:var(--r);overflow:hidden}
.route{gap:10px}.route div{border-radius:var(--r)}
.enc3>*{border-radius:var(--r)}
.photo,.enc3 img{border-color:transparent}
.card,.panel,.tile,.tbl,.mfig,.route div{border-color:rgba(16,40,90,.12)}
.quote,.bq,.ref{border-left-width:3px;border-radius:0 var(--r-s) var(--r-s) 0}
.rv h2::after,h2::after{border-radius:3px}
.tl,.tl::before{border-radius:3px}
.faq details{border-radius:var(--r-s)}
.faq details{border-bottom-color:rgba(16,40,90,.1)}
.subnav a{border-radius:999px;border-bottom:0;padding:9px 14px;margin:8px 0}.subnav a:hover,.subnav a.on{background:rgba(245,163,0,.16);border:0}
input,textarea,select{border-radius:var(--r-s)}
.pband{border-radius:var(--r);margin-left:max(0px,calc((100% - 1240px)/2));margin-right:max(0px,calc((100% - 1240px)/2))}
.car-b{border-radius:50%}
.car .car-tr,.car-sl{border-radius:var(--r)}
.dd-menu a:first-child{border-radius:var(--r) var(--r) 0 0}
.tlh>div{border-radius:6px 6px 0 0}
@media(max-width:820px){.pband{border-radius:0;margin-left:0;margin-right:0}}
.paths .path{border-radius:0}
.pband{border-radius:0;margin-left:0;margin-right:0}

.qrs{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-top:30px}.qrs figure{margin:0;background:var(--card);border:1px solid rgba(16,40,90,.12);border-radius:var(--r,14px);padding:22px;text-align:center;width:260px;transition:transform .35s,box-shadow .35s}.qrs figure:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(16,40,90,.14)}.qrb{background:#fff;border-radius:10px;padding:12px;border:1px solid var(--line)}.qrb svg{display:block;width:100%;height:auto}.qrs figcaption b{display:block;font-family:var(--serif);color:var(--goldink);margin-top:14px}.qrs figcaption span{display:block;color:var(--muted);font-size:1.02rem;margin-bottom:6px}
