:root{--navy:#001F54;--navy2:#002D7A;--ink:#00143a;--gold:#F4B41A;--gold2:#ffcf4d;--cream:#F7F5F2;--txt:#1b2333;--sky:#3aa0ff}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 18px/1.65 "Open Sans",system-ui,sans-serif;color:var(--txt);background:var(--cream);-webkit-tap-highlight-color:transparent;overflow-x:hidden;animation:fade .5s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
h1,h2,h3,.logo,.btn,.chip,.kick{font-family:Montserrat,sans-serif}
h1,h2,h3{text-wrap:balance;line-height:1.08;margin:0 0 .5em}
h2{font-size:clamp(32px,4.4vw,56px);font-weight:900;letter-spacing:-.02em}h3{font-size:24px;font-weight:800}
a{color:inherit}img{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}.narrow{max-width:860px}.center{text-align:center}.mt{margin-top:40px}
.punch{color:var(--gold)}.cream .punch,.sec:not(.navy):not(.navy2) .punch{color:#8f5e00}
.navy .punch,.navy2 .punch,.hero .punch,.band .punch,.bleed .punch{color:var(--gold)}
.kick{font-weight:800;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:#8f5e00;margin:0 0 10px}
.navy .kick,.navy2 .kick,.bleed .kick{color:var(--gold2)}
.lead{font-size:clamp(19px,1.6vw,22px)}.big{font:800 24px Montserrat,sans-serif}.big a{text-decoration:none}
/* header */
.hd{position:absolute;top:0;left:0;right:0;z-index:50;background:linear-gradient(#00143acc,#00143a00)}
.hd-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:14px 24px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:20px;letter-spacing:.06em;font-weight:600}
.logo b{font-weight:900}.mk{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--gold);color:var(--navy);font-size:20px}
.nav{display:flex;gap:6px;margin-left:auto}
.nav>a,.dd>a{color:#fff;text-decoration:none;font:700 16px Montserrat;padding:10px 12px;border-radius:10px;display:block}
.nav>a:hover,.dd:hover>a{background:#ffffff1f}
.dd{position:relative}.ddm{position:absolute;top:100%;left:0;min-width:260px;background:#fff;border-radius:12px;padding:10px;box-shadow:0 24px 60px #0005;opacity:0;transform:translateY(8px);pointer-events:none;transition:.22s}
.ddw{min-width:380px}.dd:hover .ddm,.dd:focus-within .ddm{opacity:1;transform:none;pointer-events:auto}
.ddm a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--navy);font:600 16px "Open Sans"}.ddm a:hover{background:var(--cream)}
.czm-actions{display:flex;gap:10px;align-items:center}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 26px;border-radius:10px;font-weight:800;font-size:17px;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-3px)}.btn:active{transform:scale(.97)}
.btn.sm{min-height:42px;padding:0 16px;font-size:15px}.btn.big{width:100%;min-height:60px;font-size:18px}
.gold{background:var(--gold);color:var(--navy);box-shadow:0 10px 30px #f4b41a55}.gold:hover{background:var(--gold2)}
.ghost{background:#ffffff14;color:#fff;border:2px solid #ffffff55;backdrop-filter:blur(6px)}
.navyb{background:var(--navy);color:#fff}
.pulse{animation:pulse 2.4s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #f4b41a88}60%{box-shadow:0 0 0 16px #f4b41a00}}
.btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:26px}
/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:var(--ink)}
.hero.short{min-height:72svh}
.hero-bg{position:absolute;inset:-4%;background-size:cover;background-position:center;animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1) translateY(-1.5%)}}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#00143a88 0%,#00143acc 65%,#00143aee 100%),linear-gradient(transparent 60%,#00143a)}
.hero-in{position:relative;z-index:2;max-width:980px;padding:120px 24px 70px}
.hero h1{font-size:clamp(44px,7.6vw,104px);font-weight:900;letter-spacing:-.03em;margin:16px 0 18px}
.post-hero h1{font-size:clamp(36px,5.4vw,68px)}
.hero h1 .l,.hero h1 .punch{display:inline-block;animation:up .9s cubic-bezier(.2,.8,.2,1) both}.hero h1 .punch{animation-delay:.25s}
@keyframes up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.chip{display:inline-block;background:#f4b41a26;border:1px solid #f4b41a88;color:var(--gold2);padding:8px 14px;border-radius:10px;font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden}
.chip:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#fff6 50%,transparent 70%);transform:translateX(-100%);animation:sh 3.5s infinite}
@keyframes sh{60%,100%{transform:translateX(100%)}}
.hero .lead{max-width:760px;margin:0 auto;opacity:.95}.meta{font-size:17px;opacity:.85}
.trust{display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:center;margin-top:30px;font:700 15px Montserrat;opacity:.9}
/* marquee */
.marq{background:var(--gold);color:var(--navy);overflow:hidden;white-space:nowrap;font:900 20px Montserrat;padding:14px 0;text-transform:uppercase}
.marq div{display:inline-block;animation:mq 40s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}
/* sections */
.sec{padding:84px 0;position:relative;overflow:hidden}
.navy{background:radial-gradient(circle at 85% 10%,#2a5cc055,transparent 45%),var(--navy);color:#fff}
.navy2{background:radial-gradient(circle at 10% 90%,#f4b41a22,transparent 40%),linear-gradient(160deg,var(--navy2),var(--ink));color:#fff}
.cream{background:var(--cream)}.sec:not(.navy):not(.navy2):not(.cream){background:#fff}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.stats div{padding:26px;background:#ffffff0f;border-left:4px solid var(--gold)}
.stats b{display:block;font:900 clamp(30px,3.4vw,46px) Montserrat;color:var(--gold)}.stats span{font-size:16px;opacity:.9}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checks li{padding:16px 18px 16px 54px;background:#ffffff10;position:relative;font-weight:600;border-radius:10px}
.checks li:before{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:8px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:900}
/* tiles = image baked in */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:36px}
.tile{position:relative;min-height:340px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;text-decoration:none;overflow:hidden;isolation:isolate}
.tile:before{content:"";position:absolute;inset:0;background:var(--bg) center/cover;z-index:-2;transition:transform .8s}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 15%,#001F54f2 80%);z-index:-1;transition:background .4s}
.tile:hover:before{transform:scale(1.08)}.tile:hover:after{background:linear-gradient(#001F5422,#001F54f8 70%)}
.tile .n{font:900 46px Montserrat;color:var(--gold);opacity:.9;position:absolute;top:18px;left:24px}
.tile b{font:900 26px Montserrat;margin-bottom:6px}.tile span{font-size:16px;opacity:.92}.tile em{font:800 15px Montserrat;color:var(--gold2);font-style:normal;margin-top:12px;transition:letter-spacing .3s}
.tile:hover em{letter-spacing:.06em}
/* bleed halves */
.bleed{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--ink);color:#fff}
.bleed-img{background-size:cover;background-position:center;-webkit-mask:linear-gradient(90deg,#000 60%,transparent);mask:linear-gradient(90deg,#000 60%,transparent)}
.bleed.rev .bleed-img{order:2;-webkit-mask:linear-gradient(270deg,#000 60%,transparent);mask:linear-gradient(270deg,#000 60%,transparent)}
.bleed-txt{padding:70px 7vw 70px 3vw;align-self:center}.bleed.rev .bleed-txt{padding:70px 3vw 70px 7vw}
.bleed-txt p{font-size:19px}
/* steps */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px;counter-reset:s}
.steps li{position:relative;padding-top:20px;border-top:4px solid var(--gold)}
.steps b{font:900 54px Montserrat;color:var(--navy);opacity:.15;position:absolute;right:0;top:4px}
/* mosaic */
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;height:380px}
.mosaic div{background-size:cover;background-position:center;transition:filter .4s}.mosaic div:hover{filter:brightness(1.15)}
/* towns */
.towns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:36px}
.town{padding:24px;border-radius:10px;background:#ffffff0d;border-bottom:3px solid transparent;text-decoration:none;transition:.25s}
.town:hover{background:#ffffff1c;border-color:var(--gold);transform:translateY(-4px)}
.town b{display:block;font:900 22px Montserrat}.town span{font-size:16px;opacity:.8}
.linkgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.linkgrid a{padding:14px 16px;background:#fff;border-left:4px solid var(--gold);text-decoration:none;font-weight:700;font-size:16px;color:var(--navy);transition:.2s}
.linkgrid a:hover{transform:translateX(4px);background:#fff8e6}
/* posts */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:36px 0}
.post{position:relative;min-height:320px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;text-decoration:none;isolation:isolate;overflow:hidden}
.post:before{content:"";position:absolute;inset:0;background:var(--bg) center/cover;z-index:-2;transition:transform .8s}.post:hover:before{transform:scale(1.07)}
.post:after{content:"";position:absolute;inset:0;background:linear-gradient(#00143a33,#00143af0 75%);z-index:-1}
.post b{font:800 22px/1.2 Montserrat;margin:8px 0}.post span{font-size:16px;opacity:.88}
.pk{align-self:flex-start;background:var(--gold);color:var(--navy);font:800 15px Montserrat;padding:4px 10px;border-radius:8px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cards3 .c{padding:8px 0 8px 22px;border-left:4px solid var(--gold)}.cards3 a{font-weight:800;color:var(--navy)}
/* band */
.band{position:relative;padding:110px 0;color:#fff;isolation:isolate;overflow:hidden}
.band:before{content:"";position:absolute;inset:0;background:var(--bg) center/cover;z-index:-2;animation:kb 26s ease-in-out infinite alternate}
.band:after{content:"";position:absolute;inset:0;background:radial-gradient(#001F54cc,#00143af2);z-index:-1}
.band .lead{max-width:700px;margin:0 auto}
/* faq */
.fq{background:#fff;border-radius:10px;margin:10px 0;padding:0 22px;border-left:4px solid var(--gold)}
.fq summary{cursor:pointer;padding:20px 0;font:800 19px Montserrat;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:12px}
.fq summary:after{content:"+";font-size:26px;color:#8f5e00;transition:transform .25s}.fq[open] summary:after{transform:rotate(45deg)}
.fq p{margin:0 0 20px}
/* article */
.art h2{font-size:clamp(26px,3vw,36px);margin-top:1.4em}.art p,.art li{font-size:19px}
.answer{background:#fff8e6;border-left:5px solid var(--gold);padding:22px 24px;font-size:20px!important}
.inl-cta{margin-top:50px;padding:34px;background:var(--navy);color:#fff;border-radius:12px}.inl-cta .btn{margin:6px 6px 0 0}
.mini{font-size:19px;font-weight:600}
/* form */
.lead-form{display:grid;gap:16px;background:#fff;padding:30px;border-radius:14px;box-shadow:0 30px 70px #001f5422;border-top:5px solid var(--gold)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lead-form label{display:grid;gap:6px;font:700 16px Montserrat;color:var(--navy)}
.lead-form input,.lead-form select,.lead-form textarea{font:400 18px "Open Sans";padding:14px;border:2px solid #d8dce6;border-radius:10px;background:#fbfbfd;width:100%;transition:border .2s,box-shadow .2s}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px #f4b41a33}
.hp{position:absolute;left:-9999px}.fnote{margin:0;font-size:16px;text-align:center}.form-err{color:#b00020;font-weight:700}
.form-ok{text-align:center;padding:30px}.form-ok b{display:block;font:900 30px Montserrat;color:var(--navy)}
/* footer */
.ft{background:var(--ink);color:#dfe5f2;padding:70px 0 20px}
.ft-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.ft h3{color:var(--gold);font-size:18px}
.ft a{display:block;text-decoration:none;font-size:16px;padding:3px 0}.ft a:hover{color:var(--gold)}.ft p{font-size:16px}.ft .big a{display:inline;font-size:20px}
.ft-b{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #ffffff22;margin-top:40px;padding-top:18px}
.sig{font-weight:700;font-size:16px!important}
/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
/* app tabs + menu */
.tabs{display:none}.mm[hidden]{display:none}
@media(max-width:1100px){.tiles,.towns,.linkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{display:none}.czm-actions{margin-left:auto}}
@media(max-width:820px){
 body{font-size:17px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .hd-in{padding:8px 16px;min-height:56px}.logo{font-size:17px}.mk{width:34px;height:34px}.czm-open{display:none}
 .wrap{padding:0 16px}.sec{padding:60px 0}
 .hero,.hero.short{min-height:calc(100svh - 72px)}.hero.short{min-height:60svh}.hero-in{padding:90px 16px 40px}
 .btns{flex-direction:column}.btns .btn{width:100%;min-height:56px}
 .split,.bleed,.cards3,.fg,.posts,.steps,.ft-g{grid-template-columns:1fr}.split{gap:30px}
 .bleed-img{min-height:300px;-webkit-mask:linear-gradient(#000 60%,transparent)!important;mask:linear-gradient(#000 60%,transparent)!important;order:0!important}
 .bleed-txt,.bleed.rev .bleed-txt{padding:10px 16px 50px}
 .tiles,.towns,.linkgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tile{min-height:250px;padding:18px}.tile b{font-size:20px}.tile span{display:none}
 .mosaic{grid-template-columns:1fr 1fr;height:420px}
 .steps{grid-template-columns:1fr 1fr}
 .lead-form{padding:20px}
 .tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:#00143af2;backdrop-filter:blur(14px);padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #ffffff22}
 .tabs a,.tabs button{display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff;text-decoration:none;font:700 15px Montserrat;background:none;border:0;padding:4px 0;transition:transform .15s}
 .tabs a:active,.tabs button:active{transform:scale(.92)}.tabs i{font-style:normal;font-size:21px;line-height:1.1}
 .tabs .tcall i{background:var(--gold);color:var(--navy);width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-top:-18px;box-shadow:0 8px 20px #f4b41a66}
 .mm{position:fixed;inset:0;z-index:70;background:#00143afa;overflow:auto;animation:fade .25s}
 .mm-in{padding:70px 22px 120px;display:grid;gap:4px}.mm-x{position:absolute;top:14px;right:16px;font-size:26px;background:none;border:0;color:#fff}
 .mm-h{color:#fff;font:900 26px Montserrat;text-decoration:none;padding:10px 0}.mm-g{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-bottom:10px}
 .mm-g a{color:#cfd8ea;text-decoration:none;font-size:16px;padding:6px 0}.mm .btn{margin-top:20px}
 .czlang-float{bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
.soc a{display:inline!important}
.bsearch{display:grid;gap:8px;max-width:640px;margin:0 auto 10px}.bsearch label{font:800 18px Montserrat;color:var(--navy)}
.bsearch input{font:400 19px "Open Sans";padding:16px;border:2px solid #d8dce6;border-radius:10px}.bsearch input:focus{outline:0;border-color:var(--gold)}
/* v2 design pass */
.hero h1{filter:drop-shadow(0 10px 30px #0008)}
.hero h1 .l,.hero h1 .punch{animation:upb 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes upb{from{opacity:0;transform:translateY(50px) scale(.96);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.hero h1 .punch{position:relative}.hero h1 .punch:after{content:"";position:absolute;left:4%;right:4%;bottom:-.04em;height:.09em;background:var(--gold);border-radius:4px;transform-origin:left;animation:sweep .8s .9s cubic-bezier(.7,0,.2,1) both}
@keyframes sweep{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-bg{will-change:transform}
.roofline{position:absolute;left:0;right:0;bottom:0;width:100%;height:90px;z-index:2;pointer-events:none}
.roofline path{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:2400;stroke-dashoffset:2400;animation:draw 2.6s .6s ease forwards;filter:drop-shadow(0 0 8px #f4b41a)}
@keyframes draw{to{stroke-dashoffset:0}}
.btn{letter-spacing:.01em}.gold{background:linear-gradient(180deg,#ffc83a,#F4B41A);box-shadow:0 12px 34px #f4b41a66,inset 0 -3px 0 #0002}
.btn.gold:hover{box-shadow:0 18px 44px #f4b41a88}
/* gold section */
.goldsec{background:radial-gradient(circle at 90% 0,#fff3,transparent 40%),linear-gradient(135deg,#F4B41A,#ffcf4d)!important;color:var(--navy)}
.goldsec .kick{color:var(--navy)}.punch2{color:#fff;-webkit-text-stroke:0;text-shadow:0 3px 0 var(--navy)}
.small-note{font-weight:700}
.agebox{background:var(--navy);color:#fff;padding:28px;border-radius:14px;box-shadow:0 30px 70px #001f5455;display:grid;gap:18px}
.agebox label{display:grid;gap:6px;font:700 16px Montserrat}
.agebox input,.agebox select{font:600 20px "Open Sans";padding:14px;border-radius:10px;border:2px solid #ffffff33;background:#ffffff12;color:#fff;width:100%}
.agebox select option{color:#000}.agebox input:focus,.agebox select:focus{outline:0;border-color:var(--gold)}
.gauge{height:16px;border-radius:10px;background:linear-gradient(90deg,#3ddc84,#F4B41A 55%,#ff4c53);position:relative}
.gauge i{position:absolute;top:-7px;left:0;width:6px;height:30px;border-radius:3px;background:#fff;box-shadow:0 0 0 3px var(--navy),0 0 14px #fff;transition:left .9s cubic-bezier(.2,.8,.2,1)}
.ageout b{display:block;font:900 26px Montserrat;color:var(--gold)}.ageout span{font-size:17px;opacity:.92}
.agebox .navyb{background:var(--gold);color:var(--navy)}
/* story */
.story{background:var(--ink)}
.chap{position:relative;min-height:78vh;display:flex;align-items:flex-end;padding:90px 7vw;color:#fff;isolation:isolate;overflow:hidden}
.chap:before{content:"";position:absolute;inset:0;background:var(--bg) center/cover;z-index:-2;transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.8,.2,1)}
.chap.in:before{transform:scale(1)}
.chap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#00143af2 0%,#00143aa8 45%,#00143a22 100%),linear-gradient(transparent 60%,#00143a);z-index:-1}
.chap>div{max-width:640px}.chap p{font-size:19px}
.chap .cn{position:absolute;right:5vw;top:40px;font:900 clamp(90px,16vw,220px)/1 Montserrat;color:transparent;-webkit-text-stroke:2px #f4b41aaa}
.chap+.chap{border-top:4px solid var(--gold)}
/* insurance */
.ins{background:radial-gradient(circle at 0 100%,#ff4c5322,transparent 40%),radial-gradient(circle at 100% 0,#2a5cc066,transparent 45%),var(--navy)!important}
.btns.left{justify-content:flex-start}
.claim{list-style:none;padding:0;margin:0;display:grid;gap:4px;counter-reset:c}
.claim li{counter-increment:c;display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:18px;background:#ffffff0d;border-left:4px solid var(--gold)}
.claim li:before{content:counter(c);grid-row:span 2;font:900 40px/1 Montserrat;color:var(--gold)}
.claim b{font:800 20px Montserrat}.claim span{font-size:16px;opacity:.9}
/* quick pick */
.qp-h{margin:0;font:800 18px Montserrat;color:var(--navy)}.qp-h span{font:600 15px "Open Sans";opacity:.7;margin-left:6px}
.qp{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.qp button{font:700 15px Montserrat;padding:14px 6px;border-radius:10px;border:2px solid #d8dce6;background:#fff;color:var(--navy);cursor:pointer;transition:.2s}
.qp button:hover{border-color:var(--gold);transform:translateY(-2px)}.qp button.on{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.03)}
@media(max-width:820px){
 .sec{padding:48px 0}h2{font-size:30px}.lead{font-size:18px}
 .hero h1{font-size:46px}.hero-in{padding:80px 16px 70px}.trust{font-size:15px;gap:6px 14px;margin-top:20px}
 .hero .lead{font-size:17px}.roofline{height:50px}
 .chap{min-height:70svh;padding:60px 18px 46px}.chap:after{background:linear-gradient(#00143a33,#00143af0 70%)}.chap .cn{font-size:96px;top:20px;right:14px}
 .qp{grid-template-columns:1fr 1fr}.agebox{padding:20px}
 .btns.left{justify-content:stretch}
 .stats div{padding:18px}.tile{min-height:200px}
 .mosaic{height:340px}
}
/* storm watch */
.stormbar{display:none}
body.storm .stormbar{display:flex;position:relative;z-index:3;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 18px;padding:10px 16px;border-radius:10px;background:#ff4c53;color:#fff;font:800 16px Montserrat;box-shadow:0 0 0 0 #ff4c5399;animation:alarm 1.8s infinite;max-width:760px}
@keyframes alarm{0%,100%{box-shadow:0 0 0 0 #ff4c5399}60%{box-shadow:0 0 0 18px #ff4c5300}}
body.storm .hero:after{background:radial-gradient(ellipse at center,#1a0a2a99 0%,#0b0f22dd 70%),linear-gradient(transparent 60%,#00143a)}
body.storm .hero .chip{background:#ff4c5333;border-color:#ff4c53;color:#ffd0d2}
body.storm .roofline path{stroke:#ff4c53;filter:drop-shadow(0 0 8px #ff4c53)}
.tarpline{display:none;font-weight:800;background:var(--navy);color:#fff;padding:12px 14px;border-radius:10px}
body.storm .tarpline{display:block}
.logo img{height:72px;width:auto;display:block;filter:drop-shadow(0 4px 14px #0007)}
.logo .lt{font:900 15px Montserrat;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border-left:2px solid #ffffff44;padding-left:12px}
.flogo img{height:96px}
@media(max-width:820px){.logo img{height:50px}.logo .lt{font-size:13px;padding-left:9px;letter-spacing:.18em}}
/* brand system: real Ortiz mark baked in */
.navy,.navy2,.ins,.goldsec,.cream{isolation:isolate}
.navy>.wrap,.navy2>.wrap,.goldsec>.wrap,.cream>.wrap{position:relative;z-index:1}
.navy:after,.navy2:after,.ins:after{content:"";position:absolute;right:-6%;bottom:-12%;width:min(760px,70vw);aspect-ratio:900/390;background:url(/img/ortiz-mark-white.png) center/contain no-repeat;opacity:.05;z-index:0;pointer-events:none;animation:drift 18s ease-in-out infinite alternate}
.navy2:after{left:-8%;right:auto;top:-10%;bottom:auto}
.goldsec:after{content:"";position:absolute;left:-5%;bottom:-14%;width:min(700px,70vw);aspect-ratio:900/390;background:url(/img/ortiz-mark-navy.png) center/contain no-repeat;opacity:.08;z-index:0;pointer-events:none;animation:drift 20s ease-in-out infinite alternate}
.cream:after{content:"";position:absolute;right:-4%;top:6%;width:min(520px,60vw);aspect-ratio:900/390;background:url(/img/ortiz-mark-navy.png) center/contain no-repeat;opacity:.04;z-index:0;pointer-events:none}
@keyframes drift{from{transform:translate(0,0) rotate(-2deg)}to{transform:translate(-30px,-16px) rotate(1deg)}}
/* hero + cta band moment */
.hero-in:after{content:"";display:block;width:120px;aspect-ratio:900/390;margin:26px auto 0;background:url(/img/ortiz-mark.png) center/contain no-repeat;filter:drop-shadow(0 0 18px #f4b41a88);opacity:.9}
.band .wrap:before{content:"";display:block;width:150px;aspect-ratio:900/390;margin:0 auto 18px;background:url(/img/ortiz-mark.png) center/contain no-repeat;filter:drop-shadow(0 0 20px #f4b41a99)}
.band .wrap:after{content:"";position:absolute;left:50%;top:50%;width:min(1000px,90vw);aspect-ratio:900/390;transform:translate(-50%,-50%);background:url(/img/ortiz-mark-white.png) center/contain no-repeat;opacity:.06;z-index:-1}
.band .wrap{position:relative}
/* story chapters */
.chap>div:before{content:"";display:block;width:110px;aspect-ratio:900/390;margin-bottom:16px;background:url(/img/ortiz-mark.png) left/contain no-repeat;filter:drop-shadow(0 0 14px #f4b41a77)}
/* cards */
.tile .n{display:none}
.tile:not(.more):after{background:url(/img/ortiz-mark-soft.png) right 18px top 18px/90px auto no-repeat,linear-gradient(transparent 15%,#001F54f2 80%)}
.tile:not(.more):hover:after{background:url(/img/ortiz-mark-soft.png) right 18px top 18px/90px auto no-repeat,linear-gradient(#001F5422,#001F54f8 70%)}
.tile{--o:.2}.tile:after{opacity:1}
.town{background:url(/img/ortiz-mark-soft.png) right 14px bottom 12px/64px auto no-repeat,#ffffff0d;background-blend-mode:normal}
.town:hover{background:url(/img/ortiz-mark.png) right 14px bottom 12px/64px auto no-repeat,#ffffff1c}
.post:after{background:url(/img/ortiz-mark-soft.png) right 16px top 16px/70px auto no-repeat,linear-gradient(#00143a33,#00143af0 75%)}
/* storm bar */
body.storm .stormbar:before{content:"";width:46px;aspect-ratio:900/390;background:url(/img/ortiz-mark-white.png) center/contain no-repeat}
@media(max-width:820px){.hero-in:after{width:90px;margin-top:18px}.chap>div:before{width:84px}.tile:not(.more):after{background:url(/img/ortiz-mark-soft.png) right 12px top 12px/60px auto no-repeat,linear-gradient(transparent 10%,#001F54f2 75%)}}
@media(prefers-reduced-motion:reduce){.navy:after,.goldsec:after{animation:none}}
.punch2{color:var(--gold)!important;text-shadow:none;background:var(--navy);padding:0 .18em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.25}
@media(max-width:820px){.town{background:url(/img/ortiz-mark-soft.png) right 10px top 10px/40px auto no-repeat,#ffffff0d;padding-right:16px}.town:hover{background:url(/img/ortiz-mark.png) right 10px top 10px/40px auto no-repeat,#ffffff1c}.town b{padding-right:40px}}
/* responsive + lazy backgrounds */
[data-lz],[data-eager]{--bg:var(--bgl)}
@media(max-width:820px){[data-lz],[data-eager]{--bg:var(--bgs)}}
[data-lz]:not(.lzd){--bg:none}
.hero-bg,.bleed-img,.mosaic>div{background-image:var(--bg)}
.crumbs{background:var(--ink);color:#cfd8ea;font:600 15px Montserrat;padding:12px 0}.crumbs a{color:var(--gold);text-decoration:none}.crumbs span{opacity:.8;margin:0 4px}
.byline{background:var(--cream);color:#3b465c;font-size:15px;padding:14px 0;border-top:1px solid #0001}
.cmp{overflow-x:auto;margin:20px 0}.cmp table{width:100%;border-collapse:collapse;font-size:17px;min-width:0}
.cmp th,.cmp td{padding:14px;border-bottom:1px solid #0001;text-align:left;vertical-align:top}
.cmp thead th{background:var(--navy);color:var(--gold);font:800 17px Montserrat}.cmp tbody th{font:800 16px Montserrat;color:var(--navy);background:#fff8e6}
.ft h3.mt0{margin-top:24px}
@media(max-width:600px){.cmp table,.cmp thead,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block}.cmp thead{display:none}.cmp tr{margin-bottom:12px;border-left:4px solid var(--gold);background:#fff}.cmp td:nth-of-type(1):before{content:"Shingle: ";font-weight:800}.cmp td:nth-of-type(2):before{content:"Metal: ";font-weight:800}.cmp td:nth-of-type(3):before{content:"Tile: ";font-weight:800}.cmp td,.cmp th{border:0;padding:8px 14px}}

/* videos */
.vsec{padding-bottom:0}.vsec .center .btn{margin-bottom:28px}.vsec h2{margin-bottom:28px}
.vg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%}
.vt{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:0;overflow:hidden;background:#000;color:#fff;font:inherit;text-align:left;cursor:pointer}
.vt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.vt:hover img,.vt:focus-visible img{transform:scale(1.05)}
.vt:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,12,40,.9),rgba(4,12,40,.15) 55%,rgba(4,12,40,.05))}
.vp{position:absolute;z-index:2;left:50%;top:44%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:#f7b81d;box-shadow:0 0 0 0 rgba(247,184,29,.55);animation:vpulse 2.4s infinite}
.vp:before{content:"";position:absolute;left:27px;top:20px;border-left:20px solid #0a1a4a;border-top:14px solid transparent;border-bottom:14px solid transparent}
.vc{position:absolute;z-index:2;left:20px;right:20px;bottom:16px;display:block}
.vc b{display:block;font-size:19px;line-height:1.2;text-wrap:balance}.vc span{display:block;font-size:15px;margin-top:4px;opacity:.92}
.vt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
@keyframes vpulse{70%{box-shadow:0 0 0 16px rgba(247,184,29,0)}100%{box-shadow:0 0 0 0 rgba(247,184,29,0)}}
@media(max-width:900px){.vg{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.vp{animation:none}.vt img{transition:none}}
/* header stays on one line */
.nav>a,.dd>a,.czm-open{white-space:nowrap}
@media(max-width:1400px){.nav{gap:0}.nav>a,.dd>a{padding:10px 8px;font-size:15px}}
@media(max-width:1280px){.hd-in .lt{display:none}}
.nav>.dd:last-child .ddm{left:auto;right:0}

/* 2026-11-09 areas menu, social band, footer areas, photo field */
.ddareas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:680px;min-width:0}.ddareas a{padding:7px 10px}
.socband{background:var(--navy,#001F54);color:#fff;padding:56px 0;border-top:5px solid var(--gold)}
.socband h2{color:#fff;margin:0 0 26px}
.socbtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sb{display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:12px;color:#fff;text-decoration:none;font:600 16px "Open Sans";transition:transform .22s,box-shadow .22s}
.sb:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0007}
.sb svg{width:44px;height:44px;flex:none}.sb i{font:900 40px/44px Montserrat;width:44px;text-align:center;flex:none;font-style:normal}
.sb b{display:block;font:900 24px Montserrat;margin-bottom:2px}
.sb.fb{background:#1877F2}.sb.yt{background:#E0231C}.sb.gg{background:#fff;color:var(--navy,#001F54)}.sb.gg i{color:#E8A800}
.ft-areas{padding-top:6px;padding-bottom:26px}.ft-areas h3{margin:0 0 12px}
.ft-areas>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 20px}
.lead-form input[type=file]{padding:11px;font-size:16px;cursor:pointer}
@media(max-width:820px){.socband{padding:40px 0}.socbtns{grid-template-columns:minmax(0,1fr)}.ft-areas>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
h1,h2,h3{text-wrap:balance}.hero h1 .l,.hero h1 .punch{display:block}

/* drone video + galleries (2026-11-09) */
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero.hasvid .hero-bg{animation:none}
.films{background:var(--ink)}
.film{display:grid;grid-template-columns:1.25fr .75fr;min-height:560px;position:relative}
.film-v{position:relative;overflow:hidden}
.film-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6s ease}
.film:hover .film-v video{transform:scale(1.1)}
.film-v:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--ink))}
.film.rev{grid-template-columns:.75fr 1.25fr}.film.rev .film-v{order:2}.film.rev .film-v:after{background:linear-gradient(270deg,transparent 55%,var(--ink))}
.film-t{display:flex;flex-direction:column;justify-content:center;padding:48px 56px;color:#fff;position:relative}
.film-t h2{font-size:clamp(32px,3.4vw,50px);margin:6px 0 14px}.film-t p{font-size:18px;opacity:.92}.film-t .btn{align-self:flex-start;margin-top:14px}
.film-t .fn{font:900 96px/1 Montserrat;color:transparent;-webkit-text-stroke:2px var(--gold);opacity:.55;margin-bottom:6px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(220px,26vw,380px)}
.gal figure{margin:0;position:relative;background-size:cover;background-position:center;overflow:hidden;transition:filter .4s}
.gal figure:first-child{grid-row:span 2}
.gal figure:hover{filter:brightness(1.12) saturate(1.1)}
.gal figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#00143acc)}
.gal figcaption{position:absolute;left:20px;bottom:16px;z-index:1;color:#fff;font:800 17px Montserrat;letter-spacing:.01em}
.ba{display:grid;grid-template-columns:repeat(4,1fr);height:clamp(260px,30vw,460px)}
.ba figure{margin:0;position:relative;background-size:cover;background-position:center}
.ba figure:nth-child(2n){box-shadow:-3px 0 0 var(--gold)}
.ba figcaption{position:absolute;top:16px;left:16px;background:var(--gold);color:var(--ink);font:900 15px Montserrat;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:8px}
.ba figure:nth-child(2n+1) figcaption{background:#fff}
@media(max-width:900px){.film,.film.rev{grid-template-columns:1fr;min-height:0}.film.rev .film-v{order:0}.film-v{height:56vw;min-height:260px}.film-v:after,.film.rev .film-v:after{background:linear-gradient(transparent 50%,var(--ink))}.film-t{padding:8px 22px 52px}.film-t .fn{font-size:64px}
.gal{grid-template-columns:1fr 1fr;grid-auto-rows:46vw}.gal figure:first-child{grid-row:auto;grid-column:span 2}.ba{grid-template-columns:1fr 1fr;height:auto;grid-auto-rows:62vw}}
@media(prefers-reduced-motion:reduce){.hero-vid,.film-v video{display:none}}
.gal figure,.ba figure{background-image:var(--bg)}
.gal.g6{grid-template-columns:repeat(3,1fr)}.gal.g4{grid-template-columns:repeat(4,1fr)}
.gal figure:first-child{grid-row:auto}
@media(max-width:900px){.gal.g6,.gal.g4{grid-template-columns:1fr 1fr}.gal figure:first-child{grid-column:auto}}

/* roof color studio */
.lab{background:radial-gradient(ellipse at 50% 0%,#0b2a66 0%,var(--ink) 60%);color:#fff;padding:80px 0 70px}
.lab .lead{color:#e8eefc}
.lab-stage{position:relative;margin:34px 0 0;aspect-ratio:16/9;max-height:86vh;overflow:hidden;background:#0a1630;touch-action:pan-y}
.lab-base,.lab-cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lab-cv{clip-path:inset(0 0 0 var(--x,50%));transition:opacity .35s}
.lab-line{position:absolute;top:0;bottom:0;left:var(--x,50%);width:3px;margin-left:-1.5px;background:var(--gold);box-shadow:0 0 24px #f5b80099;pointer-events:none}
.lab-line b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font:900 22px Montserrat;box-shadow:0 8px 30px #0008;animation:labp 2.4s ease-in-out infinite}
@keyframes labp{50%{transform:translate(-50%,-50%) scale(1.1)}}
.lab-rng{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.lab-tag{position:absolute;bottom:18px;font:800 16px Montserrat;letter-spacing:.04em;padding:9px 14px;border-radius:10px;background:#00143ad9;color:#fff;backdrop-filter:blur(6px);pointer-events:none}
.lab-tag.lt1{left:18px}.lab-tag.lt2{right:18px;background:var(--gold);color:var(--ink)}
.sws{display:grid;grid-template-columns:repeat(10,1fr);gap:12px;margin:28px 0 14px}
.sw{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:#fff;cursor:pointer;padding:6px 2px;font:700 15px Montserrat;transition:transform .2s}
.sw i{width:58px;height:58px;border-radius:12px;background:var(--c);box-shadow:inset 0 0 0 2px #ffffff30,0 6px 18px #0006;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}
.sw i:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 9px,#ffffff1f 9px 11px)}
.sw:hover{transform:translateY(-3px)}
.sw.on i{box-shadow:inset 0 0 0 2px #fff,0 0 0 3px var(--gold),0 8px 24px #f5b80066;transform:scale(1.06)}
.sw span{text-align:center;line-height:1.2}
.lab-note{text-align:center;font-size:16px;color:#c9d4ea;margin:4px 0 18px}
@media(max-width:900px){.lab{padding:56px 0 50px}.lab-stage{aspect-ratio:4/3}.sws{grid-template-columns:repeat(5,1fr);gap:10px}.sw i{width:52px;height:52px}.sw{font-size:15px}.lab-tag{font-size:15px;bottom:12px}.lab-tag.lt1{left:12px}.lab-tag.lt2{right:12px}}
.lab-stage{width:100%;aspect-ratio:auto;max-height:none;height:min(86vh,56.25vw)}
@media(max-width:900px){.lab-stage{height:75vw;aspect-ratio:auto}}
@media(hover:none){.sw:hover{transform:none}}
.sws{grid-template-columns:repeat(10,minmax(0,1fr))}
@media(max-width:900px){.sws{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.sw span{display:none}.sw i{width:100%;max-width:60px;height:auto;aspect-ratio:1}}
/* play-with-me (2026-11-09) */
@keyframes pwBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-7px)}}
@keyframes pwTap{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(5px) scale(.9)}}
@keyframes pwFill{from{width:0}}
@keyframes pwProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bassec{padding-bottom:60px}
.bas{margin:26px 0 0}.bas2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.bas-stage{position:relative;aspect-ratio:1400/871;overflow:hidden;border-radius:0;touch-action:pan-y;background:#0a1630}
.bas-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bas-b{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.bas-line{position:absolute;top:0;bottom:0;left:var(--x,50%);width:3px;margin-left:-1.5px;background:var(--gold);box-shadow:0 0 24px #f5b80099;pointer-events:none}
.bas-line b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font:900 22px Montserrat;box-shadow:0 8px 30px #0008}
.bas-line em{position:absolute;top:calc(50% + 40px);left:50%;transform:translate(-50%,0);white-space:nowrap;font:800 16px Montserrat;font-style:normal;background:#00143ae6;color:#fff;padding:8px 13px;border-radius:10px;animation:pwBob 1.4s ease-in-out infinite;transition:opacity .4s}
.bas.played .bas-line em{opacity:0}
.bas-rng{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.bas-tag{position:absolute;top:16px;font:800 16px Montserrat;letter-spacing:.04em;padding:8px 13px;border-radius:10px;pointer-events:none}
.bas-tag.t1{left:16px;background:#00143ad9;color:#fff}.bas-tag.t2{right:16px;background:var(--gold);color:var(--ink)}
.bas-cap{text-align:center;color:#c9d4ea;font-size:17px;margin:12px 0 0}
.bassec .btn{margin-top:24px}
.mp{margin-top:28px}
.mp-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.mp-t{position:relative;overflow:hidden;font:900 clamp(18px,2vw,22px) Montserrat;color:var(--ink);background:#fff;border:2px solid #00143a22;border-radius:12px;padding:16px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .2s,background .25s,color .25s}
.mp-t small{font:700 15px Montserrat;opacity:.75}
.mp-t:hover{transform:translateY(-3px)}
.mp-t[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 0 0 3px var(--gold)}
.mp.cycling .mp-t[aria-pressed=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--gold);transform-origin:left;animation:pwProg 3.4s linear}
.mp-body{display:grid;grid-template-columns:1.25fr 1fr;background:var(--ink);color:#fff;border-radius:14px;overflow:hidden}
.mp-pics{position:relative;min-height:400px}
.mp-p{position:absolute;inset:0;margin:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity .6s,transform 1.2s}
.mp-p.on{opacity:1;transform:scale(1)}
.mp-pics:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,var(--ink))}
.mp-hint{position:absolute;left:16px;top:16px;z-index:2;font:800 16px Montserrat;background:var(--gold);color:var(--ink);padding:8px 13px;border-radius:10px;animation:pwTap 1.3s ease-in-out infinite;transition:opacity .4s}
.mp.played .mp-hint{opacity:0}
.mp-info{position:relative;padding:30px 30px 26px}
.mp-i{display:none}.mp-i.on{display:block;animation:in .5s both}
.mp-h{font:900 clamp(22px,2.3vw,28px)/1.15 Montserrat;color:var(--gold);margin:0 0 16px}
.mp-life span,.mp-row span{display:block;font:700 15px Montserrat;color:#c9d4ea;margin-bottom:6px}
.mp-bar{height:16px;border-radius:10px;background:#ffffff1c;overflow:hidden}
.mp-bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--gold),#ffcf4d);border-radius:10px;animation:pwFill 1s cubic-bezier(.2,.8,.2,1) both}
.mp-life b{display:block;font:900 24px Montserrat;margin:8px 0 14px}
.mp-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid #ffffff22;padding:12px 0}
.mp-row b{font:900 22px Montserrat;color:#fff;text-align:right}
.mp-row.best b{font:700 17px/1.35 Montserrat}
.mp-i p:not(.mp-h){font-size:17px;line-height:1.55;color:#e8eefc;margin:4px 0 0}
.mp-cta{margin-top:20px}
@keyframes in{from{opacity:0;transform:translateY(8px)}}
.agebox.demo{position:relative}
.agebox.demo:before{content:"👀 Demo running · tap to try yours";position:absolute;top:-16px;right:14px;font:800 15px Montserrat;background:var(--ink);color:#fff;padding:7px 12px;border-radius:10px;animation:pwTap 1.6s ease-in-out infinite;z-index:2}
.agebox.demo input[name=yr]{box-shadow:0 0 0 3px var(--gold)}
.lab.cycling .sws:before{content:"👆 Tap a color";grid-column:1/-1;justify-self:center;font:800 16px Montserrat;background:var(--gold);color:var(--ink);padding:8px 14px;border-radius:10px;animation:pwTap 1.4s ease-in-out infinite}
.lab.played .sws:before{display:none}
.lab .lab-line b:after{content:"👆 Drag me";position:absolute;top:66px;left:50%;transform:translateX(-50%);white-space:nowrap;font:800 16px Montserrat;background:#00143ae6;color:#fff;padding:8px 13px;border-radius:10px}
.lab.played .lab-line b:after{display:none}
@media(max-width:820px){.bas2{grid-template-columns:1fr}.mp-body{grid-template-columns:1fr}.mp-pics{min-height:62vw}.mp-pics:after{background:linear-gradient(180deg,transparent 60%,var(--ink))}.mp-info{padding:22px 18px}.mp-t{padding:13px 6px}.bas-line em,.lab .lab-line b:after{font-size:15px}}
@media(prefers-reduced-motion:reduce){.bas-line em,.mp-hint,.agebox.demo:before,.lab.cycling .sws:before{animation:none}}
.mp-row.best{flex-direction:column;align-items:flex-start}.mp-row.best b{text-align:left}

/* estimate section v2 (2026-11-09): real Ortiz crew photo baked in, no dead space */
.est{padding:64px 0;color:#fff;isolation:isolate;background:var(--ink)}
.est:before{content:"";position:absolute;inset:-4%;background:var(--bg) 40% center/cover;z-index:-2;animation:kb 30s ease-in-out infinite alternate}
.est:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,20,58,.95) 0%,rgba(0,20,58,.82) 38%,rgba(0,31,84,.42) 62%,rgba(0,20,58,.78) 100%),linear-gradient(0deg,rgba(0,20,58,.7),transparent 35%)}
.est .est-in{align-items:center;gap:48px}
.est h2{color:#fff;text-wrap:balance;margin:0 0 12px}.est .punch{color:var(--gold2)}.est .kick{color:var(--gold2)}
.est .lead{color:#e6ecf7;font-size:19px;margin:0 0 20px}
.est-call{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 26px}.est-call span{font-size:16px;color:#c9d4e8}
.est-call .btn{font-size:20px}
.est-steps{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.est-steps li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-left:4px solid var(--gold);transition:transform .3s,background .3s}
.est-steps li:hover{transform:translateX(4px);background:rgba(255,255,255,.13)}
.est-steps b{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--gold);color:var(--ink);font:900 18px Montserrat,sans-serif}
.est-steps span{font-size:17px;line-height:1.45;color:#e6ecf7}.est-steps strong{display:block;color:#fff;font:800 18px Montserrat,sans-serif;margin-bottom:2px}
.est-trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.est-trust li{font-size:16px;font-weight:700;color:#fff;padding-left:26px;position:relative}.est-trust li:before{content:"✓";position:absolute;left:0;color:var(--gold2);font-weight:900}
.est .lead-form{box-shadow:0 30px 80px rgba(0,0,0,.45);color:var(--txt)}
@media(max-width:820px){.est{padding:44px 0}.est:before{background-position:center top;inset:0}.est:after{background:linear-gradient(180deg,rgba(0,20,58,.55) 0%,rgba(0,20,58,.9) 38%,rgba(0,20,58,.96) 100%)}.est .est-in{gap:26px}.est-call .btn{width:100%;justify-content:center}.est-trust{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.est:before{animation:none}.est-steps li{transition:none}}
.est h2 .punch,.est .punch{color:var(--gold2)!important;-webkit-text-fill-color:var(--gold2)}
.est:after{background:linear-gradient(90deg,rgba(0,20,58,.93) 0%,rgba(0,20,58,.72) 40%,rgba(0,31,84,.25) 62%,rgba(0,20,58,.6) 100%),linear-gradient(0deg,rgba(0,20,58,.55),transparent 30%)}
@media(max-width:820px){.est{padding-top:0}.est .est-in{padding-top:190px}.est:before{inset:0 0 auto 0;height:520px;background-position:center 30%}.est:after{background:linear-gradient(180deg,rgba(0,20,58,.15) 0px,rgba(0,20,58,.55) 200px,var(--ink) 520px)}}

/* composite profiles */
.prof-h{padding-bottom:30px}
.prof{display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy,#001F54)}
.prof figure{margin:0;position:relative;min-height:clamp(420px,42vw,600px);background-image:var(--bgl,var(--bg));background-size:cover;background-position:center;overflow:hidden;animation:pkb 14s ease-in-out infinite alternate}
.prof figure:nth-child(2){animation-delay:-5s}.prof figure:nth-child(3){animation-delay:-9s}
@keyframes pkb{from{background-position:50% 30%}to{background-position:50% 70%}}
.prof figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#00143ae6)}
.prof figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;color:#fff}
.prof figcaption b{display:block;font:900 clamp(24px,2.4vw,32px)/1.1 Montserrat,sans-serif;color:var(--gold2,#ffc83a)}
.prof figcaption span{display:block;font-size:17px;margin-top:6px;line-height:1.45}
@media(max-width:760px){.prof{grid-template-columns:1fr}.prof figure{min-height:78vw;background-image:var(--bgs,var(--bg))}}
@media(prefers-reduced-motion:reduce){.prof figure{animation:none}}
