/* ===== refined typography + buttons (loaded last) =====
   Bricolage Grotesque headings · Geist text · Geist Mono labels */

/* ---- headings ---- */
h1,h2{font-family:var(--head);font-weight:800;letter-spacing:-.028em;line-height:1.05;text-transform:uppercase}
h2{font-size:clamp(27px,6vw,52px)}
.phero h1{font-size:clamp(32px,6vw,66px)}
.h2-info h1{font-size:clamp(22px,2.8vw,36px)}
.sv-title h2{font-size:clamp(24px,3.4vw,46px)}
h3,.fc h3,.sc h3,.st h3{font-family:var(--head);font-weight:700;letter-spacing:-.015em}
/* short CMYK rule under section titles */
.sec-head h2::after,.phero h1::after{content:"";display:block;width:72px;height:4px;margin-top:16px;border-radius:2px;background:linear-gradient(90deg,var(--cy) 0 25%,var(--ma) 25% 50%,var(--ye) 50% 75%,var(--navy) 75%)}
.sec-head.c h2::after{margin-left:auto;margin-right:auto}
.cta-band h2::after{display:none}

/* ---- buttons ---- */
.btn{font-family:"Geist","Inter",system-ui,sans-serif;font-weight:600;font-size:15px;letter-spacing:.01em;padding:14px 26px;border-radius:12px;border:1.5px solid var(--navy);box-shadow:none;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s}
.btn.p{background:var(--navy);color:#fff}
.btn.g{background:transparent;color:var(--navy)}
.btn.wa{background:#1f9d55;border-color:#1f9d55;color:#fff}
.btn.y{background:var(--cream);border-color:var(--cream);color:var(--navy)}
.btn.p:hover{background:var(--teal);border-color:var(--teal);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(3,25,38,.18)}
.btn.g:hover{background:var(--navy);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(3,25,38,.18)}
.btn.wa:hover,.btn.y:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(3,25,38,.18)}
.btn:active{transform:none;box-shadow:none}
.cta-band .btn.p{background:var(--cream);border-color:var(--cream);color:var(--navy)}
.cta-band .btn.p:hover{background:#fff;border-color:#fff;color:var(--navy)}
.cta-band .btn.g{background:transparent;border-color:rgba(244,233,205,.7);color:#fff}
.cta-band .btn.g:hover{background:#fff;border-color:#fff;color:var(--navy)}

/* ---- numbers: dark band ---- */
.stats-sec{background:var(--navy);overflow:hidden}
.stats-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(244,233,205,.1) 1.4px,transparent 1.8px) 0 0/16px 16px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}
.stats-sec .wrap{position:relative}
.stats-sec .stats .stat{background:rgba(244,233,205,.06);border:1px solid rgba(244,233,205,.2);border-radius:var(--r);padding:34px 16px}
.stats-sec .stats .stat b{font-family:var(--head);font-weight:800;font-size:clamp(36px,5vw,58px);color:var(--cream);letter-spacing:-.03em}
.stats-sec .stats .stat span{color:var(--mist);margin-top:10px;display:block}

/* ---- process numbers ---- */
.proc-sec{background:#e4efec}
.st::before{font-family:var(--head);font-weight:800;font-size:52px;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px var(--teal)}
.st.on::before{color:var(--teal)}

/* ---- section dividers: simple, soft shapes ---- */
.dv{position:relative;height:var(--h,40px);background:var(--a);margin:-1px 0;pointer-events:none;overflow:hidden}
.dv::after{content:"";position:absolute;inset:0;background:var(--b);-webkit-mask:var(--m) bottom/100% 100% no-repeat;mask:var(--m) bottom/100% 100% no-repeat}
.dv-curve{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 46 Q600 -14 1200 46 V60 H0Z'/%3E%3C/svg%3E")}
.dv-dip{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q600 66 1200 6 V60 H0Z'/%3E%3C/svg%3E")}
.dv-slant{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 54 L1200 6 V60 H0Z'/%3E%3C/svg%3E")}
.dv-slant2{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 6 L1200 54 V60 H0Z'/%3E%3C/svg%3E")}
.dv-wave{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C300 8 450 8 600 30 S900 52 1200 30 V60 H0Z'/%3E%3C/svg%3E")}
.dv-line{--h:34px}
.dv-line::before{content:"";position:absolute;left:max(22px,calc((100% - 1200px) / 2 + 22px));right:max(22px,calc((100% - 1200px) / 2 + 22px));top:50%;height:1px;background:var(--line)}
.dv-line::after{inset:auto;left:50%;top:50%;width:64px;height:5px;translate:-50% -50%;border-radius:3px;-webkit-mask:none;mask:none;background:linear-gradient(90deg,var(--cy) 0 25%,var(--ma) 25% 50%,var(--ye) 50% 75%,var(--navy) 75%)}

@media(max-width:900px){
 nav a.l{font-family:var(--head);font-weight:800;font-size:clamp(38px,12vw,64px);letter-spacing:-.03em}
}
