/* R236: stable disclosure regions, rounded surfaces, complete artwork. */
:root{--ease:cubic-bezier(.22,1,.36,1);--soft-edge:#f6d49266}
.site-header{background:#041725f5;box-shadow:0 8px 28px #0002}
.header-inner{position:relative;width:min(1580px,calc(100% - 2*var(--gutter)));gap:20px;min-height:66px}
.brand-mark{mix-blend-mode:normal;filter:drop-shadow(0 2px 3px #0006)}
.main-nav{gap:6px;min-width:0}
.main-nav a{padding:9px 13px;min-height:39px;background:#14324566;border:1px solid #cda66333;border-radius:999px;font:600 13px/1.4 var(--font-body);letter-spacing:.015em;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}
.main-nav a::after{display:none}
.main-nav a:hover{background:#173547;border-color:#f2cc8766;color:#ffe9b5}
.main-nav a[aria-current=page]{color:#ffe1a0;border-color:#d6ac665c;background:linear-gradient(145deg,#a2783438,#1b3e4d);box-shadow:inset 0 1px #ffecb42e,0 4px 12px #0002}
.header-actions{gap:8px}.header-search{width:210px;flex-basis:210px}
.header-search input{min-height:37px;background:#092335bd;font:11px var(--font-body)}
.header-search button{top:5px}.header-actions .compact{min-height:38px}
.scroll-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#d6a34d,#fff1be);pointer-events:none}

.home-content-grid,.articles-layout,.contact-layout,.feature-detail-grid{align-items:start}
.calendar-panel{align-self:start;position:relative;overflow:visible}
.panel,.price-card,.feature-card,.policy-card{border-color:#d3a666a6;box-shadow:inset 0 1px #ffeac12e,0 10px 28px #0003}
.home-spotlight{border:1px solid #dbb477ab;border-radius:24px;overflow:hidden;padding-block:18px;min-height:106px;background:linear-gradient(110deg,#183d50ee,#09293bee 65%,#072438);box-shadow:inset 0 1px #fff1c14d,inset 0 -1px #01142099,0 14px 32px #0004}
.home-spotlight h2{text-shadow:0 2px 6px #0005}.spotlight-ornament{mask-image:linear-gradient(90deg,#000 42%,transparent);opacity:.86}
.benefit-tags a{padding:6px 9px;background:#082a3ee8;border-color:#c3a67566;box-shadow:inset 0 1px #fff0c71f;transition:transform .24s var(--ease),background .24s,border-color .24s}
.benefit-tags a:hover{transform:translateY(-2px);background:#194053;border-color:#f1c67a}
.feature-card{border-radius:13px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.feature-card strong{font-weight:700;line-height:1.22}.feature-card small{line-height:1.3}
.feature-card:hover{transform:translateY(-4px);border-color:#ffe0a2;box-shadow:inset 0 1px #fff0c740,0 14px 24px #0005,0 0 16px #dfb26620}

/* A fixed-height list contains expanding answers; adjacent grids never resize. */
.faq-list{display:flex;flex-direction:column;gap:8px;height:min(calc(var(--item-count,3)*58px + 8px),420px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 4px 2px 0;scrollbar-width:thin;scrollbar-color:#c9a56a #061c2b;border-radius:10px}
.faq-list[data-item-count="3"]{--item-count:3}
.faq-list[data-item-count="4"]{--item-count:4}
.faq-list[data-item-count="9"]{--item-count:9}
.faq-list:focus-visible{outline:2px solid #f1cb87;outline-offset:3px}
.faq-item{flex:none;min-width:0;margin:0;border:1px solid #68808a;border-radius:10px;background:#0a293b;overflow:hidden;transition:border-color .22s,background .22s}
.faq-item[open]{background:#103447;border-color:#e5bc78}
.faq-item summary,.contact-layout aside .faq-item summary{font:400 15px/1.4 var(--font-display);min-height:48px;padding:11px 12px;gap:12px}
.faq-item summary>.icon{width:14px;height:14px;flex:none;transition:transform .26s var(--ease)}
.faq-item[open] summary>.icon{transform:rotate(180deg)}
.faq-answer{overflow:hidden}.faq-item .faq-answer p{padding:0 12px 14px;margin:0;font:13px/1.65 var(--font-body);color:#e2ebea}
.faq-list::-webkit-scrollbar,.advice-content::-webkit-scrollbar,.calendar-tools-content::-webkit-scrollbar{width:5px}
.faq-list::-webkit-scrollbar-thumb,.advice-content::-webkit-scrollbar-thumb,.calendar-tools-content::-webkit-scrollbar-thumb{border-radius:10px;background:#c49d67}
.calendar-advice{height:144px;align-items:start}
.calendar-advice>details{height:144px;overflow:hidden;border-radius:10px;position:relative}
.calendar-advice summary{padding-right:14px;position:relative;min-height:24px}
.calendar-advice summary::after{content:'⌄';position:absolute;right:0;top:-1px;color:#956e3c;transition:transform .2s}
.calendar-advice details[open] summary::after{transform:rotate(180deg)}
.calendar-advice .advice-preview{margin-top:6px;line-height:1.5;gap:3px}
.advice-content{height:105px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b58b51 #fff5df}
.calendar-advice .advice-content ul{margin:4px 0 8px;line-height:1.6;padding-left:17px}
.calendar-advice .advice-content p{font-size:10px;line-height:1.4;margin:4px 0 6px}
.calendar-tools{position:relative;z-index:3}.calendar-tools[open]{z-index:25}
.calendar-tools-content{position:absolute;left:-1px;right:-1px;bottom:calc(100% + 9px);max-height:300px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#0e3044,#041b2b);border:1px solid #e2ba75;border-radius:14px;padding:14px;box-shadow:0 15px 38px #0008;scrollbar-width:thin;scrollbar-color:#c6a46b #071f2f}
.calendar-tools[data-placement=below] .calendar-tools-content{bottom:auto;top:calc(100% + 9px)}
.calendar-tools .calendar-select{margin-top:0;flex-direction:column;align-items:stretch;gap:7px}
.calendar-tools input{min-height:40px}.calendar-paper{border-radius:12px}.calendar-landscape{border-radius:0 0 10px 10px}

/* Preserve the complete composition instead of cropping to a 56px strip. */
.article-card{border-radius:13px;transition:transform .28s var(--ease),box-shadow .28s,border-color .28s}
.article-cover{height:145px;aspect-ratio:auto;background:radial-gradient(ellipse at 50% 20%,#325064,#092333);padding:7px;border-radius:12px 12px 0 0}
.article-cover img{width:100%;height:100%;object-fit:contain;border-radius:8px;transform:none!important;filter:drop-shadow(0 3px 5px #0005)}
.article-card:hover .article-cover img{transform:none}
.article-badge{left:13px;bottom:12px;border:1px solid #f9e3b266;box-shadow:0 2px 5px #0003}
.home-articles .article-card:first-child .article-cover{height:195px;aspect-ratio:auto}
.home-articles .article-card:not(:first-child) .article-cover{height:112px;aspect-ratio:auto}
.home-articles{grid-template-rows:repeat(2,minmax(174px,auto));flex:none}
.home-articles .article-copy{padding:10px}.home-articles .article-card:not(:first-child) h3{line-height:1.2;font-size:15px}
.home-articles .article-card:not(:first-child) .article-copy{padding:8px}
.article-card:hover{transform:translateY(-3px);border-color:#fce0aa;box-shadow:0 14px 26px #0004}
.rank-thumb{object-fit:contain;background:#0b2535;padding:2px;border-radius:7px}
.featured-story>a{border-radius:18px;box-shadow:inset 0 1px #fff0bc2e,0 12px 24px #0004;background:#082233}
.story-copy{position:relative;isolation:isolate;padding:24px;background:linear-gradient(105deg,#041b2bea,#062236a3),url('./assets/hero-panorama.png') 12% center/cover no-repeat}
.story-copy::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 100%,#d6ad5324,transparent 65%)}
.story-copy h2{font-size:30px;line-height:1.22;text-shadow:0 2px 5px #0006}.story-copy p{font-size:17px;line-height:1.45;color:#e4e4d9}
.featured-story img{height:320px;min-height:0;max-height:none;object-fit:contain;padding:10px;background:linear-gradient(145deg,#18364a,#061d2d);border-radius:17px}
.detail-cover{object-fit:contain;background:#0b293b;border-radius:14px;padding:10px}

/* Both screens are photographs of the current public app, inside real frames. */
.device-stage{max-width:630px;aspect-ratio:1.77;padding:14px 6px 24px;filter:drop-shadow(0 18px 19px #0007)}
.device-float,.device-tilt{position:absolute;inset:14px 6px 30px;transform-origin:center;will-change:transform}
.device-tilt{inset:0;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .26s var(--ease)}
.laptop{width:84%;height:93%;top:1%;left:0;padding:1.1cqw;border:.8cqw solid #c5a46e;border-radius:2.2cqw;background:#061321;box-shadow:inset 0 1px #fff0bc,0 0 0 .2cqw #eadab633;transform:rotate(-1.5deg);display:flex;flex-direction:column;overflow:visible}
.device-browser{display:flex;align-items:center;justify-content:center;gap:8px;min-height:3.7cqw;font:1.5cqw/1.2 var(--font-body);color:#ecd4a8}
.browser-dots{position:absolute;left:1.5cqw;display:flex;gap:.4cqw}.browser-dots i{width:.55cqw;height:.55cqw;border-radius:50%;background:#bd9d63}
.device-browser>.icon{width:1.7cqw;height:1.7cqw;margin-left:auto}
.device-screen,.phone .device-screen{padding:0;background:#00101c;border-radius:1.1cqw;height:100%;min-height:0;overflow:hidden;display:block}
.laptop .device-screen{flex:1;border:1px solid #56727e5c}
.app-screen{width:100%;height:100%;object-fit:contain;pointer-events:none}
.laptop-base{inset:auto -5% -2.5cqw;height:2.5cqw;border-color:#af8750;background:linear-gradient(#f1d9a7,#c6a166 60%,#8e6939)}
.phone{width:26%;height:98%;right:0;bottom:-2%;padding:.65cqw;border:.55cqw solid #cba770;border-radius:3.3cqw;background:#02101c;box-shadow:inset 0 0 0 1px #fff0c454,0 9px 14px #0006;transform:rotate(4deg)}
.phone .device-screen{border-radius:2.2cqw}.phone-notch{top:.7cqw;left:34%;width:32%;height:1.1cqw;border-radius:0 0 .8cqw .8cqw;background:#010b16}
.device-caption{position:absolute;bottom:1px;left:12%;display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #d7b07066;border-radius:99px;background:#061d2adb;color:#ffe8b9;font:11px/1.4 var(--font-body);box-shadow:0 4px 12px #0003}
.device-caption .icon{width:13px;height:13px}
.hero-home .hero-inner,.hero-features .hero-inner{min-height:364px;gap:28px;padding-block:14px}
.hero-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.hero-atmosphere i{position:absolute;left:12%;top:72%;width:4px;height:4px;border-radius:50%;background:#ffe5a1;box-shadow:0 0 9px 2px #f2c56c77;opacity:0}
.hero-atmosphere i:nth-child(2){left:35%;top:38%;animation-delay:-4s}.hero-atmosphere i:nth-child(3){left:57%;top:74%;animation-delay:-8s}.hero-atmosphere i:nth-child(4){left:76%;top:24%;animation-delay:-2s}.hero-atmosphere i:nth-child(5){left:88%;top:67%;animation-delay:-6s}.hero-atmosphere i:nth-child(6){left:46%;top:21%;animation-delay:-10s}

.button.gold{position:relative;isolation:isolate;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s,background .28s}
.button.gold::before{content:'';position:absolute;inset:-45% auto -45% -50%;width:35%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#fff9e87d,transparent);pointer-events:none;opacity:0}
.button.gold:hover::before{animation:buttonSheen .72s var(--ease)}
.button.gold:hover{box-shadow:inset 0 1px #fffbe7,0 8px 20px #d5a04a35}
.motion-item{opacity:1}.motion-item.is-visible{opacity:1}
html[data-motion=full] .motion-item:not(.is-visible){opacity:0}
html[data-motion=full] .device-stage.is-active .device-float{animation:deviceFloat 7.5s ease-in-out infinite}
html[data-motion=full] .device-stage.is-active .phone{animation:phoneFloat 6s ease-in-out infinite}
html[data-motion=full] .hero-atmosphere i{animation:goldDust 13s ease-in-out infinite}
html[data-motion-paused] .device-float,html[data-motion-paused] .phone,html[data-motion-paused] .hero-atmosphere i{animation-play-state:paused!important}
@keyframes deviceFloat{0%,100%{transform:translateY(1px)}50%{transform:translateY(-7px)}}
@keyframes phoneFloat{0%,100%{transform:translateY(2px) rotate(4deg)}50%{transform:translateY(-6px) rotate(3deg)}}
@keyframes goldDust{0%,100%{opacity:0;transform:translate3d(0,12px,0)}25%,65%{opacity:.65}80%{opacity:0;transform:translate3d(14px,-30px,0)}}
@keyframes buttonSheen{0%{opacity:0;left:-50%}20%{opacity:1}100%{opacity:0;left:130%}}

@media(max-width:1450px){.header-inner{gap:12px}.main-nav a{padding:8px 10px;font-size:12px}.header-search{flex-basis:175px}.home-spotlight{padding-left:180px}}
@media(max-width:1180px){
 .header-search{display:none}.header-actions{margin-left:auto}.menu-toggle{display:inline-flex}
 .main-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;width:auto;margin:0;padding:10px;background:#061f30fb;border:1px solid #cfa56788;border-radius:18px;box-shadow:0 18px 32px #0006}
 .site-header[data-menu-open=true] .main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .main-nav a{font-size:14px;min-height:44px;text-align:center;padding:11px}
 .home-spotlight{padding-left:160px}.hero .device-stage{max-width:580px}
}
@media(max-width:900px){
 .hero-home .hero-inner,.hero-features .hero-inner{min-height:0;padding-block:24px}
 .hero .device-stage{aspect-ratio:1.77;width:100%;max-width:580px;margin:10px auto 4px}
 .home-spotlight{padding:20px}.home-spotlight>div:first-of-type{padding-left:115px;min-height:65px}
 .home-spotlight>.button{justify-self:start}.spotlight-ornament{width:130px;height:100px}
 .featured-story img{height:300px}
}
@media(max-width:600px){
 .header-inner{min-height:64px;gap:8px}.header-actions .compact{min-height:38px;font-size:14px}
 .site-header[data-menu-open=true] .main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .main-nav a{font-size:14px}.hero .device-stage{aspect-ratio:1.77;padding:8px 0 18px}
 .device-float{inset:9px 4px 26px}.device-caption{font-size:8px;padding:4px 7px;left:6%;bottom:0;gap:4px}.device-caption .icon{width:11px;height:11px}
 .home-spotlight{border-radius:20px;padding:20px}.home-spotlight>div:first-of-type{padding:0;min-height:0}.home-spotlight>.button{justify-self:stretch}
 .home-spotlight h2{font-size:31px}.benefit-tags a{font-size:13px;padding:7px 10px}
 .faq-item summary,.contact-layout aside .faq-item summary{font-size:16px;min-height:52px}.faq-item .faq-answer p{font-size:13px;line-height:1.65}
 .calendar-advice{height:150px}.calendar-advice>details{height:150px}.advice-content{height:112px}
 .calendar-tools-content{max-height:260px}.calendar-panel .panel-heading h2{font-size:23px}
 .home-articles{grid-template-rows:auto}.article-cover,.home-articles .article-card:not(:first-child) .article-cover{height:125px;aspect-ratio:auto}
 .home-articles .article-card:first-child .article-cover{height:210px;aspect-ratio:auto}
 .home-articles .article-card:not(:first-child) h3{font-size:18px;line-height:1.2}
 .article-copy p{font-size:15px}.featured-story img{height:240px;aspect-ratio:auto;max-height:none}
 .story-copy{padding:20px}.story-copy h2{font-size:28px}.story-copy p{font-size:16px}
 .feature-card{border-radius:12px}.feature-card strong{font-size:17px}.feature-card small{font-size:12px;line-height:1.35}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.device-float,.phone,.hero-atmosphere i,.button.gold::before{animation:none!important}
 .device-tilt{transform:none!important}.motion-item{opacity:1!important}
}
