/* Homepage polish. Shared approved layout and inner pages remain independent. */
.home-page .site-header{background:#fafdfff0;border-bottom:1px solid #e5eef680;transition:box-shadow .25s,background .25s}
.home-page .site-header.is-scrolled{background:#fffffff2;box-shadow:0 6px 30px #1039620d}
.home-page .desktop-nav a{transition:color .2s}
.home-page .desktop-nav a:hover{color:#006cf0}
.home-page .desktop-nav [aria-current]:after{height:3px;border-radius:2px;background:linear-gradient(90deg,#0876f4,#45c6ff)}
.home-page .button{background:linear-gradient(115deg,#1bb5f9 0%,#0879f8 45%,#075beb 100%);border-color:#73caff;box-shadow:inset 0 1px 1px #ffffff80,0 5px 14px #127bed24;transition:transform .22s,box-shadow .22s,background .22s}
.home-page .button:hover,.home-page .button:focus-visible{box-shadow:inset 0 1px 1px #ffffff90,0 8px 22px #127bed35}
.home-page .button svg{transition:transform .22s}
.home-page .button:hover svg{transform:translateX(3px)}
.home-page .hero{height:770px;background:#f2f8ff url("assets/hero-premium-glass-arch.png") center center/cover no-repeat}
.home-page .hero-light-field,.home-page .hero-arch{display:none}
.home-page .hero-inner{width:min(1310px,calc(100% - 110px))}
.home-page .hero-copy{padding-bottom:36px;max-width:56%;text-shadow:0 2px 18px #ffffffa6}
.home-page .hero h1{font-size:clamp(62px,5.5vw,80px);letter-spacing:-.045em;font-weight:760}
.home-page .hero h1>span{font-size:clamp(33px,3.05vw,44px);letter-spacing:-.035em;margin-top:15px;line-height:1.25}
.home-page .hero-tags{font-size:27px;letter-spacing:.04em;margin:28px 0 34px;color:#21466d}
.home-page .hero .button{min-height:61px;font-size:18px;padding:14px 28px;gap:18px;text-shadow:none}
.home-page .hero .outline-light{background:#ffffffb0;border:1px solid #4f9cd2;color:#084572;box-shadow:inset 0 1px 0 #fff,0 3px 12px #286fc410;backdrop-filter:blur(8px)}
.home-page .hero-visual{width:670px;right:-37px;top:20px;filter:drop-shadow(0 18px 20px #2e68b00d)}
.home-page .hero-bottom{justify-content:flex-start;gap:24px;bottom:27px}
.home-page .hero-footnote{font-size:15px;color:#315b86}
.home-page .motion-toggle{background:#ffffffa8;border-color:#93bddd;color:#305d83;min-height:38px;font-size:11px;backdrop-filter:blur(9px)}
.home-page .meet{height:280px;background:linear-gradient(105deg,#fff,#f7fbff);border-top:1px solid #fff}
.home-page .meet-copy{width:57%}
.home-page .meet-copy h2{font-size:46px;letter-spacing:-.04em}
.home-page .meet-copy p{font-size:22px;line-height:1.7;margin:20px 0 10px;max-width:550px}
.home-page .meet-copy .button{background:none;border:0;box-shadow:none;color:#006beb;min-height:44px;font-size:16px}
.home-page .explore{height:640px;padding:46px 0;background:radial-gradient(ellipse at 50% 73%,#0863a944,transparent 43%),radial-gradient(ellipse at 50% -80%,#247b9d55,transparent 60%),repeating-linear-gradient(133deg,transparent 0 194px,#28659412 195px 196px,transparent 197px 360px),linear-gradient(115deg,#04172f,#052043 53%,#04172f)}
.home-page .explore:before{content:"";position:absolute;pointer-events:none;inset:0;background:linear-gradient(90deg,transparent 20%,#3b88df10 49.9%,#7ab4ed10 50%,transparent 80%);opacity:.7}
.home-page .explore-grid{gap:24px 34px;grid-template-columns:1fr .86fr 1fr}
.home-page .feature-card{--card-x:50%;--card-y:0%;position:relative;isolation:isolate;border:1px solid #84c5f2aa;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 14% 0,#4c8ac430,transparent 66%),linear-gradient(140deg,#173754b0,#071b33e8 53%,#103354b0);box-shadow:inset 0 1px 0 #c8edff55,inset 0 -1px 0 #4689bd40,inset 0 0 22px #4d9de31a,0 6px 24px #00000016,0 0 7px #5cc1ff25;padding:27px 18px;transform:perspective(850px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .2s,box-shadow .2s,border-color .2s}
.home-page .feature-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--card-x) var(--card-y),#9adeff25,transparent 55%);opacity:.55;transition:opacity .25s}
.home-page .feature-card:after{content:"";position:absolute;top:0;left:9%;right:9%;height:1px;background:linear-gradient(90deg,transparent,#f0faff,transparent);opacity:.75;pointer-events:none}
.home-page .feature-card:hover,.home-page .feature-card:focus-visible{border-color:#b9e6ff;box-shadow:inset 0 1px 0 #e4f9ff80,inset 0 0 28px #5cabef28,0 8px 28px #00000020,0 0 20px #7bceff35}
.home-page .feature-card:hover:before,.home-page .feature-card:focus-visible:before{opacity:1}
.home-page .feature-card>svg{width:80px;height:80px;padding:14px;color:#40a6ff;margin-bottom:13px;filter:drop-shadow(0 0 9px #2394ff55)}
.home-page .feature-card h3{font-size:29px;font-weight:650;letter-spacing:.025em;margin-bottom:9px}
.home-page .feature-card p{font-size:18px;color:#cfdef0}
.home-page .feature-card>span{display:block;position:absolute;right:20px;top:15px;font-size:19px;color:#91d0fc;opacity:.45;transition:opacity .2s,transform .2s}
.home-page .feature-card:hover>span,.home-page .feature-card:focus-visible>span{opacity:1;transform:translate(2px,-2px)}
.home-page .emblem-badge{max-width:330px;filter:drop-shadow(0 8px 14px #031a3b) drop-shadow(0 0 17px #137bfd45)}
.home-page .emblem-floor{bottom:29%;height:2px;max-width:300px;box-shadow:0 0 13px 3px #1995ff90,0 0 40px 11px #0a87e444}
.home-page .categories{padding:48px 0 42px;background:radial-gradient(ellipse at 45% 68%,#e6f5ff70,transparent 60%),linear-gradient(#fff,#fafdff)}
.home-page .categories .section-head h2{font-size:46px}
.home-page .categories .section-head p{font-size:17px;color:#4a6687;max-width:380px;text-align:right}
.home-page .category-track{gap:18px;padding:33px 17px 8px}
.home-page .category-image{border:5px solid #f3fbff;outline:1px solid #55bceb;box-shadow:0 0 0 7px #bddff74d,0 10px 24px #246bb51c;transition:transform .4s,box-shadow .4s}
.home-page .category-option.active .category-image{box-shadow:0 0 0 4px #7bceff85,0 0 0 9px #dcf4ff80,0 9px 25px #068bed40,inset 0 0 0 1px #fff}
.home-page .category-option strong,.home-page .category-option.active strong{font-size:23px;letter-spacing:.015em;margin-top:16px;font-weight:650}
.home-page .category-controls{top:52%}
.home-page .category-controls button{background:#edf8ffcc;color:#2679b7;border-color:#b9dcef;box-shadow:0 4px 12px #316d9e0a;backdrop-filter:blur(8px);transition:background .2s}
.home-page .category-controls button:hover{background:#d8f0ff;color:#005eb7}
.home-page .category-dots{margin-top:9px}
.home-page .category-description{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center}
.home-page .category-summary h3{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-page .category-summary p{font-size:16px;color:#4d6681;line-height:1.7;max-width:620px;min-height:28px}
.home-page .category-description .button{background:#eff8ff;border:1px solid #c3e0f4;color:#086cca;box-shadow:none;min-height:45px;padding:9px 22px;font-size:15px;gap:12px}
.home-page .offer{height:400px;background:linear-gradient(110deg,#e6f2ff,#f5faff 43%,#e3f0ff);border-block:1px solid #e9f4ff}
.home-page .offer-copy h2{font-size:46px}
.home-page .offer-copy>p{font-size:21px;line-height:1.8;margin-top:20px;margin-bottom:23px}
.home-page .offer-restriction{font-size:14px;color:#49698b;margin-top:5px}
.home-page .gift-art{animation:gift-float 7s ease-in-out infinite}
.home-page .gift-art img{mask-image:linear-gradient(90deg,transparent,#000 17%,#000 96%,transparent)}
.home-page .faq{padding:45px 0 50px;min-height:365px;background:linear-gradient(#fff,#fcfdff)}
.home-page .faq h2{font-size:40px;margin-bottom:25px}
.home-page .faq-list{gap:12px}
.home-page .faq-list details{border-color:#d2e6f6;background:#f7fbff;box-shadow:inset 0 1px 0 #fff;border-radius:12px;overflow:hidden}
.home-page .faq-list summary{min-height:65px;font-size:16px;font-weight:550;background:transparent;padding-inline:20px}
.home-page .faq-list details[open]{background:#fff;border-color:#9fceed;box-shadow:0 5px 22px #2f70a708}
.home-page .faq-list details>p{font-size:15px;line-height:1.9;padding:0 24px 20px 58px;color:#45617e}
.home-page .faq-list summary>span{font-size:23px;font-weight:400}
.home-page .site-footer{border-top:1px solid #235f8935;background:radial-gradient(ellipse at 0 0,#0c355d,#061a36 70%);padding:36px 0 30px}
.home-page .site-footer .outline-light{background:transparent;color:#e1f2ff;border-color:#79a8cc;box-shadow:inset 0 1px 0 #b9dcff20}
@keyframes gift-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:1150px) and (min-width:781px){
 .home-page .hero{height:655px}.home-page .hero-inner{width:calc(100% - 64px)}.home-page .hero h1{font-size:61px}.home-page .hero h1>span{font-size:34px}.home-page .hero-copy{max-width:57%}.home-page .hero-tags{font-size:23px;margin:25px 0 29px}.home-page .hero .button{font-size:15px;padding:12px 22px;min-height:53px}.home-page .hero-visual{width:550px;right:-62px;top:18px}
 .home-page .hero-bottom{gap:15px;bottom:25px}.home-page .hero-footnote{font-size:12px}.home-page .motion-toggle{min-height:36px;font-size:10px}
 .home-page .meet{height:250px}.home-page .meet-copy h2{font-size:39px}.home-page .meet-copy p{font-size:19px;max-width:440px}
 .home-page .explore{height:560px;padding:39px 0}.home-page .explore-grid{gap:23px 22px}.home-page .feature-card{padding:20px 12px;border-radius:18px}.home-page .feature-card>svg{width:67px;height:67px;padding:10px}.home-page .feature-card h3{font-size:24px}.home-page .feature-card p{font-size:15px}
 .home-page .categories .section-head h2{font-size:39px}.home-page .categories .section-head p{font-size:15px;max-width:290px}.home-page .category-option strong,.home-page .category-option.active strong{font-size:20px}
 .home-page .offer{height:350px}.home-page .offer-copy h2{font-size:39px}.home-page .offer-copy>p{font-size:18px;margin-top:16px;margin-bottom:18px}.home-page .offer-restriction{font-size:12px}.home-page .faq h2{font-size:37px}
}
@media(max-width:780px){
 .home-page .hero{height:auto;min-height:0;background-image:linear-gradient(#ffffff 0%,#ffffff00 36%),url("assets/hero-premium-glass-arch.png");background-size:100% 100%,auto 610px;background-position:center,64% bottom;background-repeat:no-repeat}
 .home-page .hero-inner{width:calc(100% - 40px);padding-top:34px}.home-page .hero-copy{max-width:100%;padding:0;text-shadow:none}.home-page .hero h1{font-size:48px}.home-page .hero h1>span{font-size:clamp(22px,5.1vw,32px);margin-top:11px;line-height:1.4}.home-page .hero-tags{font-size:18px;gap:9px;margin:21px 0 24px}.home-page .hero .button{min-height:48px;font-size:14px;padding:11px 19px;gap:12px}.home-page .hero-visual{width:365px;max-width:100%;top:auto;right:auto;margin:11px auto 43px}.home-page .hero-bottom{width:calc(100% - 40px);justify-content:space-between;gap:8px;bottom:14px}.home-page .hero-footnote{font-size:10px}.home-page .motion-toggle{font-size:10px;padding:6px 10px;min-height:36px}
 .home-page .meet{height:auto;padding:27px 0 29px}.home-page .meet-copy{width:100%}.home-page .meet-copy h2{font-size:31px}.home-page .meet-copy p{font-size:17px;margin:14px 0 7px;max-width:100%}.home-page .meet-copy .button{font-size:13px}
 .home-page .explore{height:auto;padding:28px 0 31px}.home-page .explore-grid{gap:12px 13px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 111px 1fr}.home-page .feature-card{border-radius:15px;padding:18px 7px;min-height:164px}.home-page .feature-card>svg{width:55px;height:55px;padding:6px;margin-bottom:10px}.home-page .feature-card h3{font-size:20px;margin-bottom:7px}.home-page .feature-card p{font-size:12px}.home-page .feature-card>span{top:10px;right:11px;font-size:15px}.home-page .emblem-badge{max-width:192px}.home-page .emblem-floor{bottom:9%;max-width:205px}
 .home-page .categories{padding:29px 0 28px}.home-page .categories .section-head h2{font-size:31px}.home-page .categories .section-head p{max-width:none;text-align:left;font-size:12px;margin-top:12px}.home-page .category-track{gap:19px;padding:28px 8px 9px}.home-page .category-option strong,.home-page .category-option.active strong{font-size:17px;margin-top:9px}.home-page .category-image{border-width:3px}.home-page .category-controls{top:47%}.home-page .category-description{gap:13px;margin-top:4px}.home-page .category-summary p{font-size:13px;line-height:1.8;min-height:47px;max-width:320px}.home-page .category-description .button{font-size:14px;min-height:46px}.home-page .category-dots{margin-top:4px}
 .home-page .offer{height:auto}.home-page .offer-copy{padding-top:29px}.home-page .offer-copy h2{font-size:33px}.home-page .offer-copy>p{font-size:17px;margin-top:14px;margin-bottom:18px}.home-page .offer-restriction{font-size:12px}.home-page .gift-art{height:225px}.home-page .gift-art img{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 96%,transparent)}
 .home-page .faq{padding:29px 0 32px;min-height:0}.home-page .faq h2{font-size:30px;margin-bottom:21px}.home-page .faq-list{gap:10px}.home-page .faq-list summary{font-size:13px;min-height:58px;padding-inline:12px}.home-page .faq-list details>p{font-size:13px;padding:0 17px 17px 43px}.home-page .faq-list summary>span{font-size:21px}.home-page .site-footer{padding:26px 0}
}
@media(max-width:360px){
 .home-page .hero h1{font-size:42px}.home-page .hero h1>span{font-size:23px}.home-page .hero-tags{font-size:17px;gap:7px}.home-page .hero .button{padding:10px 15px;font-size:12px}.home-page .hero-visual{width:310px;margin-bottom:47px}.home-page .hero-footnote{font-size:9px}.home-page .motion-toggle{padding:6px 8px;font-size:9px}.home-page .hero-bottom{gap:6px}.home-page .feature-card h3{font-size:18px}.home-page .feature-card p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.home-page .feature-card{transform:none!important}}
.motion-paused .home-page .feature-card{transform:none!important}
/* A soft image blend avoids a hard background edge above the mobile phone. */
@media(max-width:780px){
 .home-page .hero{background:linear-gradient(#fcfeff,#e9f4ff)}
 .home-page .hero-light-field{display:block;background:url("assets/hero-premium-glass-arch.png") 64% bottom/auto 610px no-repeat;mask-image:linear-gradient(transparent 16%,#000 43%,#000);pointer-events:none}
 .home-page .hero-light-field:before,.home-page .hero-light-field:after{display:none}
}
.home-page .feature-card{box-shadow:inset 1px 1px 1px #c8edff66,inset -1px -1px 1px #83c7fb66,inset 0 0 22px #4d9de31a,0 6px 24px #00000016,0 0 10px #5cc1ff30}
/* Source-based homepage details: examples support the four approved circles. */
.home-page .meet{height:360px}
.home-page .meet-copy p{font-size:20px;line-height:1.8;max-width:575px}
.home-page .category-carousel{position:relative}
.home-page .category-controls{top:calc(50% - 31px);left:-24px;right:-24px}
.home-page .category-caption{display:block;font-size:13px;font-weight:450;color:#5a7590;line-height:1.6;white-space:normal;margin-top:9px;padding:0 2px}
.home-page .category-summary p{font-size:17px;max-width:820px;margin:0 auto}
.home-page .category-description{gap:21px}
.home-page .category-preview{width:100%;padding:24px 26px 20px;border:1px solid #daeaf6;background:linear-gradient(120deg,#f5fbffbb,#ffffff);border-radius:20px;text-align:left;box-shadow:inset 0 1px 0 #fff,0 10px 30px #28669605}
.home-page .preview-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}
.home-page .preview-head>span{font-size:16px;font-weight:650;color:#0b355e}
.home-page .preview-head>p{font-size:13px;color:#5c7790}
.home-page .home-preview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-page .home-preview-card{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #e0edf7;border-radius:12px;padding:12px 18px;min-height:112px}
.home-page .home-preview-card img{width:84px;height:84px;object-fit:contain;border-radius:9px;flex-shrink:0}
.home-page .home-preview-card h4{font-size:17px;line-height:1.55;margin:0 0 7px;font-weight:650;color:#183c61}
.home-page .home-preview-card p{font-size:12px;line-height:1.5;color:#66809a}
.home-page .home-provider-line{display:flex;align-items:center;gap:30px;margin-top:17px;min-height:48px;border-top:1px solid #e5eff7;padding-top:13px}
.home-page .home-provider-line>span{font-size:13px;color:#5d7891;white-space:nowrap}
.home-page #home-provider-logos{display:flex;align-items:center;flex-wrap:wrap;gap:28px}
.home-page #home-provider-logos img{width:100px;height:44px;object-fit:contain}
.home-page .offer-copy>p{font-size:19px;line-height:1.85;max-width:495px;margin:19px 0 21px}
.home-page .offer-restriction{font-size:14px;line-height:1.8;margin-top:12px}
.home-page .how-to{padding:44px 0 46px;background:linear-gradient(#f8fcff,#f1f8ff);border-bottom:1px solid #e9f1f9}
.home-page .how-to>.container{width:min(1320px,calc(100% - 110px))}
.home-page .how-to h2{font-size:35px;letter-spacing:-.035em}
.home-page .how-to-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.home-page .how-to-card{position:relative;display:flex;align-items:flex-start;gap:18px;border:1px solid #d2e6f6;background:#ffffffb0;border-radius:14px;padding:23px 20px;box-shadow:inset 0 1px 0 #fff;transition:border-color .2s,box-shadow .2s}
.home-page .how-to-card:hover{border-color:#83bde6;box-shadow:0 5px 22px #30709a10}
.home-page .step-number{display:grid;place-items:center;flex-shrink:0;font-size:15px;font-weight:650;width:44px;height:44px;color:#1683e6;border:1px solid #a4d6f8;border-radius:12px;background:linear-gradient(#fff,#ecf6ff);box-shadow:inset 0 1px 0 #fff}
.home-page .how-to-card h3{font-size:20px;margin:0 0 10px;font-weight:650}
.home-page .how-to-card p{font-size:14px;line-height:1.8;color:#53718f}
.home-page .step-arrow{position:absolute;right:13px;top:9px;color:#83b9da;font-size:17px}
@media(max-width:1150px) and (min-width:781px){
 .home-page .meet{height:330px}.home-page .meet-copy p{font-size:18px;max-width:460px}
 .home-page .home-preview-card{gap:12px;padding:10px 12px;min-height:105px}.home-page .home-preview-card img{width:65px;height:65px}.home-page .home-preview-card h4{font-size:14px}.home-page .home-preview-card p{font-size:11px}.home-page .home-preview-cards{gap:11px}.home-page .category-caption{font-size:11px}.home-page .category-summary p{font-size:15px}
 .home-page .offer-copy>p{font-size:17px}.home-page .offer-restriction{font-size:12px}
 .home-page .how-to>.container{width:calc(100% - 70px)}.home-page .how-to h2{font-size:30px}.home-page .how-to-grid{gap:15px}.home-page .how-to-card{gap:12px;padding:22px 15px}.home-page .how-to-card p{font-size:12px}.home-page .how-to-card h3{font-size:18px}.home-page .step-number{width:38px;height:38px;font-size:13px}
}
@media(max-width:780px){
 .home-page .meet{height:auto}.home-page .meet-copy p{font-size:16px;line-height:1.85;max-width:100%;margin:16px 0 10px}
 .home-page .category-caption{font-size:10px;line-height:1.7;margin-top:8px;min-height:34px}.home-page .category-controls{top:calc(50% - 47px);left:-8px;right:-8px}.home-page .category-summary p{font-size:13px;min-height:0;max-width:320px}.home-page .category-description{gap:17px}
 .home-page .category-preview{padding:18px 16px 14px;border-radius:15px}.home-page .preview-head{display:block;margin-bottom:14px}.home-page .preview-head>span{font-size:15px}.home-page .preview-head>p{font-size:11px;margin-top:5px}.home-page .home-preview-cards{grid-template-columns:1fr;gap:9px}.home-page .home-preview-card{padding:10px 12px;min-height:86px;gap:15px}.home-page .home-preview-card img{width:62px;height:62px}.home-page .home-preview-card h4{font-size:14px;margin-bottom:4px}.home-page .home-preview-card p{font-size:11px}.home-page .home-provider-line{display:block;padding-top:14px;margin-top:14px}.home-page .home-provider-line>span{font-size:11px}.home-page #home-provider-logos{justify-content:flex-start;gap:15px;margin-top:6px}.home-page #home-provider-logos img{width:76px;height:36px}
 .home-page .offer-copy>p{font-size:16px;margin:16px 0 19px;max-width:100%}.home-page .offer-restriction{font-size:12px;max-width:300px}
 .home-page .how-to{padding:29px 0 31px}.home-page .how-to>.container{width:calc(100% - 40px)}.home-page .how-to h2{font-size:26px;line-height:1.35}.home-page .how-to-grid{grid-template-columns:1fr;gap:12px;margin-top:21px}.home-page .how-to-card{padding:19px 17px;gap:15px}.home-page .how-to-card h3{font-size:17px;margin-bottom:7px}.home-page .how-to-card p{font-size:13px}.home-page .step-number{width:40px;height:40px;font-size:14px}
}
@media(max-width:780px){
 .home-page .hero-light-field{mask-image:linear-gradient(transparent calc(100% - 610px),#000 calc(100% - 470px),#000)}
}
