:root{--paper:#fdfbf7;--cream:#fff9ee;--pink:#ffe5e9;--pink-soft:#fff0f2;--orange:#ff8f2c;--amber:#ffbe53;--brown:#3d2b1e;--brown-soft:#5c4636;--blue:#4ea6ff;--mint:#62e2a4;--ink:#3f3028;--muted:#74665d;--line:rgba(61,43,30,.16);--shadow:0 18px 45px rgba(78,50,27,.13);--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);font-family:"Noto Sans SC","Noto Sans JP","Segoe UI",Arial,sans-serif;background:var(--paper);line-height:1.75}body.modal-open{overflow:hidden}body:before{content:"";position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.16;background-image:radial-gradient(rgba(61,43,30,.14) .7px,transparent .7px);background-size:18px 18px;mix-blend-mode:multiply}img{max-width:100%}button,select,a{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-70px;background:var(--brown);color:#fff;padding:10px 15px;border-radius:6px;z-index:110;text-decoration:none}.skip-link:focus{top:16px}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(253,251,247,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;min-height:78px;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:var(--brown);text-decoration:none;white-space:nowrap}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border:2px solid var(--orange);border-radius:8px;background:var(--pink);font-family:Georgia,serif;font-weight:800;color:var(--orange);box-shadow:3px 3px 0 var(--brown)}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font-family:Georgia,"Noto Serif SC",serif;font-size:15px}.brand-copy small{font-size:10px;color:var(--muted);margin-top:4px}.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-left:auto}.primary-nav>a{position:relative;color:var(--brown-soft);font-size:13px;text-decoration:none;white-space:nowrap}.primary-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:right .25s ease}.primary-nav>a:not(.nav-cta):hover:after,.primary-nav>a:not(.nav-cta):focus-visible:after{right:0}.nav-cta{padding:9px 14px;border-radius:999px;color:#fff!important;background:linear-gradient(135deg,var(--orange),var(--amber));box-shadow:0 8px 18px rgba(255,143,44,.25);font-weight:700}.language-links{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#fff}.language-links a{padding:4px 7px;color:var(--muted);font-size:10px;text-decoration:none;border-radius:999px;white-space:nowrap}.language-links a[aria-current="page"]{background:var(--brown);color:#fff}.menu-toggle{display:none;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:7px 10px;color:var(--brown);cursor:pointer}.menu-label{font-size:12px;font-weight:700}.menu-bars{width:20px;display:grid;gap:4px}.menu-bars i{display:block;width:20px;height:2px;background:currentColor;transition:.25s}
.hero{position:relative;overflow:hidden;min-height:660px;display:flex;align-items:center;background:linear-gradient(150deg,var(--paper),var(--cream) 55%,#fff3dc)}.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-90px;height:180px;background:var(--paper);border-radius:50% 50% 0 0/100% 100% 0 0}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:50px;padding:74px 0 115px}.hero-copy{max-width:650px}.eyebrow{margin:0 0 12px;color:var(--orange);font-size:11px;letter-spacing:0;font-weight:800;text-transform:uppercase}.hero h1{font-family:Georgia,"Noto Serif SC","Noto Serif JP",serif;color:var(--brown);font-size:68px;line-height:1.08;letter-spacing:0;margin:0 0 24px;text-wrap:balance}.hero h1 span{display:block;margin-top:13px;font-size:28px;color:var(--orange);font-family:system-ui,sans-serif;font-weight:700}.hero-lede{max-width:560px;font-size:18px;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 21px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid transparent;transition:.25s ease}.button-primary{color:#fff;background:linear-gradient(135deg,var(--orange),var(--amber));box-shadow:0 11px 25px rgba(255,143,44,.28)}.button-primary:hover,.button-primary:focus-visible{transform:translateY(-3px);box-shadow:0 15px 30px rgba(255,143,44,.4)}.button-quiet{color:var(--brown);border-color:var(--line);background:rgba(255,255,255,.65)}.button-quiet:hover,.button-quiet:focus-visible{border-color:var(--orange);color:var(--orange);transform:translateY(-2px)}.hero-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:34px}.hero-stats span{display:grid}.hero-stats strong{font-family:Georgia,"Noto Serif SC",serif;font-size:20px;color:var(--brown)}.hero-stats small{font-size:11px;color:var(--muted)}.hero-art{justify-self:center;width:min(100%,440px)}.hero-art-frame{position:relative;aspect-ratio:768/941;overflow:hidden;border:9px solid #fff6df;border-radius:8px;box-shadow:0 26px 70px rgba(61,43,30,.23),10px 10px 0 var(--orange);background:#efe5d9}.hero-art-frame picture,.hero-art-frame img{display:block;width:100%;height:100%}.hero-art img{object-fit:contain}.spark{position:absolute;width:10px;height:10px;background:#fff6b0;box-shadow:0 0 16px 6px #fff6b0;transform:rotate(45deg);animation:twinkle 2.7s infinite}.spark-a{top:17%;left:14%}.spark-b{right:17%;top:42%;animation-delay:1.2s}.scroll-cue{position:absolute;z-index:2;bottom:34px;left:50%;width:26px;height:40px;border:1px solid var(--brown-soft);border-radius:20px;transform:translateX(-50%)}.scroll-cue span{display:block;width:3px;height:8px;margin:8px auto;background:var(--orange);border-radius:4px;animation:scrollCue 1.5s infinite}
.section{position:relative;padding:104px 0}.section-paper{background:linear-gradient(180deg,var(--paper),var(--cream))}.section-pink{background:linear-gradient(150deg,var(--pink),var(--pink-soft))}.section-brown,.link-section{background:linear-gradient(145deg,#4e3829,var(--brown));color:#fff4df}.section-heading{text-align:center;max-width:760px;margin:0 auto 52px}.section-heading h2{font-family:Georgia,"Noto Serif SC","Noto Serif JP",serif;color:var(--brown);font-size:42px;line-height:1.2;letter-spacing:0;margin:0;text-wrap:balance}.section-heading i{display:block;width:58px;height:4px;border-radius:4px;margin:19px auto 0;background:linear-gradient(90deg,var(--orange),var(--amber))}.section-heading-light h2{color:#fff7e8}.heading-note{margin:20px auto 0;color:var(--muted)}.section-heading-light .heading-note{color:#e8d5bd}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.split.reverse>figure{order:2}.split.reverse>.text-block{order:1}.media-card{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff9ef}.media-card picture{display:block}.media-card img{display:block;width:100%;height:auto;object-fit:contain}.media-card figcaption{padding:10px 17px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.text-block{max-width:520px}.text-block p{margin:0 0 17px;color:var(--muted)}.info-points{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:27px 0}.info-points span{display:grid;grid-template-columns:29px 1fr;column-gap:8px;align-items:center}.info-points b{grid-row:span 2;color:var(--orange);font-size:21px}.info-points strong{font-size:14px}.info-points small{font-size:11px;color:var(--muted)}.text-link{display:inline-flex;gap:6px;align-items:center;color:var(--orange);font-weight:800;text-decoration:none}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(4px,-3px)}
.content-stack{display:grid;gap:56px}.content-card{grid-template-columns:1.06fr .94fr;gap:54px}.content-card.reverse{grid-template-columns:.94fr 1.06fr}.content-card .text-block{padding:12px 6px}.step-label{display:inline-block;color:var(--orange);font-weight:800;font-size:12px;letter-spacing:0;margin-bottom:12px}.content-card h3{font-family:Georgia,"Noto Serif SC","Noto Serif JP",serif;font-size:28px;margin:0 0 13px;color:var(--brown)}.filter-row{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:0 auto 30px}.filter-button{border:1px solid var(--line);background:rgba(255,255,255,.6);color:var(--brown-soft);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:13px;transition:.2s}.filter-button:hover,.filter-button:focus-visible,.filter-button.active{color:#fff;background:var(--brown);border-color:var(--brown)}.guide-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.guide-card{position:relative;min-height:280px;padding:27px 24px 22px;border:1px solid rgba(61,43,30,.1);border-radius:var(--radius);background:rgba(255,255,255,.74);box-shadow:0 10px 27px rgba(61,43,30,.06);transition:transform .28s,box-shadow .28s,opacity .25s}.guide-card:hover,.guide-card:focus-within{transform:translateY(-7px);box-shadow:0 20px 35px rgba(255,143,44,.19)}.guide-icon{position:absolute;right:22px;top:17px;color:var(--orange);font-size:28px}.tag{display:inline-block;padding:4px 9px;background:var(--pink);border-radius:999px;color:var(--brown-soft);font-size:11px;font-weight:700}.guide-card h3{font-family:Georgia,"Noto Serif SC","Noto Serif JP",serif;font-size:20px;margin:19px 0 8px}.guide-card p{font-size:13px;color:var(--muted);margin:0 0 15px}.guide-card small{font-size:11px;color:#b85400;font-weight:700}.guide-card.is-hidden{display:none}.filter-empty{text-align:center;color:var(--muted)}.feature-card{padding:28px 24px 26px;border:1px solid rgba(255,245,218,.15);border-radius:var(--radius);background:rgba(255,248,225,.08);transition:.28s}.feature-card:hover{transform:translateY(-7px);background:rgba(255,248,225,.14);box-shadow:0 20px 45px rgba(0,0,0,.2)}.feature-svg{width:46px;height:46px;display:grid;place-items:center;margin-bottom:19px;border-radius:8px;background:rgba(255,190,83,.13);color:var(--amber)}.feature-svg svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:iconFloat 3s ease-in-out infinite}.feature-card h3{margin:0 0 8px;color:#fff4df;font-family:Georgia,"Noto Serif SC",serif;font-size:20px}.feature-card p{margin:0;color:#e0ccb4;font-size:13px}
.shot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shot-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);padding:0;cursor:pointer;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px rgba(61,43,30,.1);transition:.28s;color:var(--brown);text-align:left}.shot-card:hover,.shot-card:focus-visible{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 38px rgba(255,143,44,.22)}.shot-card picture{display:grid;place-items:center;width:100%;aspect-ratio:16/9;background:#f2e9dc;overflow:hidden}.shot-card picture img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .28s}.shot-card:hover img{transform:scale(1.05)}.shot-card>span{display:flex;align-items:center;min-height:48px;padding:9px 12px;font-size:12px;font-weight:700;border-top:1px solid var(--line)}.timeline{display:grid;gap:14px}.update-card{display:block;padding:25px 28px;border:1px solid rgba(61,43,30,.11);border-radius:var(--radius);background:rgba(255,255,255,.75);transition:.25s}.update-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.update-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.update-card time{font-family:Georgia,serif;color:#b85400;font-weight:800;font-size:14px}.version{display:inline-block;color:var(--brown-soft);font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--pink)}.update-card h3{margin:0 0 5px;font-size:19px;font-family:Georgia,"Noto Serif SC","Noto Serif JP",serif}.update-card p{margin:0;color:var(--muted);font-size:13px}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid rgba(61,43,30,.12);border-radius:var(--radius);background:rgba(255,255,255,.72);overflow:hidden;transition:.25s}.faq-item:hover{box-shadow:0 11px 25px rgba(61,43,30,.09)}.faq-item summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:20px 23px;font-weight:800;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--orange);font-size:22px;line-height:1;transition:transform .2s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{margin:-5px 23px 21px;color:var(--muted);font-size:14px}
.link-section{padding:70px 0}.friend-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.friend-links a{padding:12px 18px;border:1px solid rgba(255,245,218,.25);border-radius:6px;color:#fff4df;text-decoration:none;background:rgba(255,255,255,.07);font-size:14px;transition:.22s}.friend-links a:hover,.friend-links a:focus-visible{background:var(--amber);color:var(--brown);border-color:var(--amber)}.site-footer{background:#2b1d15;color:#d9c5ad;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-inner strong{color:#fff4df;font-family:Georgia,"Noto Serif SC",serif}.footer-inner p{font-size:11px;margin:4px 0 0;color:#bca895}.footer-meta{display:flex;gap:20px;font-size:11px;color:#bca895}
.lightbox{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,880px) minmax(110px,1fr);align-items:center;background:rgba(35,23,16,.94);padding:58px 20px 24px}.lightbox[hidden]{display:none}.lightbox figure{margin:0;text-align:center}.lightbox img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;margin:0 auto;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.lightbox figcaption{margin-top:13px;color:#f9e9cf;font-size:13px}.lightbox button{border:1px solid rgba(255,255,255,.22);cursor:pointer;color:#fff4df;background:rgba(255,255,255,.1);border-radius:6px;padding:10px 13px;font-weight:700}.lightbox-close{position:absolute;top:16px;right:20px;display:flex;gap:7px;align-items:center}.lightbox-close span{font-size:23px;line-height:1}.lightbox-prev,.lightbox-next{justify-self:center;display:flex;gap:7px;align-items:center}.lightbox-prev span,.lightbox-next span{font-size:28px;line-height:1}.lightbox button:hover,.lightbox button:focus-visible{background:var(--orange)}
.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal.from-left{transform:translateX(-28px)}.js-ready .reveal.from-right{transform:translateX(28px)}.js-ready .reveal.visible{opacity:1;transform:none}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7) rotate(45deg)}50%{opacity:1;transform:scale(1.15) rotate(45deg)}}@keyframes scrollCue{0%{transform:translateY(0);opacity:0}25%{opacity:1}80%{transform:translateY(12px);opacity:0}100%{opacity:0}}@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media (max-width:1120px){.menu-toggle{display:flex;margin-left:auto}.primary-nav{position:absolute;left:20px;right:20px;top:calc(100% + 9px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,251,241,.99);box-shadow:var(--shadow)}.primary-nav.is-open{display:flex}.primary-nav>a{padding:10px 12px;font-size:14px}.nav-cta{text-align:center;margin-top:5px}.language-links{justify-content:center;margin-top:9px}.menu-toggle.is-open .menu-bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.is-open .menu-bars i:nth-child(2){opacity:0}.menu-toggle.is-open .menu-bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}
@media (max-width:820px){.container{width:min(calc(100% - 30px),680px)}.header-inner{min-height:68px}.hero{min-height:auto}.hero-inner{grid-template-columns:1fr;gap:40px;padding:66px 0 105px}.hero-copy{text-align:center;margin:0 auto}.hero h1{font-size:52px}.hero h1 span{font-size:23px}.hero-lede{margin-inline:auto}.hero-actions,.hero-stats{justify-content:center}.hero-art{width:min(88vw,410px)}.section{padding:82px 0}.split,.content-card,.content-card.reverse{grid-template-columns:1fr;gap:30px}.split.reverse>figure,.split.reverse>.text-block{order:initial}.text-block{max-width:none}.content-card .text-block{text-align:center;padding:0 5px}.content-card .media-card{max-width:620px;margin-inline:auto}.guide-grid,.feature-grid,.shot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{align-items:flex-start;flex-direction:column}.footer-meta{flex-direction:column;gap:4px}.lightbox{grid-template-columns:90px minmax(0,1fr) 90px;padding-inline:8px}.lightbox-prev,.lightbox-next{flex-direction:column;font-size:11px}}
@media (max-width:520px){.container{width:calc(100% - 24px)}.brand-copy strong{font-size:13px}.brand-mark{width:36px;height:36px}.menu-label{display:none}.hero h1{font-size:40px}.hero h1 span{font-size:18px}.hero-lede{font-size:16px}.hero-stats{gap:16px}.hero-stats strong{font-size:18px}.section-heading{margin-bottom:38px}.section-heading h2{font-size:32px}.info-points{grid-template-columns:1fr;gap:13px}.guide-grid,.feature-grid,.shot-grid{grid-template-columns:1fr}.guide-card{min-height:0}.update-card{padding:21px}.faq-item summary{padding:17px 18px;font-size:14px}.faq-item p{margin:-2px 18px 18px;font-size:13px}.lightbox{grid-template-columns:54px minmax(0,1fr) 54px;padding-inline:3px}.lightbox-prev,.lightbox-next{padding:8px 4px}.lightbox-close{right:10px}.lightbox img{max-height:70vh}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-ready .reveal{opacity:1;transform:none}}

/* Refined hierarchy, icon-led controls, and a shared lift/highlight response for every module. */
.hero,.section{border:1px solid transparent;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;transform-origin:center top}
.hero:hover,.section:hover{transform:translateY(-3px);border-color:rgba(255,143,44,.45);box-shadow:inset 0 0 0 1px rgba(255,190,83,.2),0 18px 42px rgba(61,43,30,.1)}
.hero>.container,.section>.container{transition:scale .3s ease}.hero:hover>.container,.section:hover>.container{scale:1.002}
.content-card,.media-card{border:1px solid transparent;border-radius:var(--radius);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.media-card img{transition:scale .3s ease}.media-card:hover img{scale:1.015}
@media (hover:hover) and (pointer:fine){.content-card:hover,.media-card:hover,.guide-card:hover,.feature-card:hover,.shot-card:hover,.update-card:hover,.faq-item:hover{transform:translateY(-5px) scale(1.008);border-color:var(--amber);box-shadow:0 15px 32px rgba(255,143,44,.18)}.primary-nav>a:hover,.filter-button:hover,.lightbox button:hover{transform:translateY(-2px) scale(1.025)}.primary-nav>a{transition:transform .25s ease,color .25s ease}}
.hero h1{font-size:58px}.section-heading h2{font-size:36px}
.ui-icon{display:inline-block;flex:0 0 auto;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.primary-nav>a{display:inline-flex;align-items:center;gap:5px}.primary-nav>a .ui-icon{width:14px;height:14px}.nav-cta .ui-icon{width:15px;height:15px}
.button,.filter-button,.lightbox button{gap:7px}.button .ui-icon,.filter-button .ui-icon{width:16px;height:16px}.filter-button{display:inline-flex;align-items:center;justify-content:center}.shot-card{position:relative}.shot-card>.ui-icon{position:absolute;z-index:2;top:10px;right:10px;width:22px;height:22px;padding:3px;color:#fff;background:rgba(61,43,30,.72);border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.18)}.lightbox button{display:inline-flex;align-items:center;justify-content:center}.lightbox button .ui-icon{width:18px;height:18px}.lightbox-close .ui-icon{width:17px;height:17px}
@media (max-width:820px){.hero h1{font-size:46px}.section-heading h2{font-size:32px}}
@media (max-width:520px){.hero h1{font-size:36px}.hero h1 span{font-size:17px}.section-heading h2{font-size:28px}.hero:hover,.section:hover{transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.hero:hover,.section:hover,.content-card:hover,.media-card:hover,.guide-card:hover,.feature-card:hover,.shot-card:hover,.update-card:hover,.faq-item:hover,.primary-nav>a:hover,.filter-button:hover,.lightbox button:hover{transform:none}.hero:hover>.container,.section:hover>.container,.media-card:hover img{scale:1}}

/* Landscape title art lets the hero remain compact while preserving the full original scene. */
.friend-links a{border-radius:999px}
.brand{transition:transform .28s ease,color .28s ease}.brand-logo{display:block;flex:0 0 auto;width:48px;height:52px;object-fit:contain;border:1px solid transparent;border-radius:8px;transition:transform .28s ease,filter .28s ease,border-color .28s ease,box-shadow .28s ease}.brand:hover,.brand:focus-visible{transform:translateY(-4px) scale(1.025);color:var(--orange)}.brand:hover .brand-logo,.brand:focus-visible .brand-logo{transform:scale(1.1);border-color:var(--amber);filter:saturate(1.08);box-shadow:0 10px 24px rgba(255,143,44,.28)}
@media (max-width:520px){.brand-logo{width:40px;height:44px}}
@media (prefers-reduced-motion:reduce){.brand:hover,.brand:focus-visible,.brand:hover .brand-logo,.brand:focus-visible .brand-logo{transform:none}}
@media (hover:hover) and (pointer:fine){.js-ready .reveal.visible:is(.content-card,.media-card,.guide-card,.feature-card,.shot-card,.update-card,.faq-item):hover{transform:translateY(-5px) scale(1.008)}}
@media (prefers-reduced-motion:reduce){.js-ready .reveal.visible:is(.content-card,.media-card,.guide-card,.feature-card,.shot-card,.update-card,.faq-item):hover{transform:none}}
.hero{min-height:610px}.hero-inner{padding:64px 0 96px}.hero-art{width:min(100%,520px)}.hero-art-frame{aspect-ratio:1400/784}

/* Strong, section-specific hover feedback for requested content modules. */
.content-card .media-card,.guide-card,.feature-card,.update-card,.faq-item{will-change:transform;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease,background-color .32s ease}
.content-card .media-card img{transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .32s ease}
@media (hover:hover) and (pointer:fine){
  .js-ready .content-card.reveal.visible .media-card:hover{transform:translateY(-9px) scale(1.035);border-color:var(--amber);box-shadow:0 22px 46px rgba(255,143,44,.25)}
  .content-card .media-card:hover img{transform:scale(1.045);filter:saturate(1.06) brightness(1.02)}
  .js-ready .guide-card.reveal.visible:hover{transform:translateY(-10px) scale(1.035);border-color:var(--amber);box-shadow:0 22px 42px rgba(255,143,44,.25)}
  .js-ready .feature-card.reveal.visible:hover{transform:translateY(-10px) scale(1.035);border-color:var(--amber);background:rgba(255,248,225,.16);box-shadow:0 22px 46px rgba(255,190,83,.2)}
  .js-ready .update-card.reveal.visible:hover{transform:translateY(-8px) scale(1.018);border-color:var(--amber);background:rgba(255,255,255,.92);box-shadow:0 20px 38px rgba(255,143,44,.2)}
  .js-ready .faq-item.reveal.visible:hover{transform:translateY(-7px) scale(1.018);border-color:var(--amber);background:rgba(255,255,255,.94);box-shadow:0 18px 34px rgba(255,143,44,.18)}
}
@media (prefers-reduced-motion:reduce){
  .js-ready .content-card.reveal.visible .media-card:hover,.content-card .media-card:hover img,.js-ready .guide-card.reveal.visible:hover,.js-ready .feature-card.reveal.visible:hover,.js-ready .update-card.reveal.visible:hover,.js-ready .faq-item.reveal.visible:hover{transform:none}
}

/* Final hover layer: overrides the reveal transform after an item enters the viewport. */
.js-ready .content-card.reveal.visible .media-card:hover{transform:translate3d(0,-12px,0) scale(1.04)!important;border-color:var(--amber)!important;box-shadow:0 24px 48px rgba(255,143,44,.28)!important}
.js-ready .content-card.reveal.visible .media-card:hover img{transform:scale(1.055)!important}
.js-ready .guide-card.reveal.visible:hover{transform:translate3d(0,-12px,0) scale(1.04)!important;border-color:var(--amber)!important;box-shadow:0 24px 46px rgba(255,143,44,.27)!important}
.js-ready .feature-card.reveal.visible:hover{transform:translate3d(0,-12px,0) scale(1.04)!important;border-color:var(--amber)!important;background:rgba(255,248,225,.17)!important;box-shadow:0 24px 48px rgba(255,190,83,.23)!important}
.js-ready .update-card.reveal.visible:hover{transform:translate3d(0,-10px,0) scale(1.025)!important;border-color:var(--amber)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 22px 42px rgba(255,143,44,.23)!important}
.js-ready .faq-item.reveal.visible:hover{transform:translate3d(0,-9px,0) scale(1.025)!important;border-color:var(--amber)!important;background:rgba(255,255,255,.96)!important;box-shadow:0 20px 38px rgba(255,143,44,.21)!important}
@media (prefers-reduced-motion:reduce){.js-ready .content-card.reveal.visible .media-card:hover,.js-ready .content-card.reveal.visible .media-card:hover img,.js-ready .guide-card.reveal.visible:hover,.js-ready .feature-card.reveal.visible:hover,.js-ready .update-card.reveal.visible:hover,.js-ready .faq-item.reveal.visible:hover{transform:none!important}}

/* Keep the details entry available while scrolling, outside animated sections. */
.floating-details{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 24px;border:2px solid var(--orange);border-radius:999px;background:var(--brown);color:var(--cream);font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap;box-shadow:0 8px 24px rgba(61,43,30,.25),0 0 0 4px rgba(255,143,44,.1);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
.floating-details .ui-icon{width:18px;height:18px;color:var(--amber)}
.floating-details:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-color:var(--amber);box-shadow:0 12px 30px rgba(255,143,44,.3)}
@media (hover:hover) and (pointer:fine){.floating-details:hover{transform:translateY(-6px) scale(1.04);border-color:var(--amber);background:var(--brown-soft);box-shadow:0 16px 32px rgba(61,43,30,.28),0 0 22px rgba(255,143,44,.3)}}
.floating-details:active{transform:translateY(-2px) scale(1.01)}
.modal-open .floating-details{visibility:hidden;pointer-events:none}
.site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
@media (max-width:520px){.floating-details{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:48px;padding:0 19px;font-size:14px}}
@media (prefers-reduced-motion:reduce){.floating-details{transition:none}.floating-details:hover,.floating-details:active{transform:none}}
