/* Allianceca: brand layer on the existing Insurance theme. */
:root{--hero-ink:#302338;--hero-navy:#492354;--hero-primary:#a32483;--hero-primary-dark:#7b225f;--hero-primary-soft:#faedf5;--hero-accent:#f6bc55;--hero-accent-dark:#e9a737;--hero-surface:#faf7fa;--hero-muted:#716376;--hero-line:#e9dfeb;--radius:18px;--radius-lg:30px;--fs-hero:clamp(2.55rem,4.6vw,4.55rem)}
.hero-topbar{background:#492354}.hero-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--hero-line)}
.hero-home-hero{background:radial-gradient(ellipse at 87% 25%,#efcae5 0,transparent 46%),linear-gradient(125deg,#fffaf5,#f8edf6 68%,#efdced);overflow:hidden;padding:clamp(3rem,7vw,6.5rem) 0}
.hero-home-hero__inner{gap:3rem;align-items:center}.hero-home-hero h1{white-space:pre-line;line-height:1.04;letter-spacing:-.055em;max-width:720px}.hero-home-hero .hero-lead{max-width:530px;line-height:1.7;color:#6b5470}.hero-eyebrow{letter-spacing:.13em;font-size:.75rem;color:#992576;font-weight:800}
.hero-btn{border-radius:999px;min-height:48px;transition:transform .2s,box-shadow .2s}.hero-btn:hover{transform:translateY(-2px)}.hero-btn--accent{background:#f6bc55;color:#402b24;box-shadow:0 6px 18px #dba23c28}.hero-btn--ghost{border:1px solid #b68cae;color:#64205c;background:transparent}
.hero-checklist{display:flex;flex-wrap:wrap;gap:.65rem 1.3rem!important;font-size:.78rem;margin-top:2rem!important}.alliance-hero-art{position:relative;min-height:420px;display:grid;place-items:center}.alliance-character{position:relative;width:100%;max-height:510px;object-fit:contain;z-index:1;filter:drop-shadow(0 22px 24px #76326116)}.alliance-orbit{position:absolute;width:93%;aspect-ratio:1;border:1px solid #bc7baa55;border-radius:50%;background:radial-gradient(circle,#fff8 40%,#fff0 70%)}.alliance-orbit:after{content:'';position:absolute;inset:30px;border:1px dashed #bc7baa55;border-radius:50%}.alliance-note{position:absolute;bottom:0;left:0;display:flex;align-items:center;gap:12px;padding:17px 22px;background:#fffffff2;border:1px solid #fff;border-radius:18px;box-shadow:0 15px 45px #5f275c15;z-index:2;transform:rotate(-3deg)}.alliance-note>span{background:#f8e8f2;color:#a32483;padding:10px;border-radius:14px}.alliance-note strong,.alliance-note small{display:block}.alliance-note small{color:var(--hero-muted);font-size:.75rem;margin-top:3px}
.hero-product-card{border:1px solid var(--hero-line);box-shadow:none;padding:28px;transition:border-color .2s,transform .2s,box-shadow .2s}.hero-product-card:hover{border-color:#b45498;transform:translateY(-4px);box-shadow:0 14px 35px #70295d0d}.hero-product-card__ico{background:#faeaf4;color:#a32483}.hero-feature{border:1px solid var(--hero-line);background:#fff;border-radius:22px;padding:28px}.hero-showcase__slide{border-radius:28px;overflow:hidden;border:1px solid var(--hero-line)}.hero-showcase__media{background:#f7edf6}.hero-showcase__media img{width:100%;object-fit:contain}.hero-section-head{margin-bottom:2.5rem}.hero-section-head h2{letter-spacing:-.035em}.hero-section--navy{background:#492354}.hero-footer{background:#351b40}.hero-footer__brand img,.hero-logo img{max-height:62px;width:auto}.hero-footer__brand img{background:#fff;border-radius:12px;padding:5px}.hero-prose{font-size:1.06rem;line-height:1.85}.hero-prose h2{margin-top:2rem}.hero-prose a{text-decoration:underline;text-underline-offset:4px}.hero-landing-hero{background:linear-gradient(125deg,#fff9f2,#f6e6f2)}.hero-landing-hero__media img{width:100%;border-radius:28px}.hero-accordion__item{border:1px solid var(--hero-line);border-radius:16px;margin-bottom:12px;background:#fff}.hero-accordion__item summary{min-height:58px}.alliance-language-pending{font-size:10px;opacity:.8;margin-left:8px}.hero-lang>span:first-child{font-weight:800;font-size:12px}
@media(min-width:901px){.hero-home-hero__inner{grid-template-columns:1.14fr 1fr}.hero-home-hero__copy{min-width:0}}@media(max-width:900px){.alliance-hero-art{min-height:300px}.alliance-character{max-height:360px}.alliance-note{left:10%;bottom:5px}.hero-home-hero__inner{gap:2rem}}@media(max-width:560px){.hero-home-hero h1{font-size:2.65rem}.alliance-hero-art{min-height:270px}.alliance-character{max-height:310px}.alliance-note{padding:12px;left:3%;font-size:.85rem}.hero-btn-row{gap:10px}.hero-btn-row .hero-btn{white-space:normal;text-align:center}.alliance-language-pending{font-size:9px}.hero-checklist{display:grid}.hero-product-card{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero-btn:hover,.hero-product-card:hover{transform:none}}
.hero-home-hero{color:var(--hero-ink)}.hero-home-hero h1{color:var(--hero-navy)}.hero-home-hero__inner{padding-top:0;padding-bottom:0}.hero-home-hero .hero-eyebrow{background:#fff8fc;border-color:#dfbbd6;color:#8f2675}.hero-home-hero .hero-checklist{color:#6d5573}.hero-home-hero .hero-checklist .hero-ico{color:#9d267e}.alliance-note{color:var(--hero-ink)}
@media(max-width:900px){.hero-home-hero__visual{order:0}}
.hero-post-card{overflow:hidden}.hero-post-card img{border-radius:16px;margin-bottom:1.25rem;width:100%}.hero-post-hero-img{border-radius:24px;width:100%;margin:1.5rem 0}
.hero-landing-hero,.hero-landing-hero h1,.hero-landing-hero h2{color:var(--hero-navy)}.hero-landing-hero .hero-lead,.hero-landing-hero .hero-landing-hero__price,.hero-landing-hero .hero-breadcrumb,.hero-section .hero-breadcrumb{color:#6b5470}.hero-landing-hero h1{font-size:clamp(2.25rem,4vw,3.75rem);line-height:1.12;letter-spacing:-.04em}.hero-landing-hero .hero-breadcrumb a,.hero-section .hero-breadcrumb a{color:#8f2675}
@media(max-width:900px){.hero-landing-hero__text{order:0}.hero-landing-hero__media{order:1!important}.hero-landing-hero__media img{max-height:270px;width:auto;margin:auto}.hero-landing-hero{padding:2.5rem 0}.hero-landing-hero__row{gap:2rem}}
@media(min-width:901px){.alliance-product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:560px){.alliance-product-grid{grid-template-columns:1fr}}

/* Quote and advice remain readable in the mobile product menu. */
.hero-drawer__card-link {display:flex!important;flex-direction:column;gap:.45rem;background:#f6eff6;border-radius:14px;padding:1rem!important;margin:.6rem 0;}
.hero-drawer__card-link span {font-size:.9rem;font-weight:400;line-height:1.5;color:#594d5f;}
.hero-drawer__card-link b {color:#a32483;}
.alliance-editorial-note {padding:1.5rem;border-radius:20px;background:#f5edf5;margin:2.5rem 0;}
.alliance-source {font-size:.85rem;color:#65576b;border-top:1px solid #e4d9e7;padding-top:1rem;}
.hero-prose table {display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;}
.hero-prose th,.hero-prose td {padding:.8rem;border:1px solid #e1d5e5;min-width:110px;}
.hero-prose th {background:#f4edf5;color:#492354;}
.hero-prose h2 {margin-top:2.2rem;scroll-margin-top:120px;}
@media(min-width:901px){
 .hero-nav__item {position:static;}
 .hero-mega--with-cards {top:calc(100% + 8px);width:min(1040px,calc(100vw - 40px));max-height:calc(100vh - 150px);overflow-y:auto;}
 .hero-mega--with-cards .hero-mega__links {flex:1 1 32%;}
 .hero-mega__cards {flex:2 1 68%;display:grid;grid-template-columns:1fr 1fr;align-self:stretch;}
 .hero-mega__card {justify-content:flex-start;padding:1.35rem;}
 .hero-mega__card .hero-btn {margin-top:auto;}
}
/* The CMS showcase now lives in the main hero. */
[data-home-hero] [hidden]{display:none!important}
.alliance-hero-controls{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;font-size:.85rem;color:#492354}
.alliance-hero-controls button{border:1px solid #d9c5dc;background:#fff8fc;color:#492354;border-radius:24px;padding:.55rem 1rem;font:inherit;cursor:pointer}
.alliance-hero-controls button:hover{background:#f0deee}
.alliance-hero-controls button:focus-visible{outline:2px solid #a32483;outline-offset:3px}
@media(max-width:900px){.alliance-hero-controls{justify-content:center;flex-wrap:wrap}}
/* Long licensed product texts retain their complete editorial structure. */
.alliance-source-review{padding:1.25rem 1.5rem;background:#fff5e4;border:1px solid #ecd5ad;border-radius:16px;margin:0 0 1.5rem;font-size:.9rem;color:#654d26}
.alliance-source-review p{margin-bottom:0}
.alliance-source-toc{padding:1rem 1.5rem;border:1px solid #e3d4e6;border-radius:16px;background:#fff;margin:1.5rem 0 2.5rem}
.alliance-source-toc summary{cursor:pointer;font-weight:700;color:#492354}
.alliance-source-toc ol{columns:2;column-gap:2rem;font-size:.9rem}
.alliance-source-toc li{break-inside:avoid;margin:.5rem 0}
.alliance-licensed-source{overflow-wrap:anywhere}
.alliance-licensed-source h2,.alliance-licensed-source h3{scroll-margin-top:110px}
.alliance-licensed-source+ .alliance-licensed-source{border-top:2px solid #dfcfe3;margin-top:3rem;padding-top:2rem}
@media(max-width:700px){.alliance-source-toc ol{columns:1}}
.alliance-licensed-source details{border:1px solid #e4d6e7;border-radius:12px;background:#fff;padding:1rem 1.2rem;margin:.65rem 0}
.alliance-licensed-source summary{font-weight:650;color:#492354;cursor:pointer;line-height:1.55}
.alliance-licensed-source details[open] summary{margin-bottom:1rem}

.hero-topbar { position: relative; z-index: 1001; }
.hero-topbar .hero-account__trigger { color: #fff; }
.hero-topbar .hero-account__item { color: var(--hero-ink); text-decoration: none; font-weight: 500; }
.hero-topbar .hero-account__item--danger { color: var(--hero-warn); }
.hero-topbar .hero-account__item:hover { color: var(--hero-primary); }

/* French flag line under the top bar (same technique as the Tempo theme .topline). */
.topline{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#002395 0 33.33%,#fff 33.33% 66.66%,#ed2939 66.66%) 1}
div.topline:empty{height:3px;border-bottom:0;border-image:none;background:linear-gradient(90deg,#002395 0 33.33%,#fff 33.33% 66.66%,#ed2939 66.66%)}

/* Compact homepage hero: it is sized by its own text (no fixed min-height).
   The slider script reserves the height of the tallest slide so the page below does not jump. */
.hero-home-hero{padding:clamp(1.25rem,3.5vw,3.25rem) 0}
.hero-home-hero__inner{gap:clamp(1rem,3vw,3rem)}
.hero-home-hero .hero-eyebrow{margin:0 0 .6rem;padding:.35rem .8rem;font-size:.7rem}
.hero-home-hero h1{font-size:clamp(1.85rem,1.1rem + 3.4vw,3.6rem);line-height:1.06;margin:0 0 .6rem}
.hero-home-hero .hero-lead{font-size:clamp(.95rem,.88rem + .35vw,1.1rem);line-height:1.55;margin:0 0 .25rem}
.hero-home-hero .hero-btn-row{margin-top:1rem;gap:.6rem}
.hero-home-hero .hero-checklist{margin-top:1rem!important;gap:.4rem 1rem!important}
.hero-home-hero .alliance-hero-art{min-height:0}
.hero-home-hero .alliance-character{max-height:clamp(170px,30vw,400px);width:auto;max-width:100%;margin:0 auto}
.hero-home-hero .alliance-hero-controls{margin-top:.75rem;gap:.5rem}
.hero-home-hero .alliance-hero-controls button{padding:.35rem .8rem;font-size:.8rem}
@media(max-width:900px){
 .hero-home-hero__visual{gap:.5rem}
 .hero-home-hero .alliance-hero-art{min-height:0}
 .hero-home-hero .alliance-character{max-height:clamp(150px,38vw,260px)}
 .hero-home-hero .hero-payment-group{display:none}
 .hero-home-hero .hero-btn{min-height:44px}
}
@media(max-width:560px){
 .hero-home-hero h1{font-size:clamp(1.65rem,7.4vw,2.1rem);letter-spacing:-.035em}
 .hero-home-hero .hero-btn-row{flex-direction:row;flex-wrap:wrap}
 .hero-home-hero .hero-btn-row .hero-btn{flex:1 1 auto;padding-left:1rem;padding-right:1rem}
 .hero-home-hero .hero-checklist li:nth-child(n+3){display:none}
 .hero-home-hero .alliance-hero-controls [data-home-pause]{display:none}
}

/* Online quotation call-to-action appended to the product pages. */
.alliance-quote-cta{margin:2.5rem 0 1rem;padding:1.5rem 1.75rem;border-radius:20px;background:#f5edf5;border:1px solid #e4d6e7}
.alliance-quote-cta h2{margin:0 0 .5rem;font-size:clamp(1.25rem,1rem + 1vw,1.6rem);color:var(--hero-navy)}
.alliance-quote-cta p{margin:0 0 .9rem}
.alliance-quote-cta p:last-child{margin-bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.hero-prose .alliance-quote-cta a:not(.hero-btn){color:var(--hero-primary);font-weight:600}
.hero-prose .alliance-quote-cta a.hero-btn,.hero-prose a.hero-btn.hero-btn--accent{color:#402b24;text-decoration:none;display:inline-flex;align-items:center;padding:.7rem 1.4rem}
.alliance-quote-prepare{margin:2rem 0 0}
.alliance-quote-prepare ul{margin:.5rem 0 1rem 1.2rem}
/* Small screens: cards, steps and footer are centred instead of pulled to the left. */
@media(max-width:560px){
 .hero-product-card{align-items:center;text-align:center}
 .hero-product-card__price,.hero-product-card__go{justify-content:center}
 .hero-feature,.hero-step{text-align:center}
 .hero-feature__ico,.hero-step__num{margin-left:auto;margin-right:auto}
 .hero-footer__grid{justify-items:center;text-align:center}
 .hero-footer__brand{display:flex;flex-direction:column;align-items:center}
 .hero-footer__about{margin-left:auto;margin-right:auto}
 .hero-footer__social{justify-content:center}
 .hero-footer__col ul{justify-items:center}
 .hero-footer__cta{flex-direction:column;justify-content:center;text-align:center;gap:1rem}
 .hero-footer__cta .hero-btn{width:100%;max-width:340px}
 .hero-footer__legal-inner{flex-direction:column;justify-content:center;text-align:center}
 .hero-footer__legal nav{justify-content:center}
}
/* Landing pages on tablets and phones: compact like the home hero, one centred column. */
@media(max-width:900px){
 .hero-landing-hero{padding:clamp(1.25rem,4.5vw,2.25rem) 0}
 .hero-landing-hero__row{flex-direction:column;align-items:stretch;gap:1rem;text-align:center}
 .hero-landing-hero__text,.hero-landing-hero__media{flex:0 0 auto;width:100%;max-width:none}
 .hero-landing-hero__media{order:1}
 .hero-landing-hero .hero-eyebrow{margin:0 0 .6rem;padding:.35rem .8rem;font-size:.7rem}
 .hero-landing-hero h1{font-size:clamp(1.65rem,1.1rem + 3vw,2.5rem);line-height:1.1;letter-spacing:-.035em;max-width:none;margin:0 0 .6rem}
 .hero-landing-hero .hero-lead{font-size:clamp(.95rem,.9rem + .3vw,1.05rem);line-height:1.55;margin:0 auto .25rem}
 .hero-landing-hero .hero-btn-row{justify-content:center;margin-top:1rem;gap:.6rem}
 .hero-landing-hero .hero-btn{min-height:44px}
 .hero-landing-hero__price{margin-top:.75rem}
 .hero-landing-hero__media img{max-height:clamp(130px,34vw,230px);width:auto;max-width:100%;margin:0 auto}
 .hero-landing-hero .hero-payment-group{display:none}
 .hero-landing-hero .hero-breadcrumb{justify-content:center}
 .hero-hero-split{text-align:center}
 .hero-hero-split .hero-btn-row{justify-content:center}
 .hero-section{padding:clamp(1.75rem,6vw,3rem) 0}
 .hero-section-head{margin-bottom:1.25rem}
 .hero-section-head h2{font-size:clamp(1.4rem,1.1rem + 1.6vw,1.85rem);line-height:1.15}
 .hero-section--navy .hero-btn-row{justify-content:center}
 .hero-prose{font-size:1rem;line-height:1.7;overflow-wrap:anywhere}
 .hero-prose img,.hero-prose iframe,.hero-prose video{max-width:100%;height:auto}
 .hero-prose h2{margin-top:1.75rem;font-size:clamp(1.3rem,1.1rem + 1vw,1.6rem)}
 .alliance-quote-cta{padding:1.25rem}
}
@media(max-width:560px){
 .hero-landing-hero .hero-btn-row .hero-btn{flex:1 1 100%;white-space:normal;text-align:center}
 .hero-landing-hero__media img{max-height:clamp(120px,42vw,190px)}
 .hero-feature,.hero-step{padding:1.25rem 1.1rem}
 .hero-accordion__item summary{padding:.9rem 1rem;min-height:0}
 .hero-accordion__body{padding:0 1rem .9rem}
 .alliance-quote-cta p:last-child{flex-direction:column;align-items:stretch;text-align:center}
 .alliance-quote-cta .hero-btn{width:100%}
}
