/* site.bundle.css — unchanged approved rules */
/* style.css */
@font-face{font-family:Lato;src:url('assets/lato-light-webfont.woff2');font-weight:300;font-display:swap}@font-face{font-family:Lato;src:url('assets/lato-regular-webfont.woff2');font-weight:400;font-display:swap}@font-face{font-family:Lato;src:url('assets/lato-bold-webfont.woff2');font-weight:700;font-display:swap}@font-face{font-family:FA;src:url('assets/fontawesome-webfont.woff2');font-display:block}
:root{--navy:#10364a;--ink:#123d52;--ice:#eaf1f3;--orange:#ef821f;--paper:#cbd9e0;--space:clamp(24px,6vw,110px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:var(--ink);font-family:Lato,Arial,sans-serif;background:var(--ice)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}input:focus,select:focus,textarea:focus{outline:3px solid #ef9c55;outline-offset:2px}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(36px,4.2vw,70px);font-weight:300;letter-spacing:-.035em;line-height:1.06;margin-bottom:24px}p{line-height:1.6}button{border:0}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;margin-bottom:22px}.fa{font-family:FA;font-style:normal}.skip{position:fixed;left:20px;top:-80px;z-index:99;background:white;padding:18px}.skip:focus{top:20px}
.floating{position:absolute;z-index:20;top:35px;left:50%;transform:translateX(-50%);width:min(82%,1390px);min-height:84px;padding:15px 22px;display:flex;align-items:center;gap:26px;background:rgba(81,85,85,.48);backdrop-filter:blur(15px);border:1px solid #ffffff16;border-radius:12px;color:white}.brand{display:block;flex:0 0 122px}.brand img,.footer-logo{display:block;width:100%;filter:grayscale(1) invert(1);mix-blend-mode:screen}.floating nav{flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px}.floating nav a,.floating nav button{font-size:15px;white-space:nowrap;background:transparent;padding:10px 0;line-height:1.2}.floating nav a:hover,.floating nav button:hover{opacity:.7}.social{display:flex;gap:17px;align-items:center;font-size:24px}.menu-toggle{display:none;background:transparent;font-size:26px}
.hero{height:100svh;min-height:630px;position:relative;isolation:isolate;overflow:hidden;background:#d6d9d7}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}.slide.active{opacity:1;visibility:visible}.slide-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,28,35,.55),transparent 80%);z-index:0}.slide.family:after{background:linear-gradient(90deg,#ffffffe0 0%,#ffffff65 25%,transparent 50%)}.hero-copy{position:absolute;z-index:1;left:8%;top:50%;transform:translateY(-42%);width:65%;color:white}.hero-copy .kicker{font-weight:400;font-size:clamp(18px,2vw,30px);margin-bottom:20px}.hero-copy .hero-title{font-size:clamp(44px,4.5vw,82px);font-weight:400;letter-spacing:-.035em;line-height:1.08;margin:0 0 25px;padding-right:25px;position:relative;display:table}.hero-copy .hero-title:after{content:'';position:absolute;right:0;top:0;bottom:0;width:12px;border:2px solid currentColor;border-left:0;border-radius:0 2px 2px 0}.hero-copy .support{font-size:clamp(16px,1.4vw,23px);font-weight:400}.family .hero-copy{width:34%;color:#063c53;left:9%}.family .hero-title{font-size:clamp(42px,4.45vw,80px)}.hero-bottom{position:absolute;z-index:3;bottom:32px;left:8%;right:8%;display:flex;justify-content:space-between;align-items:center;color:white}.hero.family-active .hero-bottom{color:var(--ink)}.explore{font-size:12px;letter-spacing:.12em;text-transform:uppercase;display:flex;gap:25px;align-items:center}.explore span{font-size:24px}
.products{padding:105px 0 80px;position:relative;border-radius:35px 35px 0 0;margin-top:-26px;z-index:4;background:var(--ice);overflow:hidden}.section-head{padding:0 var(--space);position:relative;z-index:1}.section-head>p:last-child{font-size:19px;font-weight:300}.section-lines:before{content:'';position:absolute;pointer-events:none;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='1000' viewBox='0 0 1600 1000'%3E%3Cg fill='none' stroke='%232e657e' stroke-opacity='.12'%3E%3Cpath d='M180 0V145Q180 190 225 190H640Q720 190 720 270V320M1590 400H1390Q1340 400 1340 450V870Q1340 940 1260 940H0M0 620H120Q180 620 180 680V990'/%3E%3Cpath d='M0 845L780 832M50 870L900 848M350 1000V605' stroke-opacity='.07'/%3E%3C/g%3E%3C/svg%3E");background-size:cover}.product-toolbar{position:relative;display:flex;justify-content:space-between;gap:24px;padding:18px var(--space) 30px}#product-tabs{display:flex;gap:10px;overflow:auto;padding:5px}.product-toolbar button{border:1px solid #a9bcc5;border-radius:8px;background:transparent;min-height:48px;padding:0 25px;font-size:14px;white-space:nowrap}.product-toolbar button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.arrows{display:flex;gap:10px}.arrows button{font-size:23px;width:50px;padding:0}.card-window{overflow-x:auto;scrollbar-width:none;padding:0 var(--space) 12px}.card-window::-webkit-scrollbar{display:none}#cards{display:flex;gap:22px;align-items:stretch;width:max-content}.insurance-card{position:relative;flex:0 0 auto;width:240px;height:460px;border-radius:23px;overflow:hidden;color:white;background:var(--navy);transition:width .65s cubic-bezier(.22,.8,.25,1);isolation:isolate}.insurance-card.active{width:465px}.insurance-card:before,.form-card:before{content:'';position:absolute;right:18px;top:-1px;width:42%;height:22px;background:var(--ice);border-radius:0 0 24px 24px;z-index:3}.insurance-card>img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .8s;z-index:-2}.insurance-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09253318 10%,#09253380 55%,#092533f5);z-index:-1}.card-select{position:absolute;inset:0;width:100%;background:transparent;z-index:1}.card-content{position:absolute;bottom:30px;left:30px;right:28px;pointer-events:none;z-index:2}.card-content .eyebrow{font-size:11px;margin-bottom:12px}.card-content h3{font-size:30px;line-height:1.1;font-weight:300;letter-spacing:-.025em;margin-bottom:0}.active .card-content h3{font-size:37px}.card-extra{display:none;margin-top:20px}.active .card-extra{display:block;animation:reveal .7s}.card-extra p{font-size:15px;max-width:365px;line-height:1.5}.card-actions{display:flex;flex-wrap:wrap;gap:12px;pointer-events:auto}.card-actions :is(button,a){font-size:13px;padding:13px 17px;background:white;color:var(--navy);border-radius:5px}.card-actions :is(button,a)+button{background:transparent;border:1px solid #ffffff80;color:white}.all-products{position:relative;margin:30px var(--space) 0;padding:13px 0;background:none;border-bottom:1px solid #90a7b3;font-size:15px}.all-products span{margin-left:35px}
.quote{background:var(--paper);position:relative;padding:100px var(--space);border-radius:36px 36px 0 0;overflow:hidden}.quote .section-head{text-align:center;padding:0}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-top:55px;position:relative}.illustration{min-width:0}.sketch{width:100%;aspect-ratio:1/1;background-image:none;background-size:200% 100%;background-position:left center;mix-blend-mode:multiply;transition:opacity .3s;position:relative}.sketch.house{background-position:right center}.sketch.photo{background-size:contain;background-repeat:no-repeat;background-position:center;mix-blend-mode:normal;aspect-ratio:4/3;border-radius:24px}.quote-caption{padding:0 20px}.quote-caption .eyebrow{margin-bottom:8px}.quote-caption>p:last-child{font-size:21px;font-weight:300}.form-card{position:relative;background:var(--navy);padding:48px 38px 25px;border-radius:24px;color:white}.form-card:before{background:var(--paper);width:45%}.form-card>.eyebrow{font-size:10px;color:#bad0da}.form-card h3{font-size:clamp(30px,3vw,45px);font-weight:300;letter-spacing:-.03em;margin-bottom:16px}.demo-note{font-size:12px;color:#b8ced8;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1;width:100%}label{display:block;font-size:13px;margin-bottom:16px}label small{font-size:11px;color:#b8ced8}input,select,textarea{width:100%;min-width:0;display:block;margin-top:9px;background:#f4f8fa;color:var(--navy);border:1px solid #d4e0e6;border-radius:7px;padding:13px 12px;min-height:48px;font-size:15px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#748b98;font-size:13px}#product-fields{gap:0 18px}.primary{border:0;display:inline-flex;justify-content:space-between;align-items:center;gap:20px;background:var(--orange);color:#102f3e;border-radius:7px;padding:17px 23px;font-weight:700;font-size:16px}.primary:hover{background:#f39d50}.form-foot{text-align:center;font-size:12px;margin:20px 0 0;color:#d8e3e8}.form-foot a{text-decoration:underline}#review-data{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px}dd{margin:0;overflow-wrap:anywhere}dt{color:#a8c7d7}.about{background:#f6f5f0;padding:100px var(--space);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about>div:last-child p{font-size:22px;font-weight:300}.text-link{border-bottom:1px solid;padding:15px 0;display:inline-flex;gap:60px}.proposal{display:block;margin-top:32px;color:#697f86;font-size:11px}.partners{padding:90px var(--space);text-align:center;background:#f6f5f0;border-top:1px solid #dce3e1}.partners h2{font-size:44px}#partner-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:35px;margin-top:48px}#partner-logos img{width:140px;height:55px;object-fit:contain;mix-blend-mode:multiply}footer{background:var(--navy);color:white;padding:80px var(--space) 25px;display:grid;grid-template-columns:1fr 1fr;gap:50px}footer h2{font-size:48px;margin:35px 0}footer .footer-logo{width:155px}footer>div:nth-child(2){align-self:center;justify-self:end}footer>div:nth-child(2)>a{display:block;margin:15px 0}footer p{font-size:15px;color:#bacdd7}.footer-end{grid-column:1/-1;border-top:1px solid #ffffff24;padding-top:25px;font-size:12px;color:#adc3cd}.wa-float{position:fixed;right:24px;bottom:22px;z-index:21;width:56px;height:56px}.wa-float img{width:100%;height:100%;object-fit:contain}.preview-pill{position:fixed;left:18px;bottom:16px;background:#fffef5e8;color:var(--navy);padding:8px 12px;border:1px solid #a9bbc8;border-radius:30px;z-index:22;font-size:11px;display:flex;align-items:center;gap:15px}.preview-pill button{background:none;font-size:18px}.preview-pill[hidden]{display:none}dialog{border:0;border-radius:22px;background:#eff4f5;color:var(--navy);max-width:680px;width:calc(100% - 32px);padding:48px;max-height:85svh;overflow:auto}dialog::backdrop{background:#082a40a8;backdrop-filter:blur(6px)}#close-dialog{position:absolute;top:14px;right:17px;font-size:30px;background:none}dialog h2{font-size:40px}dialog p{font-size:18px}dialog .all-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.all-list button{padding:15px;text-align:left;border:1px solid #bdcfd6;background:white;border-radius:8px}.dialog-actions{margin-top:24px}.phone-link{display:block;padding:15px 0;border-bottom:1px solid #c2d2d8}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1750px){.floating{width:74%}.insurance-card{width:290px;height:540px}.insurance-card.active{width:530px}}@media(max-width:1250px){.floating{width:94%;gap:18px;padding:14px 18px}.floating nav{gap:12px}.floating nav a,.floating nav button{font-size:13px}.brand{flex-basis:105px}.social{font-size:21px;gap:13px}.quote-layout{gap:25px}.form-card{padding:44px 28px 24px}.insurance-card{width:215px}.insurance-card.active{width:400px}}
@media(max-width:950px){.floating{top:20px;width:90%;min-height:72px}.menu-toggle{display:block;margin-left:auto}.floating nav{display:none;position:absolute;left:0;right:0;top:85px;background:#173d50f5;padding:20px;border-radius:12px;flex-direction:column;align-items:stretch}.floating nav.open{display:flex}.floating nav a,.floating nav button{text-align:left;font-size:17px;padding:10px}.social{margin-left:10px}.hero-copy{width:78%}.family .hero-copy{width:43%;left:6%}.family .hero-title{font-size:50px}.quote-layout{grid-template-columns:1fr 1.2fr;gap:20px}.form-grid{grid-template-columns:1fr;gap:0}.form-card{padding:40px 24px 24px}.about{gap:40px}.product-toolbar{gap:10px}.product-toolbar button{padding:0 17px}.arrows{display:none}}
@media(max-width:650px){:root{--space:22px}html{scroll-padding-top:25px}.floating{top:16px;width:calc(100% - 32px);padding:12px 16px;gap:12px;min-height:68px}.brand{flex-basis:100px}.social{font-size:21px;gap:14px}.hero{min-height:650px;height:100svh;max-height:950px}.hero-copy{left:7%;width:85%;top:54%}.hero-copy .hero-title{font-size:45px;line-height:1.08}.hero-copy .hero-title br{display:none}.hero-copy .kicker{font-size:19px}.hero-copy .support{font-size:18px;max-width:270px}.family .hero-copy{width:73%;left:7%;top:36%}.family .hero-title{font-size:45px}.family .slide-photo{object-position:67% center}.slide.family:after{background:linear-gradient(180deg,#ffffffa0 0%,#ffffffd9 26%,#ffffff50 53%,transparent 78%)}.slide:not(.family) .slide-photo{object-position:70% center}.hero-bottom{bottom:40px;left:7%;right:7%;flex-wrap:wrap;gap:18px}.explore{font-size:10px}.products{padding-top:70px}.section-head h2{font-size:40px}.section-head>p:last-child{font-size:17px}.product-toolbar{padding-top:12px;padding-bottom:22px}.product-toolbar button{min-height:42px;font-size:12px}.insurance-card{width:190px;height:430px}.insurance-card.active{width:calc(100vw - 66px);max-width:400px}.card-content{left:23px;right:23px;bottom:25px}.active .card-content h3{font-size:34px}.card-extra p{font-size:14px}.card-actions{gap:8px}.card-actions :is(button,a){padding:12px;font-size:12px}.quote{padding:65px 22px}.quote .section-head{text-align:left}.quote-layout{grid-template-columns:1fr;margin-top:10px;gap:15px}.illustration{display:flex;align-items:center;gap:10px}.sketch{width:58%;flex:0 0 58%;aspect-ratio:1}.quote-caption{padding:0;font-size:12px}.quote-caption .eyebrow{font-size:10px;letter-spacing:.09em}.quote-caption>p:last-child{font-size:16px}.form-card{padding:43px 24px 25px}.form-grid{grid-template-columns:1fr 1fr;gap:0 12px}.form-grid label{min-width:0}.form-grid label input{font-size:14px;padding:12px 9px}.about{padding:65px 24px;grid-template-columns:1fr;gap:10px}.about>div:last-child p{font-size:20px}.partners{padding:60px 24px}.partners h2{font-size:35px}#partner-logos{gap:20px}#partner-logos img{width:105px;height:45px}footer{grid-template-columns:1fr;padding:55px 25px 65px;gap:35px}footer>div:nth-child(2){justify-self:start}footer h2{font-size:42px}.wa-float{width:49px;height:49px;right:15px;bottom:15px}.preview-pill{font-size:10px;left:10px;bottom:10px}dialog{padding:44px 25px 28px}dialog .all-list{grid-template-columns:1fr}dialog h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-arrow{position:absolute;z-index:3;top:54%;transform:translateY(-50%);width:48px;height:58px;padding:12px 9px;display:grid;place-items:center;border-radius:15px;color:#fff;background:#163d481a;backdrop-filter:blur(4px);transition:background .2s ease,opacity .2s ease;opacity:.8}
.hero-arrow-prev{left:clamp(9px,1.6vw,32px)}.hero-arrow-next{right:clamp(9px,1.6vw,32px)}
.hero-arrow svg{width:30px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.hero-arrow:hover,.hero-arrow:focus-visible{opacity:1;background:#163d4845}.hero-arrow-prev:hover svg{transform:translateX(-3px)}.hero-arrow-next:hover svg{transform:translateX(3px)}
.light-active .hero-arrow{color:var(--navy);background:#ffffff30}.light-active .hero-arrow:hover,.light-active .hero-arrow:focus-visible{background:#ffffff85}
.hero-autoplay{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:white;background:#163d4830;backdrop-filter:blur(5px);margin-right:4px;opacity:.8}.hero-autoplay:hover,.hero-autoplay:focus-visible{opacity:1;background:#163d4870}.light-active .hero-autoplay{color:var(--navy);background:#ffffff80}
.slide.light-copy .hero-copy,.hero.light-active .hero-bottom{color:#063c53}.slide.light-copy:after{background:linear-gradient(90deg,#ffffffe0 0%,#ffffff70 38%,transparent 75%)}
.hero-autoplay span{width:10px;height:12px;border-left:2px solid currentColor;border-right:2px solid currentColor}.hero-autoplay.is-paused span{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;border-right:0;margin-left:3px}
@media(max-width:650px){.hero-arrow{top:auto;bottom:81px;transform:none;width:44px;height:44px;border-radius:13px}.hero-arrow-prev{left:18px}.hero-arrow-next{right:18px}.hero-arrow svg{width:25px}.hero-autoplay{margin-left:auto}}

#cards:after{content:'';flex:0 0 max(0px,calc(100vw - 2 * var(--space) - 465px))}.hero-bottom{bottom:45px}@media(max-width:650px){#cards:after{flex-basis:0}}

html{scroll-padding-top:25px}@media(max-width:650px){.slide.family{background:#fbfbfa}.family .slide-photo{height:70%;bottom:0;object-position:center 55%}.family .hero-copy{top:24%;width:78%}.family .hero-title{font-size:38px}.family .hero-copy .kicker{font-size:18px;margin-bottom:13px}.slide.family:after{background:linear-gradient(180deg,#fff 0%,#ffffffc9 30%,transparent 55%)}.hero.family-active .explore{background:#ffffffb8;border-radius:20px;padding:4px 12px}.hero-bottom{bottom:48px}}

/* Separate fullscreen crop trial using the four images supplied by the user. */
.slide .crop-photo{display:block;inset:0;width:100%;height:100%;overflow:hidden}
.slide.family:after{background:linear-gradient(90deg,#fffffff2 0%,#ffffffcb 25%,#ffffff55 43%,transparent 62%)}
.preview-pill a{text-decoration:underline;text-underline-offset:3px}
.hero{--hero-edge-height:clamp(24px,2.5vw,52px)}
.hero-edge{position:absolute;z-index:2;left:0;bottom:-1px;display:block;width:100%;height:var(--hero-edge-height);fill:var(--ice);pointer-events:none;transform:scaleY(var(--curve-progress,1));transform-origin:center bottom}
.hero-bottom{bottom:max(48px,calc(var(--hero-edge-height) + 16px))}
.hero+.products{margin-top:0;border-radius:0}
@media(min-width:951px){.family .hero-copy{left:7%;width:35%}.family .hero-title{font-size:clamp(42px,4.1vw,76px)}}
@media(max-width:650px){.slide .crop-photo{height:100%;bottom:0}.family .hero-copy{top:28%;width:78%}.family .hero-title{font-size:38px}.slide.family:after{background:linear-gradient(180deg,#fffffff0 0%,#ffffffe0 30%,#ffffff45 51%,transparent 65%)}}

.card-actions a{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:normal}

/* intro.css */
/* Opening identity and curved aperture. Original logo pixels are preserved. */
.brand img,.footer-logo{filter:none;mix-blend-mode:normal;height:auto}
.floating{padding-top:10px;padding-bottom:10px}
.brand{flex-basis:144px}
.intro-screen,.intro-skip{display:none}
html.intro-active .intro-screen{display:block}
html.intro-active .intro-skip{display:block}
.intro-screen{position:fixed;inset:0;z-index:100;overflow:hidden;cursor:default}
.intro-curtain{position:absolute;inset:0;width:100%;height:100%;fill:#eff2f1}
.intro-traces{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#143d50;stroke-width:.7;opacity:0;pointer-events:none}
.intro-traces path{vector-effect:non-scaling-stroke;stroke-width:1.1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.intro-playing .intro-traces path{animation:intro-draw 1.6s cubic-bezier(.2,.65,.25,1) forwards}
.intro-playing .intro-traces path:nth-child(2n){animation-delay:.12s}
.intro-playing .intro-traces{animation:intro-lines-out .35s 2.28s both}
.intro-brand{position:absolute;left:50%;top:50%;width:min(420px,calc(100vw - 80px));transform:translate(-50%,-50%);pointer-events:none}
.intro-brand>img{display:block;width:100%;height:auto;opacity:0}
.intro-playing .intro-brand{animation:intro-logo-out .24s 2.38s forwards}
.intro-playing .intro-brand>img{animation:intro-logo-in .48s .08s both}
.intro-logo-pieces{position:absolute;inset:0;pointer-events:none}
.intro-brand .intro-logo-piece{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;will-change:transform,opacity}
.intro-playing .intro-logo-piece{animation:intro-piece-wave var(--piece-duration) var(--piece-delay) both;animation-timing-function:cubic-bezier(.45,0,.55,1)}
.intro-playing .intro-brand.is-pieced>img{animation:intro-original-on 0s 2.12s forwards}
.intro-playing .intro-logo-pieces{animation:intro-pieces-off 0s 2.12s forwards}
.intro-skip{position:fixed;z-index:101;right:clamp(22px,3vw,54px);bottom:26px;padding:10px 2px;background:transparent;color:#536e76;font-size:11px;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid #aebfc2}
html.intro-playing .intro-skip{animation:intro-skip-out .2s 2.43s forwards}
html.intro-active .floating,html.intro-active .hero-copy,html.intro-active .hero-arrow,html.intro-active .hero-bottom{opacity:0}
html.intro-playing .floating{animation:intro-menu-in .68s 2.8s both}
html.intro-playing .hero-copy{animation:intro-copy-in .72s 2.78s both}
html.intro-playing .hero-arrow,html.intro-playing .hero-bottom{animation:intro-controls-in .55s 3.01s both}
html.intro-active .wa-float,html.intro-active .preview-pill{visibility:hidden}
.preview-pill .intro-replay{font-size:11px;padding:2px 0;border-bottom:1px solid #8c9da2;color:var(--ink);line-height:1.25}
.preview-pill{gap:12px}
@keyframes intro-draw{to{stroke-dashoffset:0}}
@keyframes intro-lines-out{from{opacity:.12}to{opacity:0}}
@keyframes intro-logo-in{from{opacity:0}to{opacity:1}}
@keyframes intro-piece-wave{0%{opacity:0;transform:translate3d(0,var(--piece-rise),0)}34%{opacity:1;transform:translate3d(0,var(--piece-crest),0)}72%{opacity:1;transform:translate3d(0,var(--piece-swell),0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes intro-original-on{to{opacity:1}}
@keyframes intro-pieces-off{to{visibility:hidden}}
@keyframes intro-logo-out{to{opacity:0}}
@keyframes intro-skip-out{to{opacity:0;visibility:hidden}}
@keyframes intro-menu-in{from{opacity:0;translate:0 -10px}to{opacity:1;translate:0 0}}
@keyframes intro-copy-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes intro-controls-in{from{opacity:0}to{opacity:1}}
@media(max-width:1250px){.brand{flex-basis:122px}}
@media(max-width:650px){.brand{flex-basis:112px}.intro-brand{width:min(280px,calc(100vw - 48px))}.intro-traces{width:180%;left:-40%}.preview-pill{gap:9px;font-size:9px}.preview-pill .intro-replay{font-size:10px}}
@media(prefers-reduced-motion:reduce){html.intro-active .intro-screen,html.intro-active .intro-skip{display:none}html.intro-active .floating,html.intro-active .hero-copy,html.intro-active .hero-arrow,html.intro-active .hero-bottom{opacity:1;translate:none}html.intro-active .wa-float,html.intro-active .preview-pill{visibility:visible}}

/* refinements.css */
/* Denser page rhythm, preserving the approved hero, curved edges and drawings. */
.products{padding:62px 0 45px}
.products-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:8%;margin-bottom:24px}
.products-heading h2,.quote-intro h2,.about h2{font-weight:400;font-size:clamp(36px,3.55vw,62px);line-height:1.08}
.products-heading h2{margin-bottom:0}
.products-heading .eyebrow,.quote-intro .eyebrow{margin-bottom:14px}
.products-heading>p:last-child{max-width:370px;font-size:18px;font-weight:400;line-height:1.6;margin:0 0 4px}
.product-toolbar{padding:0 var(--space) 22px;align-items:center}
#product-tabs{scrollbar-width:none}
#product-tabs::-webkit-scrollbar{display:none}
.product-toolbar button{min-height:44px;padding:0 21px}
.arrows button{padding:0;width:46px}
.products .all-products{margin-top:15px;padding:10px 0}
.quote{padding:62px var(--space);border-radius:32px 32px 0 0}
.quote-layout{margin-top:0;gap:clamp(28px,5vw,80px);align-items:start}
.quote .quote-intro{text-align:left;padding:4px 0 0}
.quote-intro h2{margin-bottom:18px}
.quote-intro>p:last-child{font-size:18px;font-weight:400;margin-bottom:10px}
.quote-art{width:100%;max-width:480px;margin:0 auto}
.quote-art .sketch{width:100%;max-width:440px;margin:0 auto}
.quote-caption{padding:0 12px}
.quote-caption>p:last-child{font-size:19px;font-weight:400;margin-bottom:0}
.form-card{padding-top:43px}
.form-card h3{font-size:clamp(28px,2.5vw,38px);font-weight:400}
.about{padding:65px var(--space);gap:8%}
.about h2{font-size:clamp(38px,3.6vw,64px);margin-bottom:0}
.about .eyebrow{margin-bottom:14px}
.about>div:last-child p{font-size:20px;line-height:1.55;font-weight:400}
.about .text-link{padding:9px 0}
.partners{padding:44px var(--space);display:grid;grid-template-columns:minmax(260px,.9fr) 2fr;gap:45px;align-items:center;text-align:left}
.partners .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.14em;margin-bottom:13px}
.partners h2{font-size:clamp(26px,2.25vw,37px);font-weight:400;margin-bottom:0;line-height:1.12}
#partner-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:23px 19px;margin:0;justify-items:center}
#partner-logos img{width:100%;max-width:112px;height:44px}
.section-lines:before{background-size:100% 100%}

/* Cards move into place, then expand. Only the receding cards receive white. */
.products{--card-narrow:240px;--card-wide:465px;--card-height:460px}
#cards{position:relative}
#cards:after{flex:0 0 max(0px,calc(100vw - 2 * var(--space) - var(--card-narrow)))}
.card-window{scroll-behavior:auto;overflow-anchor:none;overscroll-behavior-x:contain}
.card-window.settling-instantly .insurance-card,.card-window.settling-instantly .card-content h3,.card-window.settling-instantly .card-extra{transition:none!important}
.insurance-card{width:var(--card-narrow);height:var(--card-height);transition:width .65s cubic-bezier(.22,.8,.25,1)}
.insurance-card.active{width:var(--card-wide);max-width:none}
.card-content{bottom:28px}
.card-content h3{font-weight:400;font-size:29px;transition:font-size .65s cubic-bezier(.22,.8,.25,1)}
.active .card-content h3{font-size:35px}
.card-extra,.active .card-extra{display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;transform:translate(24px,18px);animation:none;visibility:hidden;transition:grid-template-rows .65s cubic-bezier(.22,.8,.25,1),margin-top .65s cubic-bezier(.22,.8,.25,1),opacity .35s,transform .65s cubic-bezier(.22,.8,.25,1),visibility 0s .65s}
.card-extra-inner{overflow:hidden;min-height:0}
.is-open .card-extra{grid-template-rows:1fr;margin-top:16px;opacity:1;transform:translate(0,0);visibility:visible;transition:grid-template-rows .65s cubic-bezier(.22,.8,.25,1),margin-top .65s cubic-bezier(.22,.8,.25,1),opacity .48s .12s,transform .65s .07s cubic-bezier(.22,.8,.25,1),visibility 0s}
.card-extra p{margin-bottom:17px}
.card-actions{pointer-events:none}
.is-open .card-actions{pointer-events:auto}
.card-retreat{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:var(--retreat-opacity,0);background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.9) 48%,rgba(255,255,255,.72));border-radius:inherit}
.card-select:focus-visible{outline-offset:-6px;z-index:5}
@media(min-width:1750px){.products{--card-narrow:290px;--card-wide:530px;--card-height:500px}}
@media(max-width:1250px){.products{--card-narrow:215px;--card-wide:400px}.product-toolbar button{padding:0 16px}.product-toolbar .arrows button{padding:0}.partners{gap:28px}#partner-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-art .sketch{max-width:390px}}
@media(max-width:950px){.products-heading{gap:28px;grid-template-columns:1.1fr 1fr}.products-heading>p:last-child{font-size:16px}.products-heading h2,.quote-intro h2{font-size:38px}.quote-layout{grid-template-columns:1fr 1.15fr;gap:25px}.quote-intro>p:last-child{font-size:16px}.partners{grid-template-columns:1fr;gap:25px}.partners-heading{max-width:500px}.partners h2 br{display:none}#partner-logos{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.about>div:last-child p{font-size:18px}}
@media(max-width:650px){
  .products{padding:40px 0 32px;--card-narrow:190px;--card-wide:calc(100vw - 66px);--card-height:440px}
  .products-heading{grid-template-columns:1fr;gap:16px;margin-bottom:20px}
  .products-heading h2,.quote-intro h2{font-size:36px}
  .products-heading .eyebrow,.quote-intro .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:12px}
  .products-heading>p:last-child{font-size:16px;line-height:1.5;max-width:330px}
  .product-toolbar{padding-bottom:17px}
  .product-toolbar button{min-height:42px;padding:0 16px}
  .card-content{left:22px;right:22px;bottom:25px}
  .card-content h3{font-size:27px}.active .card-content h3{font-size:32px}
  .card-extra p{font-size:14px;line-height:1.45}
  .quote{padding:38px 22px 40px}
  .quote-layout{grid-template-columns:1fr;gap:22px}
  .illustration{display:block}
  .quote-intro h2 br{display:none}
  .quote-art{display:flex;align-items:center;gap:12px;margin-top:10px}
  .quote-art .sketch{width:55%;flex:0 0 55%}
  .quote-caption{padding:0}.quote-caption>p:last-child{font-size:15px;line-height:1.45}
  .form-card{padding:40px 24px 25px}
  .about{padding:42px 24px;gap:20px}
  .about h2{font-size:clamp(36px,9.7vw,40px)}.about>div:last-child p{font-size:18px}
  .partners{padding:34px 24px;gap:24px}
  .partners h2{font-size:29px}
  #partner-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 15px}
  #partner-logos img{height:38px;max-width:96px}
  .preview-pill .preview-label{display:none}
}

/* motion-design.css */
/* Floating navigation remains anchored to the viewport throughout the page. */
html{scroll-padding-top:136px}
.floating{position:fixed;top:24px}

.floating nav a[href="#cotacao"]{position:relative}
.floating nav a[href="#cotacao"]:after{content:'';position:absolute;bottom:1px;left:0;right:0;height:2px;background:var(--orange);border-radius:2px}
.floating nav a:hover,.floating nav button:hover{color:#ffc087;opacity:1}
.floating nav{max-height:calc(100svh - 125px);overflow-y:auto}

/* The photographs stay clear: no white wash over the family or device image. */
.hero .slide{opacity:0;visibility:hidden;transition:none;transform:none}
.hero .slide.active,.hero .slide.leaving{opacity:1;visibility:visible}
.hero .slide.active{z-index:1}.hero .slide.leaving{z-index:0}
.hero .slide.family:after{background:linear-gradient(90deg,rgba(8,28,35,.67),rgba(8,28,35,.2) 44%,transparent 70%)}
.hero .slide.light-copy:after{background:linear-gradient(90deg,rgba(8,28,35,.48),transparent 80%)}
.hero .slide.light-copy .hero-copy{color:#fff}
.hero .hero-copy .hero-title{font-weight:700;letter-spacing:-.035em;text-shadow:none;padding-right:31px}
.hero .hero-copy .hero-title:after{border-width:4px;border-left:0;width:15px;color:var(--orange)}
.hero-copy .kicker{font-weight:400}
.hero-copy .kicker:before{content:'';display:block;width:38px;height:3px;margin-bottom:16px;background:var(--orange);border-radius:2px}
.hero .hero-copy .support{font-weight:400}
.hero-bottom .explore span{color:var(--orange);font-weight:700}
.hero .hero-bottom .explore{background:none;padding:0}
.hero .slide.family .hero-copy{width:38%;left:6.5%;color:white}
.hero.family-active .hero-bottom{color:white}
.hero .slide.family .hero-title{font-size:clamp(42px,4.1vw,76px)}

/* Orange accents repeat on actions and small editorial details. */
.product-toolbar button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:var(--navy);font-weight:700}
.arrows button:hover{background:var(--orange);border-color:var(--orange)}
.card-actions button[data-quote]{background:var(--orange);border-color:var(--orange);color:var(--navy);font-weight:700}
.products-heading .eyebrow:before,.quote-intro .eyebrow:before,.about .eyebrow:before,.partners-heading .eyebrow:before{content:'';display:inline-block;width:22px;height:2px;background:var(--orange);vertical-align:middle;margin-right:10px}
.all-products,.text-link{border-bottom-color:var(--orange)}
.all-products span,.text-link span{color:#b3540c}
.footer-end{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
#background-motion{color:#cadce4;font-size:12px;background:transparent;padding:8px 0;border-bottom:1px solid #ef821f80}
#background-motion[hidden]{display:none}
@media(max-width:950px){.floating{top:18px}.hero .slide.family .hero-copy{width:45%}.hero .slide.family .hero-title{font-size:clamp(42px,5.3vw,58px)}}
@media(max-width:650px){
  html{scroll-padding-top:108px}
  .floating,.floating.is-scrolled{top:12px}
  .floating nav{top:calc(100% + 9px)}
  .hero .slide.family .hero-copy{left:7%;width:81%;top:31%}
  .hero .slide.family:after{background:linear-gradient(180deg,rgba(8,28,35,.6),rgba(8,28,35,.5) 36%,transparent 72%)}
  .hero .slide.family .hero-title{font-size:38px}
  .hero .hero-copy .hero-title{font-size:42px;padding-right:24px}
  .hero .hero-copy .hero-title:after{width:11px;border-width:3px;border-left:0}
  .hero-copy .kicker:before{margin-bottom:11px;width:29px}
  .footer-end{gap:8px}
}
@media(prefers-reduced-motion:reduce){.floating{transition:none}}

/* cards-sequence.css */
/* The entrance can replay after returning fully above this section. */
.products{
  --card-open-duration:950ms;
  --card-close-duration:480ms;
  --card-entry-duration:1450ms;
  --card-sequence-ease:cubic-bezier(.4,0,.2,1);
}
.products.sequence-ready .products-heading,
.products.sequence-ready .product-toolbar{
  opacity:0;
  transform:translateY(-90px);
  transition:opacity 1200ms ease,transform 1450ms cubic-bezier(.22,.55,.28,1);
}
.products.sequence-ready .product-toolbar{transition-delay:70ms}
.products.sequence-ready.headings-entered .products-heading,
.products.sequence-ready.headings-entered .product-toolbar{opacity:1;transform:translateY(0)}
.products.sequence-ready .card-window{
  opacity:0;
  transform:translateY(105px);
  transition:opacity 1200ms ease,transform var(--card-entry-duration) cubic-bezier(.22,.55,.28,1);
}
.products.sequence-ready.cards-entered .card-window{opacity:1;transform:translateY(0)}
.products.entrance-instantly .products-heading,
.products.entrance-instantly .product-toolbar,
.products.entrance-instantly .card-window{transition:none!important}
.insurance-card{
  --card-copy-insets:74px;
  --card-copy-width:var(--card-narrow);
  transition:width var(--card-open-duration) var(--card-sequence-ease);
}
.insurance-card.active{--card-copy-width:var(--card-wide)}
/* The copy uses its destination width throughout each transition. The card
   surface can expand without repeatedly wrapping words or cutting line height. */
.card-content{width:calc(var(--card-copy-width) - var(--card-copy-insets))}
.card-content h3{transition:none}
.card-extra,.active .card-extra{
  display:none;grid-template-rows:none;margin-top:16px;opacity:1;
  transform:none;visibility:visible;transition:none;overflow:visible;
}
.is-open .card-extra{
  display:block;grid-template-rows:none;opacity:1;transform:none;
  visibility:visible;transition:none;
}
.card-extra-inner{overflow:visible}
.card-copy-ghost{
  right:auto;bottom:auto;z-index:3;pointer-events:none!important;
  transition:none!important;will-change:transform,opacity;
}
.card-copy-ghost *{pointer-events:none!important;transition:none!important}
.card-window[data-phase="closing"] .insurance-card{transition-duration:var(--card-close-duration)}
@media(max-width:650px){.insurance-card{--card-copy-insets:60px}}
@media(prefers-reduced-motion:reduce){
  .products.sequence-ready .products-heading,
  .products.sequence-ready .product-toolbar,
  .products.sequence-ready .card-window{opacity:1;transform:none;transition:none!important}
}

/* background-lines.css */
/* Quiet architectural drawing, always behind the section's existing content. */
.has-background-lines{position:relative;isolation:isolate}
.has-background-lines.section-lines::before{display:none}
.background-lines{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none;user-select:none;fill:none;color:#2e657e}
.background-lines path{fill:none;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.background-line-base{stroke:currentColor;stroke-opacity:.13}
.background-line-trace{stroke:currentColor;stroke-opacity:.42;stroke-dasharray:2.5 97.5;stroke-dashoffset:100;animation:background-trace-travel var(--trace-duration,16s) linear var(--trace-delay,0s) infinite;animation-direction:var(--trace-direction,normal);animation-play-state:paused}
.background-line-trace.is-accent{stroke:var(--orange,#ef821f);stroke-opacity:.38}
.background-lines .background-line-base.is-interior{stroke-opacity:.085}
.background-lines .background-line-trace.is-interior{stroke-opacity:.28}
.background-lines .background-line-trace.is-interior.is-accent{stroke-opacity:.25}
.background-lines.is-running .background-line-trace{animation-play-state:running}
.about .background-lines{mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.3) 19%,rgba(0,0,0,.3) 81%,#000)}
.partners .background-line-base{stroke-opacity:.11}
.partners .background-line-trace{stroke-opacity:.34}
@keyframes background-trace-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:650px){.background-lines{mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.15) 12%,rgba(0,0,0,.15) 88%,#000)}.about .background-lines{mask-image:linear-gradient(90deg,#000,transparent 15%,transparent 85%,#000)}}
@media(prefers-reduced-motion:reduce){.background-lines .background-line-trace{animation:none!important;display:none}}

/* contours.css */
/* Consistent surfaces and the banner's broad, symmetric curve language. */
:root{--ice:#dde7eb;--paper:#bfd0d8}
.about,.partners{background:#edf0eb}
.floating{background:rgba(81,85,85,.48);border-color:#ffffff16}
.contour-definitions{position:absolute;pointer-events:none;overflow:hidden}
.hero .hero-copy .hero-title:after{color:#fff}
.hero .hero-arrow{color:var(--orange);opacity:1;background:rgba(16,54,74,.18)}
.hero .hero-arrow:hover,.hero .hero-arrow:focus-visible{background:rgba(16,54,74,.35)}
.hero .hero-autoplay{background:var(--orange);color:var(--navy);opacity:1}
.hero .hero-autoplay:hover,.hero .hero-autoplay:focus-visible{background:#f5a05c}
.hero .slide{--banner-shade:linear-gradient(90deg,rgba(8,28,35,.5),transparent 75%)}
.hero .slide.family{--banner-shade:linear-gradient(90deg,rgba(8,28,35,.6),rgba(8,28,35,.15) 44%,transparent 70%)}
.hero .slide:after,.hero .slide.family:after,.hero .slide.light-copy:after{
  background:linear-gradient(180deg,rgba(9,37,51,0) 42%,rgba(9,37,51,.17) 72%,rgba(9,37,51,.68) 100%),var(--banner-shade);
}
.insurance-card:before,.form-card:before{display:none}
.insurance-card,.form-card{clip-path:url(#panel-contour)}
.form-card{padding-top:52px}
.quote-art{max-width:620px;width:100%}
/* Blend the animated group as well, so the sketch never flashes a white rectangle. */
.quote-art:has(.sketch:not(.photo)){mix-blend-mode:multiply}
.quote-art .sketch{max-width:none;width:100%}
.quote-caption{padding:0 8px}
.quote-caption>p:last-child{font-size:19px}
@media(max-width:950px){.quote-art{max-width:520px}}
@media(max-width:650px){
  .hero .slide.family{--banner-shade:linear-gradient(180deg,rgba(8,28,35,.6),rgba(8,28,35,.5) 36%,transparent 72%)}
  .quote-art{gap:8px}
  .quote-art .sketch{width:65%;flex:0 0 65%}
  .quote-caption{padding:0}
  .quote-caption>p:last-child{font-size:14px;line-height:1.45}
  .quote-caption .eyebrow{font-size:9px;overflow-wrap:anywhere}
  .form-card{padding-top:48px}
}

/* quote-entrance.css */
/* Content remains visible when this optional enhancement is unavailable. */
.quote.quote-entrance-enabled .quote-enter-item {
  opacity: 1;
  transform: none;
}
.quote.quote-entrance-enabled .quote-enter-item.quote-enter-pending {
  opacity: .1;
  transform: translateY(var(--quote-enter-offset, 65px));
}
.quote.quote-entrance-enabled .quote-enter-running {
  will-change: transform, opacity;
}
.quote.quote-entrance-enabled .quote-enter-item:focus-within {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .quote.quote-entrance-enabled .quote-enter-item.quote-enter-pending {
    opacity: 1;
    transform: none;
  }
}

/* layout.css */
/* Small controls keep the same quiet surface; only the glyph carries orange. */
.hero .hero-arrow,.hero .hero-autoplay{background:rgba(81,85,85,.32);color:var(--orange);opacity:1}
.hero .hero-arrow:hover,.hero .hero-arrow:focus-visible,
.hero .hero-autoplay:hover,.hero .hero-autoplay:focus-visible{background:rgba(81,85,85,.48)}

/* The broad curves move to the requested edge of each panel. */
.insurance-card{clip-path:url(#card-side-contour)}
.card-content{left:30px;right:44px}
.form-card{clip-path:url(#form-corner-contour);background:rgba(18,57,75,.22);color:var(--navy);border:1px solid #ffffff30;padding-top:46px}
.form-card .demo-note,.form-card label small,.form-card .form-foot,.form-card dt{color:#294c5c}
.form-card input,.form-card select,.form-card textarea{background:rgba(255,255,255,.8);border-color:#819da947}
.form-card input::placeholder,.form-card textarea::placeholder{color:#526e7c}

/* The form sets the shared desktop height; the drawing uses the space between the texts. */
.products{padding-bottom:24px}
.products .all-products{margin-top:8px;padding:8px 0}
.quote{padding-top:30px;padding-bottom:44px}
.quote-layout{align-items:stretch}
.illustration{contain:size;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}
.quote .quote-intro{padding-top:0}
.quote-art{container-type:inline-size;max-width:none;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;gap:0}
.quote-art .sketch{width:auto;height:min(100%,430px,100cqw);max-width:100%;max-height:none;aspect-ratio:1;min-height:0;margin:0;align-self:center;justify-self:center}
.quote-art .sketch.photo{height:min(100%,350px,75cqw);aspect-ratio:4/3}
.quote-caption{padding:0}
.quote-caption .eyebrow{margin-top:0;margin-bottom:8px}
.quote-caption>p:last-child{margin:0;font-size:18px;line-height:1.4}

@media(max-width:650px){
  .products{padding-bottom:18px}
  .card-content{left:23px;right:37px}
  .quote{padding-top:26px;padding-bottom:34px}
  .illustration{contain:none;display:block}
  .quote-art{display:flex;align-items:center;gap:10px;margin:6px 0 12px}
  .quote-art .sketch{height:auto;width:62%;flex:0 0 62%;aspect-ratio:1}
  .quote-art .sketch.photo{height:auto;aspect-ratio:4/3}
  .quote-caption>p:last-child{font-size:14px}
  .quote-layout{gap:14px}
  .form-card{padding-top:44px}
}

/* wave-layout.css */
/* A little more blue connects the full-screen photographs to the product cards. */
.hero .slide:after,.hero .slide.family:after,.hero .slide.light-copy:after{
  background:linear-gradient(180deg,rgba(9,37,51,0) 32%,rgba(9,37,51,.25) 66%,rgba(9,37,51,.8) 100%),var(--banner-shade);
}

/* Enlarged drawing becomes a background layer, behind the translucent form. */
.quote-layout{position:relative}
.illustration{position:relative;z-index:2;pointer-events:none}
.quote-intro,.quote-caption,#product-motion{pointer-events:auto}
.quote-art{display:flex;flex-direction:column;justify-content:flex-end;container-type:normal}
.quote-art:has(.sketch:not(.photo)){mix-blend-mode:normal}
.quote-caption{margin-top:12px}
.quote-backdrop{position:absolute;right:calc(50% - 220px);top:22%;bottom:4%;width:min(75%,960px);z-index:0;pointer-events:none;mix-blend-mode:multiply;perspective:3000px}
.quote-backdrop:has(.sketch.house){right:calc(50% - 190px);top:7%;bottom:3%;width:min(75%,840px)}
.quote-backdrop{mask-image:linear-gradient(90deg,#000 0%,#000 63%,rgba(0,0,0,.24) 80%,rgba(0,0,0,.1) 100%)}
.quote-backdrop:has(.sketch.house){mask-image:linear-gradient(90deg,#000 0%,#000 63%,rgba(0,0,0,.24) 80%,rgba(0,0,0,.1) 100%),linear-gradient(180deg,transparent,#000 32%,#000 94%,transparent);mask-composite:intersect}
.sketch-orbit{width:100%;height:100%;transform-origin:50% 50%}
.quote-backdrop .sketch{width:100%;height:100%;max-width:none;aspect-ratio:auto;background-size:200% auto;background-position:left center;background-repeat:no-repeat;mix-blend-mode:normal}
.quote-backdrop .sketch.house{background-position:right center}
.quote-backdrop:has(.sketch.photo){right:auto;left:6%;top:31%;bottom:12%;width:40%;mix-blend-mode:normal}
.quote-backdrop .sketch.photo{background-size:contain;background-position:center}
.form-card{z-index:1}
#product-motion{align-self:flex-start;padding:7px 11px;background:rgba(191,208,216,.88);color:var(--navy);border:1px solid #56778580;border-radius:20px;font-size:12px;letter-spacing:.02em}
#product-motion:hover,#product-motion:focus-visible{color:#9c4d0a;border-color:var(--orange)}
@media(max-width:950px) and (min-width:651px){
  .quote-backdrop{right:calc(50% - 160px);width:90%;top:30%;bottom:12%}
  .quote-backdrop:has(.sketch.house){right:calc(50% - 160px);width:85%;top:24%;bottom:10%}
}
@media(max-width:650px){
  .illustration{display:block;contain:none}
  .quote-art{display:flex;align-items:flex-start;margin:0;padding-top:260px}
  .quote-caption{margin-top:8px}
  .quote-caption>p:last-child{font-size:16px}
  .quote-backdrop,.quote-backdrop:has(.sketch.house){right:-12%;top:185px;bottom:auto;width:118%;height:325px}
  .quote-backdrop,.quote-backdrop:has(.sketch.house){mask-image:none}
  .quote-backdrop:has(.sketch.photo){left:0;right:auto;top:195px;width:100%;height:245px}
}

/* croquis-layout.css */
/* Keep the supplied family photograph intact, with a little more room for copy. */
@media(min-width:951px){.hero .slide.family .hero-copy{width:40.5%}}

/* Static, product-specific sketches. Only the product-change entrance remains. */
.quote-backdrop{perspective:none}
.sketch-figure{width:100%;height:100%}
.quote-backdrop:has(.custom-croqui){top:24%;bottom:7%;width:min(76%,890px);right:calc(50% - 175px)}
.quote-backdrop .sketch.custom-croqui{background-size:contain;background-position:64% center;border-radius:0}
.quote-caption{margin-top:0}
/* All products remain in one browsable row instead of adding section height. */
#product-tabs{min-width:0;flex:1;overscroll-behavior-x:contain}
#product-tabs button{flex:0 0 auto}
.product-toolbar .arrows{flex:0 0 auto}
.card-content .eyebrow{line-height:1.45;overflow-wrap:anywhere}
@media(max-width:950px) and (min-width:651px){
  .quote-backdrop:has(.custom-croqui){top:29%;bottom:13%;width:84%;right:calc(50% - 120px)}
}
@media(max-width:650px){
  .quote-backdrop:has(.custom-croqui){top:185px;bottom:auto;right:-5%;width:110%;height:300px;mask-image:none}
  .quote-backdrop .sketch.custom-croqui{background-position:center}
}

/* responsive-preview.css */
/* Responsive files retain the approved desktop composition. */
.hero-media,.hero-media picture{position:absolute;inset:0;display:block}
.hero-media .slide-photo{width:100%;height:100%;object-fit:cover;object-position:var(--photo-focus,50%) center}
.hero[aria-busy=true] .hero-arrow{cursor:progress}
.hero{touch-action:pan-y pinch-zoom}
.hero .slide-photo{user-select:none;-webkit-user-drag:none}
.sketch{background-image:none}
.preview-pill a{border-bottom:1px solid #8c9da2;padding:2px 0}
.hero-edge .edge-mobile{display:none}
.hero .copy-mobile{display:none}

/* Phone: approved portraits fill a true 4:5 hero without added blur.
   The shared aspect ratio keeps the page steady between the four slides. */
@media(max-width:650px){
  /* Same sampled Bezier outline in both states lets the notch travel smoothly
     with the width transition. Closed top gap = open bottom gap (15%).
     Open coordinates match #card-side-contour; corners keep their radius. */
  .products{--card-narrow:213px;--card-curve-depth:calc(var(--card-wide) * .042)}
  .insurance-card{
    clip-path:polygon(0% 0%,100% 0%,100% 15%,calc(100% - var(--card-curve-depth) * 0.019676) 15.9606%,calc(100% - var(--card-curve-depth) * 0.074074) 16.8519%,calc(100% - var(--card-curve-depth) * 0.15625) 17.6875%,calc(100% - var(--card-curve-depth) * 0.259259) 18.4815%,calc(100% - var(--card-curve-depth) * 0.376157) 19.2477%,calc(100% - var(--card-curve-depth) * 0.5) 20%,calc(100% - var(--card-curve-depth) * 0.623843) 20.7523%,calc(100% - var(--card-curve-depth) * 0.740741) 21.5185%,calc(100% - var(--card-curve-depth) * 0.84375) 22.3125%,calc(100% - var(--card-curve-depth) * 0.925926) 23.1481%,calc(100% - var(--card-curve-depth) * 0.980324) 24.0394%,calc(100% - var(--card-curve-depth) * 1) 25%,calc(100% - var(--card-curve-depth) * 1) 44.5%,calc(100% - var(--card-curve-depth) * 0.980324) 45.4508%,calc(100% - var(--card-curve-depth) * 0.925926) 46.3148%,calc(100% - var(--card-curve-depth) * 0.84375) 47.1094%,calc(100% - var(--card-curve-depth) * 0.740741) 47.8519%,calc(100% - var(--card-curve-depth) * 0.623843) 48.5596%,calc(100% - var(--card-curve-depth) * 0.5) 49.25%,calc(100% - var(--card-curve-depth) * 0.376157) 49.9404%,calc(100% - var(--card-curve-depth) * 0.259259) 50.6481%,calc(100% - var(--card-curve-depth) * 0.15625) 51.3906%,calc(100% - var(--card-curve-depth) * 0.074074) 52.1852%,calc(100% - var(--card-curve-depth) * 0.019676) 53.0492%,100% 54%,100% 100%,0% 100%);
    transition-property:width,clip-path;
    transition-duration:var(--card-open-duration);
    transition-timing-function:var(--card-sequence-ease);
  }
  .insurance-card.active{clip-path:polygon(0% 0%,100% 0%,100% 46%,calc(100% - var(--card-curve-depth) * 0.019676) 46.9508%,calc(100% - var(--card-curve-depth) * 0.074074) 47.8148%,calc(100% - var(--card-curve-depth) * 0.15625) 48.6094%,calc(100% - var(--card-curve-depth) * 0.259259) 49.3519%,calc(100% - var(--card-curve-depth) * 0.376157) 50.0596%,calc(100% - var(--card-curve-depth) * 0.5) 50.75%,calc(100% - var(--card-curve-depth) * 0.623843) 51.4404%,calc(100% - var(--card-curve-depth) * 0.740741) 52.1481%,calc(100% - var(--card-curve-depth) * 0.84375) 52.8906%,calc(100% - var(--card-curve-depth) * 0.925926) 53.6852%,calc(100% - var(--card-curve-depth) * 0.980324) 54.5492%,calc(100% - var(--card-curve-depth) * 1) 55.5%,calc(100% - var(--card-curve-depth) * 1) 75%,calc(100% - var(--card-curve-depth) * 0.980324) 75.9606%,calc(100% - var(--card-curve-depth) * 0.925926) 76.8519%,calc(100% - var(--card-curve-depth) * 0.84375) 77.6875%,calc(100% - var(--card-curve-depth) * 0.740741) 78.4815%,calc(100% - var(--card-curve-depth) * 0.623843) 79.2477%,calc(100% - var(--card-curve-depth) * 0.5) 80%,calc(100% - var(--card-curve-depth) * 0.376157) 80.7523%,calc(100% - var(--card-curve-depth) * 0.259259) 81.5185%,calc(100% - var(--card-curve-depth) * 0.15625) 82.3125%,calc(100% - var(--card-curve-depth) * 0.074074) 83.1481%,calc(100% - var(--card-curve-depth) * 0.019676) 84.0394%,100% 85%,100% 100%,0% 100%)}
  .hero{height:auto;aspect-ratio:4/5;min-height:0;max-height:none;background:var(--navy)}
  .hero .slide{background:var(--navy)}
  .hero .hero-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
  .hero .hero-media .slide-photo{object-position:center;object-fit:cover}
  .hero .slide .hero-copy,.hero .slide.family .hero-copy{left:24px;right:auto;top:clamp(104px,27vw,126px);transform:none;width:calc(100% - 48px);color:var(--navy)}
  .hero .slide.family .hero-copy{left:auto;right:24px;text-align:right}
  .hero .slide.light-copy .hero-copy,.hero .slide.travel .hero-copy{color:var(--navy);text-shadow:0 1px 8px rgba(255,255,255,.22)}
  .hero .slide.auto .hero-copy{color:#fff;text-shadow:0 2px 9px rgba(5,28,36,.8)}
  .hero .slide .hero-copy .hero-title{display:block;width:max-content;max-width:100%;font-size:clamp(25px,7.7vw,34px);line-height:1.08;font-weight:700;letter-spacing:-.025em;margin:0;padding-right:14px;text-shadow:inherit}
  .hero .slide.family .hero-copy .hero-title{margin-left:auto}
  .hero .slide .hero-copy .hero-title:after{color:currentColor}
  .hero .copy-desktop{display:none}
  .hero .copy-mobile{display:block}
  .hero .copy-line{display:block}
  .hero .copy-line:nth-child(2){font-size:.95em}
  .hero .copy-line:nth-child(3){font-size:.9em}
  .hero .slide .hero-copy .hero-title br{display:none}
  .hero .slide .hero-copy .hero-title:after{width:7px;border-width:3px;border-left:0;right:0}
  .hero .slide .hero-copy .kicker{font-size:14px;line-height:1.3;font-weight:700;letter-spacing:.005em;margin:0 0 9px;padding-top:0}
  .hero .slide .hero-copy .kicker:before{height:2px;margin-bottom:9px}
  .hero .slide.family .hero-copy .kicker:before{margin-left:auto}
  .hero .slide .hero-copy .support{display:none}
  /* Soft blue at the top, with a clear middle and the existing lower fade. */
  .hero .slide:after,.hero .slide.family:after,.hero .slide.light-copy:after{background:none}
  .hero .hero-media:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(16,54,74,.22) 0%,rgba(16,54,74,.12) 13%,rgba(16,54,74,.04) 28%,rgba(16,54,74,0) 43%,rgba(16,54,74,.04) 58%,rgba(16,54,74,.14) 70%,rgba(16,54,74,.36) 84%,rgba(16,54,74,.78) 100%)}
  .hero .hero-arrow{top:auto;bottom:82px;transform:none;width:44px;height:44px;background:rgba(81,85,85,.5);backdrop-filter:none}
  .hero .hero-arrow-prev{left:18px}.hero .hero-arrow-next{right:18px}
  .hero .hero-bottom{left:24px;right:24px;bottom:26px;flex-wrap:nowrap;gap:8px;color:white}
  .hero .explore{font-size:9px;letter-spacing:.1em;gap:12px}
  .hero .hero-autoplay{margin:0;width:36px;height:36px}
  .hero .hero-edge{height:19px}
  .hero-edge .edge-desktop{display:none}
  .hero-edge .edge-mobile{display:block}
  .floating{backdrop-filter:blur(7px)}
  .background-line-trace.is-interior{animation:none!important;display:none}
  .preview-pill .preview-label{display:none}
}
@media(max-width:360px){
  .hero .slide .hero-copy,.hero .slide.family .hero-copy{left:21px;top:98px;width:calc(100% - 42px)}
  .hero .slide.family .hero-copy{left:auto;right:21px}
  .hero .slide .hero-copy .hero-title{font-size:clamp(25px,7.7vw,28px)}
  .hero .slide .hero-copy .kicker{font-size:13px}
}

/* Supplied complete mobile artwork: retain accessible copy without duplicating it visually. */
@media(max-width:650px){
 .hero .slide.mobile-art .hero-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
 .hero .slide.mobile-art:after,.hero .slide.mobile-art .hero-media:after{display:none!important}
 .hero .slide.mobile-art .hero-media .slide-photo{width:105%!important;height:105%!important;top:0!important;left:-2.5%!important;bottom:auto!important;transform:none!important;object-fit:cover!important;object-position:center top!important}
 /* Move the baked-in edge below the viewport so only the live SVG contour is visible. */
 .hero:has(.slide.mobile-art.active) .hero-edge{visibility:visible}
}

/* Clip enlarged artwork without creating an internally scrollable hero. */
@media(max-width:650px){.hero{overflow:clip}.hero .hero-media{overflow:clip}}

/* cards-loop.css */
/* The circular carousel supplies real cards on both sides; a terminal spacer
   would create an empty gap when recycling the last item back to the first. */
.products.is-looping #cards:after{content:none}
.products.is-looping .card-window,
.products.is-looping #product-tabs{overflow-anchor:none;scroll-behavior:auto}

/* quote-mobile-layout.css */
/* On phones each illustration owns a row between the introduction and caption.
   This replaces fixed offsets that let the car overlap its product description. */
@media (max-width:650px) {
  #cotacao .quote-layout {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto auto;
    align-items:start;
    row-gap:0;
  }

  #cotacao .illustration {
    display:contents;
    contain:none;
  }

  #cotacao .quote-intro {
    grid-column:1;
    grid-row:1;
    position:relative;
    z-index:2;
    margin:0;
  }

  #cotacao .quote-intro > p:last-child {
    margin-bottom:8px;
  }

  #cotacao .quote-backdrop {
    grid-column:1;
    grid-row:2;
    position:relative;
    inset:auto;
    align-self:start;
    justify-self:center;
    width:100%;
    max-width:460px;
    height:auto;
    aspect-ratio:10 / 7;
    margin:0;
    overflow:hidden;
    mask-image:none;
    perspective:none;
  }

  /* The car and house share a two-panel sprite. Trim its empty margins through
     the viewing window while keeping the original artwork at its natural ratio. */
  #cotacao .quote-backdrop .sketch {
    width:100%;
    height:100%;
    background-size:200% auto;
    background-position:left 55%;
  }

  #cotacao .quote-backdrop:has(.sketch.house) {
    aspect-ratio:25 / 22;
  }

  #cotacao .quote-backdrop .sketch.house {
    background-position:right center;
  }

  #cotacao .quote-backdrop:has(.custom-croqui),
  #cotacao .quote-backdrop:has(.sketch.photo) {
    height:clamp(235px,72vw,310px);
    aspect-ratio:auto;
  }

  #cotacao .quote-backdrop .sketch.custom-croqui,
  #cotacao .quote-backdrop .sketch.photo {
    background-size:contain;
    background-position:center;
  }

  #cotacao .quote-art {
    grid-column:1;
    grid-row:3;
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    max-width:none;
    margin:6px 0 18px;
    padding:0;
    min-height:0;
  }

  #cotacao .quote-caption {
    margin:0;
    padding:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  #cotacao .quote-caption .eyebrow {
    line-height:1.5;
    margin:0 0 7px;
  }

  #cotacao .quote-caption > p:last-child {
    margin:0;
    font-size:16px;
    line-height:1.4;
  }

  #cotacao .form-card {
    grid-column:1;
    grid-row:4;
    min-width:0;
  }
  #cotacao .quote-backdrop:has(.normalized-croqui) {
    height:auto;
    aspect-ratio:4 / 3;
  }
  .hero .slide.family .hero-copy .hero-title {
    font-size:clamp(28px,8.6vw,38px);
    font-weight:750;
    line-height:1.08;
  }
}

/* footer-full.css */
footer.full-footer{display:block;padding:0;background:#103b50;color:#e5eef1}
.full-footer .footer-contact-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px;padding:32px max(5vw,24px);background:#d6e4e9;color:#123b50}
.full-footer .footer-contact-strip>div{border-left:2px solid #dd8745;padding-left:22px}
.full-footer a{display:block;overflow-wrap:anywhere;text-decoration:none}
.full-footer .eyebrow{display:block;font-size:12px;margin-bottom:12px}
.full-footer .footer-contact-strip a,.full-footer .footer-contact-strip p{font-size:17px;line-height:1.65;margin:0}
.full-footer .footer-main{display:grid;grid-template-columns:1.1fr .85fr 1.3fr;gap:4vw;padding:48px max(5vw,24px) 38px}
.full-footer .footer-logo{width:190px;height:auto;margin:0 0 22px}
.full-footer h2{font-size:30px;line-height:1.18;margin:0 0 20px;color:white}
.full-footer h3{font-size:20px;margin:0 0 22px;color:white;font-weight:500}
.full-footer p{font-size:15px;line-height:1.8;color:inherit;margin:0 0 18px}
.full-footer .footer-address a{font-size:14px;margin-bottom:18px}
.full-footer .footer-cta{border-bottom:1px solid #dd8745;padding:12px 0;color:white}
.full-footer .footer-social{display:flex;gap:22px;font-size:26px;margin-top:22px}
.full-footer .footer-location iframe{width:100%;height:280px;border:0;border-radius:18px;display:block;background:#d6e4e9}
.full-footer .footer-location>a{font-size:13px;margin-top:15px;color:#fff}
.full-footer .footer-end{display:flex;justify-content:space-between;gap:18px;margin:0 max(5vw,24px);padding:23px 0 30px;border-top:1px solid #ffffff25;font-size:12px}
@media(max-width:900px){.full-footer .footer-main{grid-template-columns:1fr 1fr}.full-footer .footer-location{grid-column:1/-1}.full-footer .footer-contact-strip{gap:20px}}
@media(max-width:650px){.full-footer .footer-contact-strip,.full-footer .footer-main{grid-template-columns:1fr;gap:28px}.full-footer .footer-main{padding-top:32px}.full-footer .footer-location{grid-column:auto}.full-footer .footer-end{flex-direction:column;padding-bottom:76px}.full-footer h2{font-size:29px}.full-footer .footer-location iframe{height:250px}}

/* quote-refinement.css */
@media(min-width:651px){
  #cotacao .quote-backdrop:has(.normalized-croqui){left:0;right:auto;top:var(--drawing-top,300px);bottom:auto;width:100%;height:var(--drawing-height,250px);overflow:hidden;mask-image:none}
  #cotacao .quote-backdrop .sketch-figure{width:100%;height:100%;position:relative}
  #cotacao .quote-backdrop .normalized-croqui{width:72%;height:100%;margin-left:0;background-position:center;background-size:contain;z-index:1}
  #cotacao .quote-backdrop:after{content:none}
  #cotacao .illustration{min-height:0;contain:size;grid-template-rows:auto minmax(0,1fr)}
  #cotacao .quote-caption{position:relative;background:var(--paper);padding-top:12px}
  .full-footer .footer-contact-strip{grid-template-columns:260px 340px 260px;justify-content:center;gap:26px;padding:24px max(4vw,24px)}
}
@media(min-width:651px) and (max-width:1050px){.full-footer .footer-contact-strip{grid-template-columns:1fr 1.2fr 1fr;gap:16px}.full-footer .footer-contact-strip a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.sketch{animation:none!important}}
/* Desktop quotation height follows its fields rather than an 800px drawing. */
@media(min-width:651px){
 #cotacao{padding-top:24px;padding-bottom:28px}
 #cotacao .quote-layout{margin-top:0;align-items:stretch}
 #cotacao .form-card{min-height:0;height:auto;padding:38px 32px 20px}
 #cotacao .form-card h3{font-size:clamp(28px,2.5vw,38px);margin-bottom:10px}
 #cotacao .demo-note{margin-bottom:14px}
 #cotacao .form-grid{row-gap:6px}
 #cotacao label{margin-bottom:10px}
 #cotacao input,#cotacao select{min-height:42px;padding:10px 12px;margin-top:6px}
 #cotacao .primary{padding:13px 20px}
 #cotacao .form-foot{margin-top:12px}
 #cotacao .quote-intro .eyebrow{margin-bottom:12px}
 #cotacao .quote-intro h2{font-size:clamp(34px,3.2vw,48px);margin-bottom:14px}
 #cotacao .quote-intro>p:last-child{font-size:17px;margin-bottom:0}
 #cotacao .quote-caption .eyebrow{margin-bottom:5px}
 #cotacao .quote-caption>p:last-child{font-size:16px}
}
.full-footer .footer-contact-strip.legacy-contact{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;padding:34px max(6vw,calc((100vw - 1440px)/2)) 58px;background:#d9e8f0;color:#293746}
.full-footer .legacy-contact>div{position:relative;border:0;padding:0 0 0 118px;min-width:0}
.full-footer .legacy-contact .contact-icon{position:absolute;left:0;top:0;width:94px;height:51px;background:#073b5b;color:white;display:grid;place-items:center;font-size:25px;clip-path:polygon(0 0,100% 0,74% 100%,0 100%);padding-right:13px}
.full-footer .legacy-contact .eyebrow{font-size:18px;font-weight:300;letter-spacing:0;white-space:nowrap;margin:0 0 12px}
.full-footer .legacy-contact a,.full-footer .legacy-contact p{font-size:23px;line-height:1.75;font-weight:500;white-space:nowrap;margin:0}
.full-footer .legacy-contact a .fa{font-size:16px;margin-left:-31px;margin-right:12px;color:#073b5b}
.full-footer .legacy-contact .contact-email{font-size:17px;margin:47px 0 0 -118px}
@media(max-width:1200px){.full-footer .footer-contact-strip.legacy-contact{gap:28px;padding-left:5vw;padding-right:5vw}.full-footer .legacy-contact>div{padding-left:78px}.full-footer .legacy-contact .contact-icon{width:64px;height:43px}.full-footer .legacy-contact .eyebrow{font-size:13px}.full-footer .legacy-contact a,.full-footer .legacy-contact p{font-size:18px}.full-footer .legacy-contact .contact-email{font-size:13px;margin-left:-78px}}
@media(max-width:750px){.full-footer .footer-contact-strip.legacy-contact{grid-template-columns:1fr;gap:28px;padding:30px 24px}.full-footer .legacy-contact .contact-email{margin:0;font-size:13px;white-space:normal}.full-footer .legacy-contact .eyebrow{font-size:14px}}

.products{--card-curve-depth:calc(var(--card-wide) * .042)}
.insurance-card{clip-path:polygon(0% 0%,100% 0%,100% 15%,calc(100% - var(--card-curve-depth) * 0.019676) 15.9606%,calc(100% - var(--card-curve-depth) * 0.074074) 16.8519%,calc(100% - var(--card-curve-depth) * 0.15625) 17.6875%,calc(100% - var(--card-curve-depth) * 0.259259) 18.4815%,calc(100% - var(--card-curve-depth) * 0.376157) 19.2477%,calc(100% - var(--card-curve-depth) * 0.5) 20%,calc(100% - var(--card-curve-depth) * 0.623843) 20.7523%,calc(100% - var(--card-curve-depth) * 0.740741) 21.5185%,calc(100% - var(--card-curve-depth) * 0.84375) 22.3125%,calc(100% - var(--card-curve-depth) * 0.925926) 23.1481%,calc(100% - var(--card-curve-depth) * 0.980324) 24.0394%,calc(100% - var(--card-curve-depth) * 1) 25%,calc(100% - var(--card-curve-depth) * 1) 44.5%,calc(100% - var(--card-curve-depth) * 0.980324) 45.4508%,calc(100% - var(--card-curve-depth) * 0.925926) 46.3148%,calc(100% - var(--card-curve-depth) * 0.84375) 47.1094%,calc(100% - var(--card-curve-depth) * 0.740741) 47.8519%,calc(100% - var(--card-curve-depth) * 0.623843) 48.5596%,calc(100% - var(--card-curve-depth) * 0.5) 49.25%,calc(100% - var(--card-curve-depth) * 0.376157) 49.9404%,calc(100% - var(--card-curve-depth) * 0.259259) 50.6481%,calc(100% - var(--card-curve-depth) * 0.15625) 51.3906%,calc(100% - var(--card-curve-depth) * 0.074074) 52.1852%,calc(100% - var(--card-curve-depth) * 0.019676) 53.0492%,100% 54%,100% 100%,0% 100%)}
.insurance-card.active{clip-path:polygon(0% 0%,100% 0%,100% 46%,calc(100% - var(--card-curve-depth) * 0.019676) 46.9508%,calc(100% - var(--card-curve-depth) * 0.074074) 47.8148%,calc(100% - var(--card-curve-depth) * 0.15625) 48.6094%,calc(100% - var(--card-curve-depth) * 0.259259) 49.3519%,calc(100% - var(--card-curve-depth) * 0.376157) 50.0596%,calc(100% - var(--card-curve-depth) * 0.5) 50.75%,calc(100% - var(--card-curve-depth) * 0.623843) 51.4404%,calc(100% - var(--card-curve-depth) * 0.740741) 52.1481%,calc(100% - var(--card-curve-depth) * 0.84375) 52.8906%,calc(100% - var(--card-curve-depth) * 0.925926) 53.6852%,calc(100% - var(--card-curve-depth) * 0.980324) 54.5492%,calc(100% - var(--card-curve-depth) * 1) 55.5%,calc(100% - var(--card-curve-depth) * 1) 75%,calc(100% - var(--card-curve-depth) * 0.980324) 75.9606%,calc(100% - var(--card-curve-depth) * 0.925926) 76.8519%,calc(100% - var(--card-curve-depth) * 0.84375) 77.6875%,calc(100% - var(--card-curve-depth) * 0.740741) 78.4815%,calc(100% - var(--card-curve-depth) * 0.623843) 79.2477%,calc(100% - var(--card-curve-depth) * 0.5) 80%,calc(100% - var(--card-curve-depth) * 0.376157) 80.7523%,calc(100% - var(--card-curve-depth) * 0.259259) 81.5185%,calc(100% - var(--card-curve-depth) * 0.15625) 82.3125%,calc(100% - var(--card-curve-depth) * 0.074074) 83.1481%,calc(100% - var(--card-curve-depth) * 0.019676) 84.0394%,100% 85%,100% 100%,0% 100%)}
.hero .slide.light-copy .slide-photo{object-position:var(--photo-focus,50%) 35%}

.hero .slide.light-copy .slide-photo{transform:translateY(10px) scale(1.06);transform-origin:center}
.insurance-card{transition-property:width,clip-path;transition-duration:var(--card-open-duration);transition-timing-function:var(--card-sequence-ease)}
/* Compact contact rows and keyboard-inspired review action. */
#cotacao .compact-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px}
#cotacao .compact-fields label{min-width:0}
#cotacao .quote-message-row{display:grid;grid-template-columns:minmax(0,1fr) 138px;align-items:end;gap:16px}
#cotacao .quote-message-row label{margin:0;min-width:0}
#cotacao textarea{width:100%;min-height:78px;height:78px;resize:vertical;margin-top:6px;padding:10px 12px}
#cotacao .review-enter{height:78px;min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:12px;box-shadow:0 4px 0 #af590f,inset 0 1px 0 #ffffff55;font-size:14px;line-height:1.25}
#cotacao .review-enter>span:first-child{font-size:30px}
#cotacao .review-enter:active{transform:translateY(2px);box-shadow:0 2px 0 #af590f}
@media(min-width:651px){#cotacao .form-card{padding-top:30px;padding-bottom:18px}#cotacao .quote-backdrop .normalized-croqui{width:78%;transform:scale(1.1);transform-origin:42% center}#cotacao .quote-intro h2{font-size:clamp(30px,2.8vw,42px);line-height:1.05;margin-bottom:10px}#cotacao .quote-intro .eyebrow{margin-bottom:8px}#cotacao .quote-caption{padding-top:6px}}
@media(max-width:650px){#cotacao .compact-fields{grid-template-columns:1fr}#cotacao .quote-message-row{grid-template-columns:minmax(0,1fr) 115px;gap:10px}#cotacao .review-enter{font-size:12px;padding:8px}#cotacao .quote-backdrop .normalized-croqui{background-size:contain}}
/* Allocate more space to longer product names and email addresses. */
#cotacao .compact-fields{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
#cotacao .quote-message-row{grid-template-columns:minmax(0,1fr) 88px;gap:12px}
#cotacao .review-enter{flex-direction:column;gap:2px;padding:6px;font-size:12px}
#cotacao .review-enter>span:first-child{font-size:25px;line-height:1}
@media(min-width:651px){#cotacao .quote-backdrop .normalized-croqui{width:85%;transform:scale(1.32);transform-origin:38% center}}
@media(max-width:650px){#cotacao .compact-fields{grid-template-columns:1fr}#cotacao .quote-message-row{grid-template-columns:minmax(0,1fr) 80px}}
@media(min-width:651px){#cotacao .quote-backdrop .normalized-croqui{width:78%;transform:translateX(-5%) scale(1.2);transform-origin:38% center}#cotacao .quote-backdrop{clip-path:inset(0)}}
/* Desktop trial: inset panel, illustration + compact form, free right column. */
@media(min-width:1050px){
 #cotacao{margin:18px 24px 24px;padding:30px 32px 48px;border-radius:30px;clip-path:url(#quote-floating-edge)}
 #cotacao .quote-layout{grid-template-columns:minmax(300px,34%) minmax(460px,510px);gap:18px;min-height:450px;justify-content:start;align-items:stretch}
 #cotacao .form-card{align-self:center;padding:30px 24px 18px;width:100%}
 #cotacao .compact-fields{grid-template-columns:minmax(0,.74fr) minmax(0,1.18fr);column-gap:12px}
 #cotacao .compact-fields input,#cotacao .compact-fields select{font-size:14px;padding-left:10px;padding-right:8px}
 #cotacao .quote-intro h2{font-size:38px}
 #cotacao .quote-backdrop:has(.normalized-croqui){width:34%;left:0}
 #cotacao .quote-backdrop .normalized-croqui{width:100%;height:100%;margin:0;transform:none;background-position:center;background-size:contain}
 #cotacao .quote-caption{background:transparent}
}
@media(min-width:1600px){#cotacao .quote-layout{grid-template-columns:32% 510px;min-height:475px}#cotacao .quote-backdrop:has(.normalized-croqui){width:32%}}
@media(min-width:651px){
 .hero .slide.light-copy .slide-photo{object-position:var(--photo-focus,50%) 0%;transform:translateY(52px) scale(1.015);transform-origin:center bottom}
 .products{--card-height:350px;padding-top:28px;padding-bottom:16px}
 .products .section-head{padding-bottom:18px}
 .products .section-head h2{font-size:clamp(32px,3vw,44px);margin-bottom:12px}
 .products .section-head>p:last-child{margin-bottom:14px;font-size:18px}
 .products .product-toolbar{padding-bottom:14px}
 .products .card-content{bottom:22px;left:24px;right:32px}
 .products .card-content h3{font-size:29px;line-height:1.08}
 .products .card-extra p{font-size:14px;line-height:1.4;margin-bottom:12px}
 .products .card-actions :is(button,a){font-size:12px;padding:11px}
}
@media(max-width:650px){.hero .slide.light-copy .slide-photo{object-position:center top;transform:translateY(26px) scale(1.01);transform-origin:center bottom}}
@media(min-width:1050px){
 .products{--card-height:320px;padding-top:18px;padding-bottom:12px}
 .products .section-head{margin-bottom:12px;padding-bottom:0}
 .products .section-head .eyebrow{margin-bottom:8px}
 .products .section-head h2{font-size:36px;line-height:1.05;margin-bottom:8px}
 .products .section-head>p:last-child{font-size:16px;margin-bottom:0}
 .products .product-toolbar button{min-height:38px}
 .products .product-toolbar{padding-bottom:10px}
 .products .all-products{margin-top:2px;padding-top:4px;padding-bottom:4px}
}
/* Space before the insurance section; keep photo scale fixed during expansion. */
@media(min-width:1050px){.products{margin-top:40px;scroll-margin-top:24px}}
.insurance-card>img,.insurance-card.active>img{width:var(--card-wide);max-width:none;left:50%;height:100%;transform:translateX(-50%);transition:none;object-fit:cover}
@media(min-width:1050px){.products{padding-top:70px;scroll-margin-top:130px}}
/* Larger desktop heading and a slightly tighter quote composition. */
#cotacao .quote-backdrop:has(.normalized-croqui){overflow:visible;clip-path:none;mask-image:none}
@media(min-width:1050px){
 .products .section-head h2{font-size:46.8px;white-space:nowrap}
 .products .section-head h2 br{display:none}
 #cotacao .form-card{position:relative;left:-12px}
}
@media(max-width:1049px){
 #cotacao .quote-backdrop .normalized-croqui{scale:1.2;translate:-8px 0}
}

/* block-snap.css */
/* Light wheel gestures remain entirely native; strong gestures are handled in JS. */
html.block-snap-preview{scroll-snap-type:none}

/* zelo-illustrations.css */
#cotacao .quote-backdrop:has(.zelo-art){mask-image:none;clip-path:none;overflow:visible}
#cotacao .quote-backdrop .zelo-art{position:absolute;inset:0;width:100%;height:100%;margin:0;transform:none;scale:1;translate:none;background:none!important;mask-image:none!important;animation:none;display:grid;place-items:center}
#cotacao .zelo-scene{display:block;width:100%;height:100%;object-fit:contain;overflow:visible}
#cotacao .zelo-art[aria-busy=true]:after{content:'';width:30px;height:3px;border-radius:3px;background:#f58220;opacity:.5}
@media(min-width:651px){#cotacao .quote-backdrop:has(.zelo-art){top:var(--drawing-top,180px);height:var(--drawing-height,270px);bottom:auto}}
@media(max-width:650px){#cotacao .quote-backdrop:has(.zelo-art){width:100%;left:0;right:auto;height:auto;aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){#cotacao .zelo-scene{animation:none!important;transition:none!important}}
#cotacao .quote-backdrop .zelo-art > .zelo-scene{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:100%;min-height:0;object-fit:contain}
/* Fit to the visible artwork, not its transparent canvas. */
#cotacao .zelo-art{isolation:isolate;mix-blend-mode:normal}
#cotacao .zelo-trail{position:absolute;left:10%;right:10%;bottom:2%;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#f58220 30%,#70b7cd 70%,transparent);transform-origin:left;z-index:-1}
@media(min-width:1050px){#cotacao .quote-layout:has(.zelo-art){min-height:520px}}
@media(max-width:650px){#cotacao .quote-backdrop:has(.zelo-art){margin-top:10px;margin-bottom:8px}}

@media(min-width:651px){#cotacao .quote-backdrop:has(.zelo-art){width:var(--drawing-width,45%)}#cotacao .quote-layout:has(.zelo-art){min-height:520px}}
/* Balance the illustration and form as one centered desktop composition. */
@media(min-width:1050px){
 #cotacao .quote-layout{width:100%;max-width:1120px;margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,510px);column-gap:40px;justify-content:center}
 #cotacao .form-card{left:0}
 #cotacao .quote-backdrop:has(.zelo-art){left:0;right:auto}
}


@media(min-width:1050px){#cotacao .quote-layout:has(.zelo-art){min-height:544px}}

/* partners-wall.css */
.partners.partner-wall{display:block;padding:80px 5vw 100px;background:#f5f7f4;text-align:center;overflow:hidden;position:relative}
.partners.partner-wall>.eyebrow{margin:0 auto 22px}
.partners.partner-wall h2{font-size:clamp(36px,4.5vw,68px);line-height:1.06;letter-spacing:-.045em;font-weight:400;max-width:1000px;margin:0 auto 64px;text-wrap:balance}
.partners.partner-wall #partner-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;max-width:1320px;margin:0 auto;position:relative;border-top:1px solid #133b4920;border-left:1px solid #133b4920}
.partner-cell{position:relative;min-width:0;aspect-ratio:1.25;display:grid;place-items:center;border-right:1px solid #133b4920;border-bottom:1px solid #133b4920;outline:none;isolation:isolate;background:transparent}
.partner-cell:before{content:'';position:absolute;inset:-1px;z-index:-2;background:radial-gradient(190px circle at var(--mx,50%) var(--my,50%),#f58220bb,transparent 75%);opacity:0;transition:opacity .45s;pointer-events:none}
.partner-cell:after{content:'';position:absolute;inset:1px;background:#f5f7f4;z-index:-1;pointer-events:none}
.partner-wall #partner-logos img{width:76%;max-width:150px;height:64px;max-height:42%;object-fit:contain;margin:0;filter:grayscale(1);opacity:.85;transform:none;transition:filter .45s,opacity .45s;position:relative;z-index:2}
.partner-cell:hover:after,.partner-cell:focus-visible:after{background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),#fff0df,#f5f7f4 85%)}
#partner-logos.has-pointer .partner-cell:before,.partner-cell:focus-visible:before{opacity:1}
.partner-cell:focus-visible{outline:2px solid #f58220;outline-offset:-3px}
.partner-wall #partner-logos .partner-cell:hover img,.partner-wall #partner-logos .partner-cell:focus-visible img{filter:grayscale(0);opacity:1}
.partner-cross{position:absolute;width:7px;height:7px;pointer-events:none;z-index:3;opacity:.2;animation:partner-cross-pulse 5s var(--pulse-delay) infinite;animation-play-state:paused}
.partner-cross:before,.partner-cross:after{content:'';background:#385965;position:absolute;top:3px;left:0;width:7px;height:1px}.partner-cross:after{transform:rotate(90deg)}
.partner-cross.tl{left:-4px;top:-4px}.partner-cross.tr{right:-4px;top:-4px}.partner-cross.bl{left:-4px;bottom:-4px}.partner-cross.br{right:-4px;bottom:-4px}
.partners-visible:not(.partners-paused) .partner-cross{animation-play-state:running}
.partner-cell:nth-child(n+7):after{box-shadow:0 60px 0 -59px #133b491a}
@keyframes partner-cross-pulse{0%,70%,100%{opacity:.12;transform:scale(.5)}75%,85%{opacity:.7;transform:scale(1)}80%{opacity:.2}}
@keyframes partner-logo-in{from{opacity:0;transform:translateY(24px)}to{opacity:.85;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.partner-wall:not(.partners-revealed) #partner-logos img{opacity:0;transform:translateY(24px)}.partner-wall.partners-revealed #partner-logos img{animation:partner-logo-in .8s var(--delay) backwards cubic-bezier(.2,.7,.2,1)}}
@media(max-width:900px){.partners.partner-wall #partner-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.partners.partner-wall h2{margin-bottom:44px}.partners.partner-wall{padding:60px 5vw 70px}}
@media(max-width:550px){.partners.partner-wall #partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-wall #partner-logos img{max-width:130px}.partners.partner-wall h2{font-size:36px}.partner-cell{aspect-ratio:1.35}}
@media(prefers-reduced-motion:reduce){.partner-cross{animation:none}.partner-wall #partner-logos img{animation:none;transition:none}}


.partners.partner-wall #partner-logos{justify-items:stretch;align-items:stretch}.partner-cell{width:100%}


/* group-life-card.css */
/* Keep the whole team visible in both widths instead of cropping a wide canvas. */
.insurance-card[data-card="extra-13"]>img,
.insurance-card[data-card="extra-13"].active>img{width:100%;max-width:none;left:0;transform:none;object-position:center 12%}
@media(max-width:650px){.insurance-card[data-card="extra-13"]>img{height:auto;min-height:0;object-position:center top}}
.insurance-card[data-card="extra-13"].active>img{object-position:center 25%}
@media(max-width:650px){.insurance-card[data-card="extra-13"]>img{mask-image:linear-gradient(#000 0%,#000 72%,transparent 100%)}}

/* portable-equipment-card.css */
/* Keep the equipment above the copy while preserving the shared card expansion. */
.insurance-card[data-card="portateis"] > img,
.insurance-card[data-card="portateis"].active > img {
  object-position: center top;
}

@media (min-width: 651px) {
  .insurance-card[data-card="portateis"] {
    --card-copy-insets: 48px;
  }

  .insurance-card[data-card="portateis"] .card-content {
    right: 24px;
    bottom: 16px;
  }

  .insurance-card[data-card="portateis"] .card-content .eyebrow {
    margin-bottom: 6px;
  }

  .insurance-card[data-card="portateis"] .card-extra {
    margin-top: 8px;
  }

  .insurance-card[data-card="portateis"] .card-extra p {
    max-width: none;
    margin-bottom: 8px;
    font-size: 13px;
  }

  .insurance-card[data-card="portateis"] .card-actions :is(button,a) {
    padding: 9px 11px;
  }
}

@media (min-width: 1050px) {
  .insurance-card[data-card="portateis"] > img {
    transform: translate(-50%, -12px);
  }
}

@media (min-width: 651px) and (max-width: 1250px) {
  .insurance-card[data-card="portateis"]:not(.active) .card-content h3 {
    font-size: 26px;
  }
}

@media (max-width: 1049px) {
  .insurance-card[data-card="portateis"] > img {
    height: auto;
    min-height: 0;
    mask-image: linear-gradient(#000 0%, #000 72%, transparent 100%);
  }
}

/* rental-product-cards.css */
/* Preserve faces and the key handover above the rental cards' copy. */
.insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) > img {
  object-position: center top;
}

@media (min-width: 651px) {
  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) {
    --card-copy-insets: 48px;
  }

  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) .card-content {
    right: 24px;
    bottom: 16px;
  }

  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) .card-content .eyebrow {
    margin-bottom: 6px;
  }

  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) .card-extra {
    margin-top: 8px;
  }

  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) .card-extra p {
    max-width: none;
    margin-bottom: 8px;
    font-size: 13px;
  }

  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) .card-actions :is(button,a) {
    padding: 9px 11px;
  }

  .insurance-card[data-card="extra-14"]:not(.active) .card-content h3 {
    font-size: 26px;
  }
}

@media (min-width: 651px) and (max-width: 1250px) {
  .insurance-card[data-card="extra-0"]:not(.active) .card-content h3 {
    font-size: 26px;
  }
}

@media (max-width: 1049px) {
  .insurance-card:is([data-card="extra-0"], [data-card="extra-14"]) > img {
    height: auto;
    min-height: 0;
    mask-image: linear-gradient(#000 0%, #000 72%, transparent 100%);
  }
}

/* property-product-cards.css */
/* Keep the facade and signing action above the copy in both card states. */
.insurance-card:is([data-card="casa"], [data-card="extra-4"]) > img {
  height: auto;
  min-height: 0;
  object-position: center top;
  mask-image: linear-gradient(#000 0%, #000 72%, transparent 100%);
}

/* Keep both seats in the narrow crop; the full image stays aligned when expanded. */
.insurance-card[data-card="extra-4"] > img,
.insurance-card[data-card="extra-4"].active > img {
  left: 66%;
  transform: translateX(-66%);
}

@media (min-width: 651px) {
  .insurance-card:is([data-card="casa"], [data-card="extra-4"]) {
    --card-copy-insets: 48px;
  }

  .insurance-card:is([data-card="casa"], [data-card="extra-4"]) .card-content {
    right: 24px;
    bottom: 16px;
  }

  .insurance-card:is([data-card="casa"], [data-card="extra-4"]) .card-content .eyebrow {
    margin-bottom: 6px;
  }

  .insurance-card:is([data-card="casa"], [data-card="extra-4"]) .card-extra {
    margin-top: 8px;
  }

  .insurance-card:is([data-card="casa"], [data-card="extra-4"]) .card-extra p {
    max-width: none;
    margin-bottom: 8px;
    font-size: 13px;
  }

  .insurance-card:is([data-card="casa"], [data-card="extra-4"]) .card-actions :is(button,a) {
    padding: 9px 11px;
  }

  .insurance-card[data-card="extra-4"]:not(.active) .card-content h3 {
    font-size: 26px;
  }
}

@media (min-width: 651px) and (max-width: 1250px) {
  .insurance-card[data-card="casa"]:not(.active) .card-content h3 {
    font-size: 26px;
  }
}

/* hero-links.css */
/* Slide-only links sit below the arrows, bottom controls and floating menu. */
.hero .hero-product-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  cursor: pointer;
  touch-action: pan-y pinch-zoom;
}
.hero .hero-product-link:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: -10px;
}
.hero .slide[inert] .hero-product-link { pointer-events: none; }

/* quote-form.css */
/* Quote review and delivery choices use the existing form's visual language. */
#cotacao .quote-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
#cotacao .quote-form-note{font-size:14px;line-height:1.5;margin:0 0 14px;color:#456776}
#cotacao .quote-purpose{font-size:12px;line-height:1.5;margin:12px 0 0;color:#456776}
#cotacao #review[hidden],#cotacao #quote-form[hidden],#cotacao #quote-status[hidden]{display:none!important}
#cotacao #review h4{font-size:24px;line-height:1.2;margin:20px 0 16px}
#cotacao #review-data{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;margin:0 0 18px;font-size:15px;line-height:1.45}
#cotacao #review-data dt{font-weight:600;color:#123d52}
#cotacao #review-data dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
#cotacao .quote-delivery-title{font-size:16px;font-weight:600;margin:16px 0 10px}
#cotacao .quote-delivery-actions{display:flex;flex-wrap:wrap;gap:10px}
#cotacao .quote-delivery-actions>*{flex:1 1 175px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;line-height:1.3;min-height:46px;padding:12px 15px;border-radius:10px;font-weight:600;text-decoration:none}
#cotacao .quote-whatsapp{background:#123d52;color:#fff;border:1px solid #123d52}
#cotacao .quote-whatsapp:hover{background:#20596b}
#cotacao .quote-channel-note{font-size:12px;line-height:1.5;margin:10px 0 14px;color:#456776}
#cotacao #quote-status{font-size:14px;line-height:1.5;padding:12px;border-radius:8px;background:#e8f0f4;color:#123d52;margin:12px 0}
#cotacao #quote-status[data-state=error]{background:#fff0e4;color:#7e3800}
#cotacao #quote-status[data-state=success]{background:#e5f2ee;color:#164c3c}
#cotacao #back-form{background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;color:#123d52;font-size:14px;cursor:pointer}
#cotacao :is(#quote-email,#back-form):disabled{opacity:.65;cursor:default}
#cotacao :is(#quote-email,#quote-whatsapp,#back-form):focus-visible{outline:3px solid #123d52;outline-offset:3px}
@media(max-width:450px){#cotacao #review-data{grid-template-columns:1fr;gap:3px}#cotacao #review-data dd{margin-bottom:10px}#cotacao .quote-delivery-actions{flex-direction:column}#cotacao .quote-delivery-actions>*{flex-basis:auto}}
@media(max-width:650px){body.quote-form-in-view :is(.wa-float,.preview-pill){visibility:hidden;pointer-events:none}}

/* semantic-headings.css */
.home-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* page-entry.css — unchanged approved rules */
/* Progressive enhancement: content stays visible if this optional script fails. */
:is(.internal-hero, .product-hero) {
  --page-entry-duration: 1200ms;
}

.page-entry-item { will-change: transform, opacity; }
/* The reveal changes visibility only: the photograph remains stationary. */
.page-entry-reveal { will-change: clip-path; }

@media (prefers-reduced-motion: reduce) {
  :is(.internal-hero, .product-hero) {
    --page-entry-duration: 0ms;
  }
  .page-entry-item, .page-entry-reveal { will-change: auto; }
}

/* background-traces.css — unchanged approved rules */
/* Moving orange accents for the existing internal-page background artwork.
   Home retains background-lines.js and receives no extra overlay. */
.has-background-traces::before {
  background-image: url('assets/about-background-lines-base.svg') !important;
}
.background-traces {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.background-traces-tile {
  display: block;
  position: absolute;
  max-width: none;
  overflow: hidden;
  fill: none;
}
.background-traces-stroke {
  fill: none;
  stroke: var(--orange, #ef821f);
  stroke-width: 1.5;
  stroke-opacity: .62;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 5 95;
  stroke-dashoffset: 100;
  animation: background-traces-travel var(--trace-duration, 18s) linear var(--trace-delay, 0s) infinite;
  animation-direction: var(--trace-direction, normal);
  animation-play-state: paused;
}
.background-traces-tile.is-running .background-traces-stroke {
  animation-play-state: running;
}
@keyframes background-traces-travel {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .has-background-traces::before {
    background-image: url('assets/about-background-lines.svg') !important;
  }
  .background-traces { display: none; }
  .background-traces-stroke { animation: none; }
}

/* scroll-reveal.css — unchanged approved rules */
/* Content is visible by default, including without JavaScript or animation APIs. */
.scroll-reveal-item {
  --scroll-reveal-distance: 28px;
  --scroll-reveal-duration: 850ms;
}
.scroll-reveal-item.scroll-reveal-heading {
  --scroll-reveal-distance: 22px;
  --scroll-reveal-duration: 800ms;
}
.scroll-reveal-item.scroll-reveal-card {
  --scroll-reveal-distance: 32px;
}
.scroll-reveal-running {
  /* Individual translate leaves the card's existing hover transform intact. */
  will-change: opacity, translate;
}
/* Mobile keeps the original distances and durations above. Smoothness comes
   from starting below the viewport and preserving already-visible content. */
@media (prefers-reduced-motion: reduce) {
  .scroll-reveal-running {
    opacity: 1 !important;
    translate: none !important;
    will-change: auto;
  }
}
@media print {
  .scroll-reveal-item {
    opacity: 1 !important;
    translate: none !important;
    will-change: auto;
  }
}

/* shared-spacing.css — unchanged approved rules */
/* A consistent, smaller rhythm between sections; content and artwork keep their size. */
.site-compact #seguros.products { padding-top: 48px; }
.site-compact #quem-somos { padding-block: 48px; }
.site-compact #seguradoras.partner-wall { padding-block: 48px 60px; }
.site-compact #seguradoras.partner-wall h2 { margin-bottom: 36px; }
.site-compact.insurers-page .internal-content > .partners.partner-wall { padding-bottom: 56px; }
.site-compact.insurers-page .partners.partner-wall h2 { margin-bottom: 32px; }

/* The shared footer should not create another large gap after the last block. */
.site-compact .full-footer .footer-contact-strip.legacy-contact { padding-block: 28px 32px; }
.site-compact .full-footer .footer-main { padding-block: 36px 28px; }
.site-compact .full-footer .footer-logo { margin-bottom: 18px; }
.site-compact .full-footer h3 { margin-bottom: 18px; }
.site-compact .full-footer .footer-end { padding-block: 20px 24px; }

@media (min-width: 1050px) {
  .site-compact #cotacao.quote { margin-block: 12px 16px; padding-bottom: 56px; }
}
@media (max-width: 900px) {
  .site-compact .full-footer .footer-contact-strip { grid-template-columns: 1fr; }
  .site-compact .full-footer .footer-contact-strip > div { min-width: 0; }
  .site-compact .full-footer .footer-contact-strip :is(.eyebrow,a,p) { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 750px) {
  .site-compact.insurers-page .internal-content > .partners.partner-wall { padding-bottom: 44px; }
  .site-compact.insurers-page .partners.partner-wall h2 { margin-bottom: 28px; }
}
@media (max-width: 650px) {
  .site-compact #seguros.products { padding-top: 32px; }
  .site-compact #cotacao.quote { padding-block: 24px 28px; }
  .site-compact #quem-somos { padding-block: 32px; }
  .site-compact #seguradoras.partner-wall { padding-block: 40px 44px; }
  .site-compact #seguradoras.partner-wall h2 { margin-bottom: 28px; }
  .site-compact .full-footer .footer-contact-strip.legacy-contact { padding-block: 24px; }
  .site-compact .full-footer .footer-main { padding-block: 28px; }
  /* Keep clearance for the floating WhatsApp shortcut and phone safe area. */
  .site-compact .full-footer .footer-end { padding-bottom: max(76px, env(safe-area-inset-bottom)); }
}

/* release-details.css — unchanged approved rules */
.full-footer .footer-end{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.full-footer .privacy-link{font-size:13px;text-decoration:underline;text-underline-offset:3px}
#cotacao .quote-purpose a{text-decoration:underline;text-underline-offset:2px}

/* mobile-layout.css — unchanged approved rules */
/* Phone layout: comfortable reading and touch targets; desktop rules stay intact. */
@media (max-width: 767px), (max-width: 950px) and (max-height: 500px) and (pointer: coarse) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body:is(.site-compact,.privacy-page) { font-size: 17px; }
  :root { --space: 20px; }

  /* Keep all social links and the menu usable on small touch screens. */
  :is(.site-compact,.privacy-page) .floating {
    width: calc(100% - 24px);
    min-height: 72px;
    padding: 10px 12px;
    gap: 6px;
  }
  :is(.site-compact,.privacy-page) .floating .brand { flex: 0 0 112px; }
  :is(.site-compact,.privacy-page) .floating .menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 48px;
    flex: 0 0 44px;
    padding: 0;
    margin-left: auto;
    font-size: 28px;
  }
  :is(.site-compact,.privacy-page) .floating .social { flex: 0 0 auto; margin-left: 0; gap: 0; }
  :is(.site-compact,.privacy-page) .floating .social a {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
  }
  :is(.site-compact,.privacy-page) .floating nav {
    top: calc(100% + 8px);
    padding: 8px;
    gap: 2px;
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  :is(.site-compact,.privacy-page) .floating nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 16px;
    font-size: 18px;
    line-height: 1.35;
    white-space: normal;
  }

  :is(.site-compact,.privacy-page) .eyebrow { font-size: 12px; line-height: 1.5; letter-spacing: .12em; }
  :is(.site-compact,.privacy-page) .hero .explore { font-size: 12px; min-height: 44px; gap: 8px; letter-spacing: .06em; }
  :is(.site-compact,.privacy-page) .hero .hero-autoplay { width: 44px; height: 44px; flex: 0 0 44px; }
  :is(.site-compact,.privacy-page) .hero .hero-bottom { left: 20px; right: 20px; bottom: 22px; }
  :is(.site-compact,.privacy-page) .hero .hero-arrow { width: 48px; height: 48px; }

  :is(.site-compact,.privacy-page) .products-heading { grid-template-columns: 1fr; gap: 16px; }
  :is(.site-compact,.privacy-page) .products-heading h2,
  :is(.site-compact,.privacy-page) .quote-intro h2 { font-size: clamp(32px, 8.5vw, 38px); line-height: 1.15; }
  :is(.site-compact,.privacy-page) .products-heading > p:last-child,
  :is(.site-compact,.privacy-page) .quote-intro > p:last-child { font-size: 17px; line-height: 1.6; max-width: none; }
  :is(.site-compact,.privacy-page) .product-toolbar { padding-inline: 16px; }
  :is(.site-compact,.privacy-page) .product-toolbar button { font-size: 16px; min-height: 48px; padding-inline: 18px; }
  :is(.site-compact,.privacy-page) .products { --card-wide: calc(100vw - 40px); --card-height: 540px; }
  :is(.site-compact,.privacy-page) .products .card-content { left: 22px; right: 28px; bottom: 26px; }
  :is(.site-compact,.privacy-page) .products .card-content h3 { font-size: 28px; line-height: 1.16; }
  :is(.site-compact,.privacy-page) .products .card-content .eyebrow { font-size: 12px; line-height: 1.5; }
  :is(.site-compact,.privacy-page) .products .card-extra p { font-size: 16px; line-height: 1.5; margin-bottom: 16px; }
  :is(.site-compact,.privacy-page) .products .card-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  :is(.site-compact,.privacy-page) .products .card-actions :is(button,a) {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 48px;
    font-size: 16px;
    padding: 12px;
    line-height: 1.35;
  }
  :is(.site-compact,.privacy-page) .products .all-products { font-size: 17px; min-height: 48px; }

  :is(.site-compact,.privacy-page) #cotacao { padding-inline: 16px; }
  :is(.site-compact,.privacy-page) #cotacao .quote-layout {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto auto auto auto;
    gap: 0;
  }
  :is(.site-compact,.privacy-page) #cotacao .illustration { display: contents; contain: none; }
  :is(.site-compact,.privacy-page) #cotacao .quote-intro { padding-inline: 4px; grid-column: 1; grid-row: 1; }
  :is(.site-compact,.privacy-page) #cotacao .quote-backdrop {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    width: 100%;
    max-width: 460px;
    margin: 0;
  }
  :is(.site-compact,.privacy-page) #cotacao .quote-art {
    grid-column: 1;
    grid-row: 3;
    display: block;
    width: 100%;
    max-width: none;
    margin: 8px 0 18px;
    min-height: 0;
  }
  :is(.site-compact,.privacy-page) #cotacao .quote-backdrop {
    height: clamp(180px, 52vw, 260px);
    aspect-ratio: auto;
  }
  :is(.site-compact,.privacy-page) #cotacao .quote-backdrop .sketch-figure { width: 100%; height: 100%; }
  :is(.site-compact,.privacy-page) #cotacao .quote-backdrop .normalized-croqui {
    transform: none;
    scale: 1;
    translate: none;
    width: 100%;
    height: 100%;
    background-size: contain;
  }
  :is(.site-compact,.privacy-page) #cotacao .quote-caption { padding: 0 4px 8px; }
  :is(.site-compact,.privacy-page) #cotacao .quote-caption > p:last-child { font-size: 17px; line-height: 1.5; }
  :is(.site-compact,.privacy-page) #cotacao .form-card { grid-column: 1; grid-row: 4; width: 100%; min-width: 0; padding: 32px 20px 24px; }
  :is(.site-compact,.privacy-page) #cotacao .form-card h3 { font-size: 30px; line-height: 1.2; }
  :is(.site-compact,.privacy-page) #cotacao .quote-form-note { font-size: 16px; line-height: 1.5; margin-bottom: 22px; }
  :is(.site-compact,.privacy-page) #cotacao .compact-fields { grid-template-columns: minmax(0,1fr); gap: 0; }
  :is(.site-compact,.privacy-page) #cotacao label { font-size: 16px; line-height: 1.4; margin-bottom: 18px; }
  :is(.site-compact,.privacy-page) #cotacao label small { font-size: 14px; }
  :is(.site-compact,.privacy-page) #cotacao :is(input,select,textarea) {
    font-size: 16px;
    line-height: 1.4;
    min-height: 52px;
    padding: 13px 12px;
    margin-top: 8px;
  }
  :is(.site-compact,.privacy-page) #cotacao :is(input,textarea)::placeholder { font-size: 16px; }
  :is(.site-compact,.privacy-page) #cotacao .quote-message-row { grid-template-columns: minmax(0,1fr); gap: 4px; }
  :is(.site-compact,.privacy-page) #cotacao textarea { min-height: 120px; height: 120px; }
  :is(.site-compact,.privacy-page) #cotacao .review-enter {
    flex-direction: row;
    width: 100%;
    height: auto;
    min-height: 56px;
    padding: 14px 16px;
    gap: 12px;
    font-size: 17px;
  }
  :is(.site-compact,.privacy-page) #cotacao .review-enter br { display: none; }
  :is(.site-compact,.privacy-page) #cotacao .review-enter br::after { content: ' '; }
  :is(.site-compact,.privacy-page) #cotacao :is(.quote-purpose,.quote-channel-note,.form-foot) { font-size: 14px; line-height: 1.6; }
  :is(.site-compact,.privacy-page) #cotacao #review-data { grid-template-columns: minmax(0,1fr); font-size: 17px; line-height: 1.5; gap: 4px; }
  :is(.site-compact,.privacy-page) #cotacao #review-data dd { margin: 0 0 14px; }
  :is(.site-compact,.privacy-page) #cotacao .quote-delivery-actions { flex-direction: column; gap: 12px; }
  :is(.site-compact,.privacy-page) #cotacao .quote-delivery-actions > * { flex-basis: auto; width: 100%; min-height: 54px; font-size: 17px; }
  :is(.site-compact,.privacy-page) #cotacao #back-form { min-height: 48px; font-size: 16px; padding-block: 12px; }
  :is(.site-compact,.privacy-page) #cotacao #quote-status { font-size: 16px; }

  :is(.site-compact,.privacy-page) .about { grid-template-columns: minmax(0,1fr); gap: 22px; }
  :is(.site-compact,.privacy-page) .about h2 { font-size: clamp(32px,8.5vw,38px); line-height: 1.15; }
  :is(.site-compact,.privacy-page) .about > div:last-child p { font-size: 18px; line-height: 1.6; }
  :is(.site-compact,.privacy-page) .about .text-link { min-height: 48px; align-items: center; font-size: 17px; }
  :is(.site-compact,.privacy-page) .partners.partner-wall h2 { font-size: clamp(32px,8.5vw,38px); line-height: 1.15; }
  :is(.site-compact,.privacy-page) .full-footer .footer-contact-strip,
  :is(.site-compact,.privacy-page) .full-footer .footer-main { grid-template-columns: minmax(0,1fr); }
  :is(.site-compact,.privacy-page) .full-footer .footer-location { grid-column: auto; }
  :is(.site-compact,.privacy-page) .full-footer p { font-size: 16px; line-height: 1.65; }
  :is(.site-compact,.privacy-page) .full-footer .footer-address a,
  :is(.site-compact,.privacy-page) .full-footer .footer-location > a { font-size: 16px; min-height: 44px; padding-block: 10px; margin-block: 0 8px; }
  :is(.site-compact,.privacy-page) .full-footer .footer-contact-strip a { min-height: 44px; padding-block: 8px; font-size: 17px; }
  :is(.site-compact,.privacy-page) .full-footer .footer-contact-strip .contact-email { font-size: 15px; letter-spacing: 0; }
  :is(.site-compact,.privacy-page) .full-footer .footer-social a { width: 48px; height: 48px; display: grid; place-items: center; }
  :is(.site-compact,.privacy-page) .full-footer .footer-end { font-size: 14px; line-height: 1.6; gap: 8px; }
  :is(.site-compact,.privacy-page) .full-footer .footer-end :is(a,button) { min-height: 44px; font-size: 15px; padding-block: 10px; }
  :is(.site-compact,.privacy-page) .wa-float { width: 52px; height: 52px; right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
  :is(.site-compact,.privacy-page) dialog { padding-inline: 22px; }
  :is(.site-compact,.privacy-page) dialog :is(button,a) { min-height: 48px; font-size: 16px; }
  :is(.site-compact,.privacy-page) #close-dialog { width: 44px; height: 44px; font-size: 30px; }
}

/* Preserve 44px controls without crowding the logo on narrow phones. */
@media (max-width: 359px) {
  :is(.site-compact,.privacy-page) .floating {
    width: calc(100% - 16px);
    padding-inline: 8px;
    gap: 4px;
  }
  :is(.site-compact,.privacy-page) .floating .brand { flex-basis: 96px; }
}

/* A rotated phone retains the touch layout without a portrait-height opening. */
@media (min-width: 768px) and (max-width: 950px) and (max-height: 500px) and (pointer: coarse) {
  .site-compact .hero { height: 480px; min-height: 480px; max-height: none; }
  .site-compact .hero .hero-copy { top: 48%; }
  .site-compact .hero .hero-copy .hero-title { font-size: 40px; }
  .site-compact .hero .hero-arrow { top: auto; bottom: 78px; transform: none; }
  .site-compact #cotacao .quote-layout { max-width: 620px; margin-inline: auto; }
}

/* mobile-pages.css — unchanged approved rules */
/* Reading and touch targets for the internal pages on phones. */
@media (max-width: 767px) {
  .product-page .product-shell,
  .who-we-are .about-shell,
  .support-pages .support-shell,
  .privacy-page .privacy-main {
    width: calc(100% - 40px);
  }

  .about-page .internal-hero > div { left: 20px; right: 20px; }
  .about-page .internal-hero > div > h1,
  .product-page .product-hero h1 {
    font-size: clamp(32px, 8.3vw, 42px);
    line-height: 1.12;
    overflow-wrap: break-word;
  }
  .about-page .internal-hero > div > p,
  .product-page .product-hero .product-kicker {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .08em;
    gap: 8px;
  }
  .product-page .product-hero-copy { width: calc(100% - 40px); }

  .product-page .product-breadcrumb,
  .who-we-are .about-heading > *,
  .insurance-catalog .about-heading > *,
  .insurers-page .about-heading > *,
  .support-pages .support-breadcrumb,
  .privacy-page .privacy-breadcrumb { font-size: 15px; line-height: 1.5; }
  .product-page .product-breadcrumb,
  .privacy-page .privacy-breadcrumb { align-items: center; }
  .product-page .product-breadcrumb a,
  .who-we-are .about-heading a,
  .insurance-catalog .about-heading a,
  .insurers-page .about-heading a,
  .support-pages .support-breadcrumb a,
  .privacy-page .privacy-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }

  .product-page .product-info-card p,
  .product-page .product-coverage-note,
  .product-page .product-cta-panel p,
  .who-we-are .about-content p,
  .who-we-are .about-intro-copy p,
  .who-we-are .principle-copy,
  .who-we-are .benefit-card p,
  .who-we-are .testimonial-body p,
  .support-pages .support-main p,
  .support-pages .support-channel-copy,
  .support-pages .support-info-panel .support-panel-note,
  .support-pages .support-phone-card .support-service-note,
  .privacy-page .privacy-article p { font-size: 17px; line-height: 1.65; }

  .product-page .product-block .product-kicker,
  .who-we-are .about-content .about-kicker,
  .support-pages .support-main .support-kicker,
  .insurers-page .partners.partner-wall > .eyebrow,
  .privacy-page .privacy-kicker {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .07em;
  }

  .product-page .product-block h2,
  .product-page .product-summary h2,
  .product-page .product-cta-panel h2,
  .who-we-are .about-content h2,
  .who-we-are .about-intro h2,
  .support-pages .support-main h2,
  .insurers-page .partners.partner-wall h2 {
    font-size: clamp(30px, 7.6vw, 38px);
    line-height: 1.18;
    overflow-wrap: break-word;
  }
  .product-page .product-info-card h3,
  .product-page .product-faq-grid h3,
  .who-we-are .about-benefits .benefit-card h3,
  .who-we-are .testimonial h3 { font-size: 23px; line-height: 1.3; }
  .product-page .product-tagline,
  .product-page .product-summary-copy { font-size: 19px; line-height: 1.6; }
  .product-page .product-grid,
  .product-page .product-summary-layout,
  .product-page .product-cta-panel,
  .who-we-are .about-intro,
  .who-we-are .about-principles,
  .who-we-are .about-balanced-grid,
  .who-we-are .testimonial-grid,
  .insurance-catalog .catalog-grid,
  .support-pages .support-intro,
  .support-pages .support-channels,
  .support-pages .support-visit-grid,
  .support-pages .support-help-content { grid-template-columns: minmax(0, 1fr); }
  .product-page .product-audience .product-info-card:last-child,
  .who-we-are .about-balanced-grid > article:nth-child(n),
  .who-we-are .testimonial-grid > article:nth-child(n) { grid-column: 1; }
  .who-we-are .about-principles,
  .who-we-are .about-balanced-grid { grid-auto-rows: auto; }
  .product-page .product-info-card,
  .product-page .product-cta-panel,
  .who-we-are :is(.principle, .benefit-card, .testimonial),
  .support-pages :is(.support-channel, .support-info-panel, .support-search) { padding: 22px; }
  .product-page .product-info-card,
  .who-we-are .testimonial-author { overflow-wrap: anywhere; }
  .product-page .product-jump a { min-height: 44px; font-size: 16px; }
  .product-page .product-jump span { font-size: 13px; }
  .product-page .product-button,
  .product-page .product-overview .product-button,
  .support-pages .support-button { min-height: 48px; font-size: 16px; }
  .product-page .product-cta-panel .product-button { justify-self: stretch; }
  .who-we-are .about-tenure > span { font-size: 16px; }
  .who-we-are .testimonial-author .client-name { font-size: 16px; }
  .who-we-are .testimonial-author .client-company { font-size: 14px; }

  .insurance-catalog .internal-content { padding-inline: 20px; }
  .insurance-catalog .catalog-card h2 { font-size: 28px; line-height: 1.18; }
  .insurance-catalog .catalog-card > div > span { font-size: 17px; line-height: 1.5; }
  .insurance-catalog .catalog-card > div { padding: 22px 32px 24px 22px; }
  .insurers-page .internal-content > .about-heading { width: calc(100% - 40px); }
  .insurers-page .internal-content > .partners.partner-wall { padding-inline: 20px; }
  .insurers-page .partners.partner-wall #partner-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .support-pages .support-channel h3,
  .support-pages .support-info-panel h3 { font-size: 26px; line-height: 1.25; }
  .support-pages .support-contact-value { font-size: 25px; line-height: 1.45; }
  .support-pages .support-contact-value.support-email { font-size: 18px; overflow-wrap: anywhere; }
  .support-pages .support-card-action { font-size: 16px; min-height: 44px; }
  .support-pages .support-phone-card { flex-basis: 100%; padding: 20px; }
  .support-pages .support-insurer-heading h3 { font-size: 23px; }
  .support-pages .support-phone-service h4 { font-size: 16px; line-height: 1.45; }
  .support-pages .support-service-heading { align-items: flex-start; }
  .support-pages .support-service-source { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .support-pages .support-phone-links a { min-height: 48px; font-size: 18px; padding: 10px; }
  .support-pages .support-phone-links .support-service-online,
  .support-pages .support-phone-links .support-whatsapp { font-size: 17px; }
  .support-pages .support-link-copy { flex-wrap: wrap; }
  .support-pages .support-link-copy small { font-size: 14px; line-height: 1.4; text-align: left; max-width: none; }
  .support-pages #phone-search { min-height: 48px; font-size: 17px; }
  .support-pages #phone-search-clear { min-height: 44px; font-size: 16px; padding-inline: 4px; }
  .support-pages .support-main .support-result-count { font-size: 15px; }
  .support-pages .support-related a,
  .support-pages .support-help-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 17px; }
  .support-pages .support-help-actions { justify-items: stretch; }

  .privacy-page .privacy-article h1 { font-size: clamp(34px, 9vw, 44px); line-height: 1.15; }
  .privacy-page .privacy-article h2 { font-size: 28px; line-height: 1.25; }
  .privacy-page .privacy-article .privacy-lead { font-size: 19px; line-height: 1.6; }
  .privacy-page .privacy-article .privacy-date { font-size: 15px; }
  .privacy-page .privacy-contact-link { align-items: center; min-height: 48px; line-height: 1.5; }
}

@media (max-width: 360px) {
  .product-page .product-jump nav { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .product-page .product-info-card,
  .product-page .product-cta-panel,
  .who-we-are :is(.principle, .benefit-card, .testimonial),
  .support-pages :is(.support-channel, .support-info-panel, .support-search, .support-phone-card) { padding: 18px; }
  .support-pages .support-link-copy { flex-direction: column; align-items: flex-start; gap: 3px; }
  .support-pages .support-phone-links .support-whatsapp .support-link-copy { gap: 3px; }
  .who-we-are .about-tenure { gap: 16px; }
  .who-we-are .about-tenure > span { padding-left: 16px; }
}

/* section-curves.css — unchanged approved rules */
/* One contour and one scroll amplitude for banners and section boundaries. */
:root { --section-curve-depth: clamp(30px, 3vw, 60px); }
.hero { --hero-edge-height: var(--section-curve-depth); }
body svg.section-curve {
  /* Override the older per-page heights; keep their next-section fill colors. */
  height: var(--section-curve-depth) !important;
  display: block;
  bottom: 0;
  overflow: visible;
  transform: scaleY(var(--curve-progress, 1));
  transform-origin: center bottom;
  pointer-events: none;
}
/* A zero-height sibling paints across both surfaces, outside their clipping
   layers. Its overlap stays constant while the SVG curve becomes flatter. */
.section-curve-joint {
  display: block;
  position: relative;
  height: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  line-height: 0;
  z-index: 5;
  overflow: visible;
  pointer-events: none;
}
.section-curve-joint::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -2px;
  height: 3px;
  pointer-events: none;
  background: var(--curve-joint-color);
}
/* Preserve the existing hero/content adjacency despite the paint-only joint. */
.hero + .section-curve-joint + .products { margin-top: 0; border-radius: 0; }
.section-curve .curve-wide { display: block; }
.section-curve .curve-narrow { display: none; }
@media (max-width: 767px), (max-width: 950px) and (max-height: 500px) and (pointer: coarse) {
  :root { --section-curve-depth: 24px; }
  .section-curve .curve-wide { display: none; }
  .section-curve .curve-narrow { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  body svg.section-curve { transform: none; }
}

/* accessibility.css — unchanged approved rules */
/* Accessibility refinements: keep the existing layout and motion. */

/* White navigation stays legible even when the floating glass is over white. */
body:not(.privacy-page) .floating { background-color: rgba(81, 85, 85, .84); }
.floating nav :is(a,button):hover { opacity: 1; text-decoration: underline; text-underline-offset: 5px; }

/* A dark inner ring and white outer ring work on both light and dark surfaces. */
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #10364a !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff !important;
}
:is(a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-block: 120px 24px; }
:is(.hero-product-link,.card-select):focus-visible {
  outline-offset: -9px;
  box-shadow: inset 0 0 0 6px #fff !important;
}
.skip:focus { z-index: 10000; color: #10364a; }

/* Secondary form copy must remain readable on the approved blue-gray panel. */
#cotacao :is(.quote-form-note,.quote-purpose,.quote-channel-note,.form-foot,label,small) { color: #10364a; }
#cotacao :is(.quote-purpose,.quote-channel-note,.form-foot) a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
#cotacao :is(input,select,textarea) { border: 1px solid #456776; }
#cotacao :is(input,textarea)::placeholder { color: #456776; opacity: 1; }
.all-products span,.about .text-link span { color: #934409; }

/* Compact controls retain their visual size but gain a comfortable hit area. */
#close-dialog { min-width: 44px; min-height: 44px; }
#cotacao #back-form { min-height: 44px; }
.footer-social a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.footer-end :is(a,button) { min-height: 44px; display: inline-flex; align-items: center; }
@media (pointer: coarse) {
  .support-service-source { min-height: 44px; display: inline-flex; align-items: center; }
}

/* analytics-consent.css — unchanged approved rules */
/* Isolated styles for a non-modal, keyboard-accessible consent panel. */
.gr-consent-panel {
  position: fixed;
  z-index: 10030;
  left: max(18px, env(safe-area-inset-left));
  bottom: max(18px, env(safe-area-inset-bottom));
  width: min(440px, calc(100vw - 36px));
  box-sizing: border-box;
  max-height: min(560px, calc(100dvh - 36px));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 25px;
  border: 1px solid #bacbd1;
  border-radius: 18px;
  background: #f7fafb;
  color: #173d4d;
  box-shadow: 0 8px 30px rgb(12 40 51 / 18%);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
}
.gr-consent-panel[hidden] { display: none !important; }
.gr-consent-panel *, .gr-consent-panel *::before, .gr-consent-panel *::after { box-sizing: border-box; }
.gr-consent-panel .gr-consent-heading {
  margin: 0 30px 12px 0;
  color: #173d4d;
  font-family: inherit;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: normal;
  text-transform: none;
}
.gr-consent-panel .gr-consent-description { margin: 0 0 10px; font-size: 15px; line-height: 1.55; color: #284d5d; }
.gr-consent-panel .gr-consent-privacy { display: inline-block; color: #173d4d; padding: 4px 0; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.gr-consent-panel .gr-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 17px; }
.gr-consent-panel .gr-consent-choice {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  min-width: 0;
  margin: 0;
  padding: 10px 16px;
  border: 1px solid #173d4d;
  border-radius: 9px;
  background: #173d4d;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  box-shadow: none;
  transform: none;
}
.gr-consent-panel .gr-consent-choice:hover { background: #235367; border-color: #235367; }
.gr-consent-panel .gr-consent-close {
  position: absolute;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  margin: 0;
  appearance: none;
  border: 0;
  border-radius: 8px;
  color: #173d4d;
  background: transparent;
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  box-shadow: none;
  transform: none;
  cursor: pointer;
}
.gr-consent-panel .gr-consent-close:hover { background: #e1ebef; }
.gr-consent-panel .gr-consent-status { margin: 12px 0 0; font-size: 12px; line-height: 1.5; color: #3e5a66; }
.gr-consent-panel button:focus-visible, .gr-consent-panel a:focus-visible, .gr-consent-panel .gr-consent-heading:focus-visible,
button.gr-consent-preferences:focus-visible { outline: 3px solid #a65b0c; outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
button.gr-consent-preferences {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 4px;
  margin: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  box-shadow: none;
  transform: none;
}
.gr-consent-preferences-wrap { padding: 12px 24px; background: #173d4d; color: #fff; }
@media (max-width: 650px) {
  .gr-consent-panel {
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    bottom: max(82px, calc(70px + env(safe-area-inset-bottom)));
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 108px);
    padding: 20px;
    border-radius: 15px;
  }
  .gr-consent-panel .gr-consent-heading { font-size: 20px; }
  .gr-consent-panel .gr-consent-description { font-size: 14px; }
  .gr-consent-panel .gr-consent-actions { gap: 10px; margin-top: 13px; }
}
@media (max-height: 460px) {
  .gr-consent-panel { bottom: 10px; max-height: calc(100dvh - 20px); }
}
@media (prefers-reduced-motion: reduce) {
  .gr-consent-panel, .gr-consent-panel *, button.gr-consent-preferences { scroll-behavior: auto; transition: none; animation: none; }
}

/* Stronger navy text; retain orange, dimensions, shadows and transitions. */
#cotacao .review-enter,#cotacao .review-enter > span{color:#082838}

/* Compact consent bar: equal choices, no modal overlay. */
.gr-consent-panel {
 left:0; right:0; bottom:0; width:100%; max-width:none;
 max-height:45dvh; padding:10px max(20px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
 border:0; border-top:1px solid #bacbd1; border-radius:0;
 box-shadow:0 -2px 12px rgb(12 40 51 / 8%);
 display:grid; grid-template-columns:minmax(0,1fr) auto auto 40px;
 align-items:center; gap:14px; background:#f7fafb;
}
.gr-consent-panel .gr-consent-heading,.gr-consent-panel .gr-consent-status {
 position:absolute; width:1px; height:1px; padding:0; margin:-1px;
 overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
.gr-consent-panel .gr-consent-description {margin:0;font-size:14px;line-height:1.4;}
.gr-consent-panel .gr-consent-privacy {font-size:13px;white-space:nowrap;}
.gr-consent-panel .gr-consent-actions {margin:0;gap:8px;}
.gr-consent-panel .gr-consent-choice {min-height:44px;padding:8px 18px;font-size:14px;border-radius:6px;}
.gr-consent-panel .gr-consent-close {position:static;grid-column:4;grid-row:1;}
body:has(.gr-consent-panel:not([hidden])) .wa-float {bottom:90px;}
@media(max-width:800px){
 .gr-consent-panel {grid-template-columns:minmax(0,1fr) auto 32px;gap:6px 10px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));max-height:50dvh;}
 .gr-consent-panel .gr-consent-description {grid-column:1 / 3;font-size:13px;}
 .gr-consent-panel .gr-consent-close {grid-column:3;grid-row:1;width:32px;min-width:32px;height:40px;}
 .gr-consent-panel .gr-consent-privacy {grid-column:1;grid-row:2;font-size:12px;}
 .gr-consent-panel .gr-consent-actions {grid-column:2 / 4;grid-row:2;}
 .gr-consent-panel .gr-consent-choice {padding:8px 12px;font-size:13px;}
 body:has(.gr-consent-panel:not([hidden])) .wa-float {bottom:150px;}
}

/* Mobile notice participates in page flow: never overlays the page text. */
@media (max-width:650px){
 .gr-consent-panel{position:relative;inset:auto;z-index:5;width:100%;max-height:none;overflow:visible;padding:3px max(12px,env(safe-area-inset-right)) 3px max(12px,env(safe-area-inset-left));margin:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto 44px;gap:0 8px;box-shadow:none;border-top:1px solid #bacbd1;border-bottom:1px solid #bacbd1;}
 .gr-consent-panel .gr-consent-description{grid-column:1/-1;grid-row:1;font-size:13px;line-height:1.4;}
 .gr-consent-panel .gr-consent-privacy{grid-column:1;grid-row:2;display:inline-flex;align-items:center;min-height:44px;justify-self:start;}
 .gr-consent-panel .gr-consent-actions{grid-column:2;grid-row:2;margin:0;gap:6px;}
 .gr-consent-panel .gr-consent-choice{min-height:44px;padding:8px 10px;font-size:13px;}
 .gr-consent-panel .gr-consent-close{grid-column:3;grid-row:2;width:44px;min-width:44px;height:44px;min-height:44px;}
 body:has(.gr-consent-panel:not([hidden])) .wa-float{bottom:22px;}
}

/* Cookie policy link is part of the sentence; no separate privacy row item. */
.gr-consent-panel{grid-template-columns:minmax(0,1fr) auto 40px;}
.gr-consent-panel .gr-consent-close{grid-column:3;}
.gr-consent-panel .gr-consent-description .gr-consent-privacy{display:inline;min-height:0;margin:0;padding:0;font:inherit;white-space:normal;}
@media(max-width:800px){
 .gr-consent-panel .gr-consent-description{grid-column:1/-1;}
 .gr-consent-panel .gr-consent-actions{grid-column:1/3;grid-row:2;justify-self:end;}
 .gr-consent-panel .gr-consent-close{grid-column:3;grid-row:2;}
}

/* Approved placement: compact mobile notice pinned to viewport bottom. */
@media(max-width:650px){
 .gr-consent-panel{position:fixed;inset:auto 0 0;z-index:10030;width:100%;max-height:45dvh;overflow-y:auto;padding-bottom:calc(3px + env(safe-area-inset-bottom));border-bottom:0;}
 body:has(.gr-consent-panel:not([hidden])){padding-bottom:calc(76px + env(safe-area-inset-bottom));}
 body:has(.gr-consent-panel:not([hidden])) .wa-float{bottom:calc(90px + env(safe-area-inset-bottom));}
}

/* Two dedicated mobile columns: policy and purpose left, choices right. */
.gr-consent-purpose::before{content:': ';}
.gr-consent-purpose::after{content:'.';}
@media(max-width:650px){
 .gr-consent-panel{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px max(12px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
 .gr-consent-panel .gr-consent-description{grid-column:1;grid-row:1;min-width:0;text-align:left;font-size:12px;line-height:1.4;}
 .gr-consent-panel .gr-consent-description .gr-consent-privacy{display:block;white-space:nowrap;}
 .gr-consent-purpose{display:block;white-space:nowrap;}
 .gr-consent-purpose::before,.gr-consent-purpose::after{content:none;}
 .gr-consent-panel .gr-consent-actions{grid-column:2;grid-row:1;justify-self:end;gap:6px;}
 .gr-consent-panel .gr-consent-choice{width:auto;min-width:0;min-height:44px;padding:8px 7px;font-size:12px;}
 .gr-consent-panel .gr-consent-close{display:none;}
 body:has(.gr-consent-panel:not([hidden])){padding-bottom:calc(64px + env(safe-area-inset-bottom));}
 body:has(.gr-consent-panel:not([hidden])) .wa-float{bottom:calc(80px + env(safe-area-inset-bottom));}
}
@media(max-width:360px){.gr-consent-panel{padding-left:10px;padding-right:10px;gap:6px;}.gr-consent-panel .gr-consent-description{font-size:11.5px;}}

/* Discreet cookie notice: transparency only on the background. */
.gr-consent-panel{background:rgba(245,250,251,.72)!important;}
/* Center the notice text without reducing button legibility. */
.gr-consent-panel .gr-consent-description{text-align:center;}
@media(min-width:1000px){
.gr-consent-panel{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-right:64px;padding-left:64px;}
.gr-consent-panel .gr-consent-description{grid-column:2;grid-row:1;}
.gr-consent-panel .gr-consent-actions{grid-column:3;grid-row:1;justify-self:end;}
.gr-consent-panel .gr-consent-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);}
}