/*! home.css — page-specific rules
 * Requires core.css, loaded before this file.
 * A handful of rules here also appear in core.css. That repetition is
 * deliberate: this page declares a competing rule earlier in the file,
 * and the shared rule is meant to win.
 */
.fc-tiles{flex:1;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:16px;display:grid}.fc-tiles .fc-tile{aspect-ratio:auto;height:100%}@media (max-width:900px){.featured-conditions{grid-template-columns:1fr}.fc-tiles{grid-template-columns:repeat(2,1fr)}}.hero-banner{background:linear-gradient(160deg,#0e2c50 0%,var(--pine-deep) 55%,#081a32 100%);width:100%;padding:56px 0 60px;position:relative;overflow:hidden}.hero-split{z-index:2;grid-template-columns:1.08fr .92fr;align-items:center;gap:56px;display:grid;position:relative}@media (max-width:980px){.hero-split{grid-template-columns:1fr;gap:36px}}.hero-photo-frame{isolation:isolate;background:linear-gradient(135deg,#f0d9a0e6 0%,#7fc4f24d 48%,#c69961bf 100%);border-radius:29px;padding:9px;position:relative;box-shadow:0 42px 84px -24px #030a1899,0 16px 34px -16px #030a1873,0 0 0 1px #e7ce9a33}.hero-photo-frame:before{content:"";z-index:-1;pointer-events:none;filter:blur(4px);background:radial-gradient(60% 60% at 50% 42%,#f0d9a047,#0000 72%);border-radius:46px;position:absolute;inset:-30px}@media (max-width:980px){.hero-photo-frame{max-width:560px;margin:0 auto}}.frame-bracket{z-index:6;pointer-events:none;width:24px;height:24px;position:absolute}.frame-bracket-tl{border-top:2px solid #ffffffe6;border-left:2px solid #ffffffe6;border-top-left-radius:9px;top:-2px;left:-2px}.frame-bracket-br{border-bottom:2px solid #ffffffe6;border-right:2px solid #ffffffe6;border-bottom-right-radius:9px;bottom:-2px;right:-2px}.hero-photo-card{aspect-ratio:4/3.85;isolation:isolate;background:linear-gradient(165deg,#0e2c50,var(--pine-deep) 55%,#0a1e38);border-radius:21px;position:relative;overflow:hidden;box-shadow:0 2px 10px -2px #030a1859}@media (max-width:980px){.hero-photo-card{aspect-ratio:16/11;width:100%}}.hero-photo-card.img-fallback:before{content:"";z-index:1;background:radial-gradient(120% 90% at 15% 0,#7fc4f229,#0000 60%);position:absolute;inset:0}.hero-photo-card.img-fallback:after{content:"";z-index:1;background:#ffffff14 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23E4C68C' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M3 7l9-4 9 4-9 4-9-4z'/%3E%3Cpath d='M3 7v10l9 4 9-4V7'/%3E%3Cpath d='M12 11v10'/%3E%3C/svg%3E") 50%/20px 20px no-repeat;border:1px solid #e7ce9a59;border-radius:50%;width:40px;height:40px;position:absolute;top:20px;left:20px}.hero-photo-card:after{content:"";z-index:4;pointer-events:none;border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff24}.hero-banner-shine{z-index:3;pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff2e 46%,#0000 62%);animation:8s ease-in-out 1.4s infinite heroShineSweep;position:absolute;inset:0;transform:translate(-130%)}@keyframes heroShineSweep{0%,58%{transform:translate(-130%)}74%{transform:translate(130%)}to{transform:translate(130%)}}@media (prefers-reduced-motion:reduce){.hero-banner-shine{display:none}}.hero-banner-img{object-fit:cover;object-position:62% 18%;z-index:0;filter:contrast(1.1)saturate(1.22)brightness(1.03)sepia(.06);transform-origin:60% 22%;will-change:transform;width:100%;height:100%;animation:26s ease-in-out infinite alternate heroKenBurns;position:absolute;inset:0;transform:scale(1.1)}@keyframes heroKenBurns{0%{transform:scale(1.1)}to{transform:scale(1.16)}}@media (prefers-reduced-motion:reduce){.hero-banner-img{animation:none;transform:scale(1.06)}}.hero-banner-tint{z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:.32;background:radial-gradient(65% 65% at 80% 10%,#f0d9a08c 0%,#0000 62%);position:absolute;inset:0}.hero-banner-glow{z-index:1;pointer-events:none;background:radial-gradient(70% 55% at 85% -5%,#7fc4f21a,#0000 60%);position:absolute;inset:0}.hero-banner-overlay{z-index:1;pointer-events:none;background:linear-gradient(#0000 60%,#040b184d 82%,#040b18b8 100%),linear-gradient(#040b1838 0%,#0000 22%);position:absolute;inset:0}.hero-banner-grain{z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px;position:absolute;inset:0}.hero-banner-vignette{z-index:1;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 min(90px,10vw) #0207104d}.hero-photo-card .premium-ribbon{z-index:5;position:absolute;top:16px;left:auto;right:16px;box-shadow:0 10px 22px -6px #8c674299,inset 0 1px #ffffff80}.hero-photo-caption{z-index:5;color:#fff;-webkit-backdrop-filter:blur(8px);background:#06102080;border:1px solid #fff3;border-radius:999px;align-items:center;gap:5px;padding:8px 15px;font-size:13.5px;font-weight:500;display:inline-flex;position:absolute;bottom:18px;left:18px;right:auto;box-shadow:0 10px 24px -10px #00000080}.hero-photo-caption strong{font-family:var(--serif);color:var(--gold-bright);font-size:16px;font-weight:600}.hero-banner .wrap{z-index:2;position:relative}.hero-banner-content{max-width:620px}.hero-banner .hero-kicker{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border-color:#ffffff52}.hero-banner .hero-kicker:before{background:var(--gold-bright)}.hero-banner h1{color:#fff}.hero-banner .hero-sub{color:#ffffffdb;max-width:520px}.hero-banner .hero-assurance{color:#ffffffc7}.hero-banner .hero-assurance a{color:#fff}.hero-banner .btn-outline{color:#fff;border-color:#ffffff8c}.hero-banner .btn-outline:hover{color:var(--pine-deep);background:#fff;border-color:#fff}.premium-ribbon{background:linear-gradient(135deg,#d8b993,var(--gold-deep) 60%,#8c6742);color:#2a1d10;font-family:var(--serif);letter-spacing:.01em;border-radius:999px;align-items:center;gap:7px;padding:8px 14px 8px 11px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 6px 16px -4px #a47c558c,inset 0 1px #ffffff73}.premium-ribbon svg{flex:none;width:14px;height:14px}.hero-banner-content .hero-banner-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;letter-spacing:.01em;background:#ffffff14;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;margin-top:22px;padding:9px 15px;font-size:12.5px;font-weight:600;display:inline-flex;position:relative}.hero-banner-content .hero-banner-badge svg{width:15px;height:15px;color:var(--gold-bright);flex:none}@media (max-width:640px){.hero-banner{padding:36px 0 64px}.premium-ribbon{display:none}}.hero-links a{color:var(--pine-deep);border-bottom:1px solid var(--pine-pale);padding-bottom:2px;font-size:14.5px;font-weight:600}.hero-links a:hover{border-color:var(--pine-deep)}.hero-links-icons a{color:var(--pine-deep);letter-spacing:.01em;background:linear-gradient(#fff,#fbfaf6 70%);border:1px solid #c7a06b4d;border-radius:999px;align-items:center;gap:10px;padding:8px 22px 8px 8px;font-size:13.5px;transition:transform .2s cubic-bezier(.2,.8,.24,1),box-shadow .2s,border-color .2s,background .2s;display:inline-flex;box-shadow:0 1px 2px #0b23400f,0 8px 18px -10px #0b234038}.hero-links-icons a:hover{border-color:var(--gold-deep);background:linear-gradient(#fff,#fbf5e8 70%);transform:translateY(-3px);box-shadow:0 16px 30px -14px #0b234052}@media (max-width:480px){.hero-links-icons{gap:10px}.hero-links-icons a{padding:7px 16px 7px 7px;font-size:12.5px}}.back-to-top{background:var(--white);border:1px solid var(--line);width:44px;height:44px;color:var(--pine-deep);z-index:54;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,background .15s;display:flex;position:fixed;bottom:90px;left:24px;transform:translateY(8px);box-shadow:0 10px 22px #0b23402e}@media (max-width:600px){.back-to-top{width:40px;height:40px;bottom:76px;left:16px}}.step-accordion{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-soft);overflow:hidden}.step-item{border-bottom:1px solid var(--line)}.step-item:last-child{border-bottom:none}.step-q{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:16px 20px;transition:background .15s;display:flex}.step-q:hover{background:var(--paper-raised)}.step-item.open .step-q{background:var(--pine-pale)}.step-num-tag{font-family:var(--mono);letter-spacing:.04em;color:var(--pine-deep);background:var(--pine-pale);border-radius:6px;flex-shrink:0;padding:5px 9px;font-size:10.5px;font-weight:700}.step-item.open .step-num-tag{background:var(--pine-deep);color:#fff}.step-title{font-family:var(--sans);color:var(--ink);flex:1;font-size:15px;font-weight:600}.step-chevron{border:1px solid var(--line);background:var(--white);width:24px;height:24px;color:var(--ink-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,background .2s,color .2s,border-color .2s;display:flex}.step-chevron svg{width:12px;height:12px}.step-item.open .step-chevron{background:var(--pine-deep);border-color:var(--pine-deep);color:#fff;transform:rotate(180deg)}.step-a{background:var(--pine-pale);max-height:0;transition:max-height .25s;overflow:hidden}.step-item.open .step-a{max-height:220px}.step-a p{color:var(--ink-soft);margin:0;padding:0 20px 20px 82px;font-size:14px;line-height:1.6}@media (max-width:600px){.step-a p{padding-left:20px}}.section-head p a:not(.btn),.about-tab-copy p a:not(.btn),.support-grid .support-item p a:not(.btn){color:var(--pine-deep);text-decoration:underline;-webkit-text-decoration-color:var(--pine-pale);text-decoration-color:var(--pine-pale);text-underline-offset:2px;font-weight:600}.section-head p a:not(.btn):hover,.about-tab-copy p a:not(.btn):hover,.support-grid .support-item p a:not(.btn):hover{-webkit-text-decoration-color:var(--pine-deep);text-decoration-color:var(--pine-deep)}.faq-a p a{color:var(--pine-deep);text-decoration:underline;-webkit-text-decoration-color:var(--pine-pale);text-decoration-color:var(--pine-pale);text-underline-offset:2px;font-weight:600}.faq-a p a:hover{-webkit-text-decoration-color:var(--pine-deep);text-decoration-color:var(--pine-deep)}.case-card img{aspect-ratio:auto;object-fit:contain;box-sizing:border-box;background:var(--paper-raised);height:auto;padding:10px}.final-cta:after{content:"";pointer-events:none;background:radial-gradient(560px 260px at 8% 0,#e4c68c2e,#0000 65%),radial-gradient(480px 300px at 95% 100%,#7fc4f21f,#0000 65%);position:absolute;inset:0}.final-cta h2{color:#fff}.final-cta .section-tag{color:var(--gold-bright);background:#ffffff1f;border-color:#e4c68c66}.final-cta .section-tag:before{background:var(--gold-bright);box-shadow:0 0 0 3px #e4c68c40}.final-cta .btn-outline{color:#fff;border-color:#fff6}.final-cta:before{content:"";pointer-events:none;background:radial-gradient(560px 260px at 8% 0,#bf95701a,#0000 65%);position:absolute;inset:0}.final-cta-grid{grid-template-columns:1.3fr .9fr;align-items:center;gap:40px;display:grid}.final-cta h2{max-width:480px;font-size:31px}@media (max-width:900px){.final-cta-grid{grid-template-columns:1fr}}.back-to-top{color:#93a5c2;align-items:center;gap:6px;display:inline-flex}.form-field{flex-direction:column;gap:5px;min-width:0;display:flex}.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;width:100%;font-family:var(--sans);border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:13px 15px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #0b234008}.form-field textarea{resize:vertical;height:44px;min-height:44px;font-size:13px;line-height:1.3}@media (max-width:420px){.lead-form{padding:20px 18px 18px}.form-row{grid-template-columns:1fr}.form-field textarea{height:56px}}.faq-shell{grid-template-columns:252px 1fr;align-items:start;gap:28px;display:grid}.faqtabs{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:9px;padding:0;display:flex;position:sticky;top:96px}.faqtab-btn{font-family:var(--sans);text-align:left;background:var(--white);border:1px solid var(--line);cursor:pointer;color:var(--ink-soft);border-radius:12px;align-items:center;gap:10px;margin-bottom:0;padding:11px 12px;font-size:14px;font-weight:600;line-height:1.3;transition:background .28s,color .28s,box-shadow .28s,border-color .28s,transform .2s;display:flex;position:relative;box-shadow:0 1px 2px #0b23400d}@media (max-width:900px){.faq-shell{grid-template-columns:1fr}.faqtabs{border-radius:0;flex-flow:wrap;gap:8px;padding:0;position:static;overflow-x:auto}.faqtab-btn{border-radius:12px;flex-shrink:0;padding:10px 15px}.faqtab-btn .ft-ic{width:26px;height:26px}.faq-help-card{display:none}}.hero-banner:after,.stat-panel:after,.callout:after,.final-cta:after,footer:after{content:"";z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.stat-panel:after{opacity:.04}.hero-banner .hero-kicker:before{content:"";background:var(--gold-bright);border-radius:50%;width:6px;height:6px;margin-right:1px;box-shadow:0 0 0 4px #e4c68c38,0 0 10px #e4c68c99}.fc-portrait img,.fc-banner img,.fc-tile img,.tab-image img,.video-frame img,.blog-card img,.about-img img,.about-tab-img img,.hero-banner-img{filter:contrast(1.06)saturate(.96)brightness(.99)}