/* ==========================================================
   Lozy · Customs Bonded Warehouse — styles
   Tokens → base → components → sections → responsive → motion
   ========================================================== */
.cbw{
  --canvas:#F5F5F2;--paper:#FFFFFF;--ink:#0E0E0E;--graphite:#5E5E5A;--muted:#6A6A66;
  --line:rgba(14,14,14,.12);--line2:rgba(14,14,14,.24);
  --band:#080808;--on-band:#F5F5F2;--band-muted:#9C9C96;--band-line:rgba(245,245,242,.14);
  --accent:#ED1C24;      /* Lozy red: glows, counters, borders, large type */
  --accent-ink:#D8161E;  /* AA-safe red: button fills + small red text (5.2:1 on white) */
  --tint:rgba(237,28,36,.08);
  --fd:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fb:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fm:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs-display:clamp(44px,6.4vw,104px);--fs-h2:clamp(38px,5.4vw,84px);
  --px:clamp(20px,3.6vw,56px);--sec:clamp(88px,10vw,164px);
  --ubar:0px;--hh:0px;--r:20px;--ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;box-sizing:border-box;background:var(--canvas)}
.cbw *,.cbw *::before,.cbw *::after{box-sizing:inherit}
.cbw{margin:0;background:var(--canvas);color:var(--ink);font:400 17px/1.6 var(--fb);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
html.cbw-locked body{overflow:hidden}
.cbw img,.cbw svg,.cbw video,.cbw canvas{display:block;max-width:100%}
.cbw img{height:auto}
.cbw picture{display:contents}
.cbw a{color:inherit;text-decoration:none}
.cbw button,.cbw input{font:inherit;color:inherit}
.cbw button{background:none;border:0;padding:0;cursor:pointer}
.cbw h1,.cbw h2,.cbw h3,.cbw p,.cbw ol,.cbw ul,.cbw dl,.cbw dd,.cbw figure,.cbw blockquote{margin:0}
.cbw ol,.cbw ul{padding:0;list-style:none}
.cbw address{font-style:normal}
.cbw ::selection{background:var(--accent);color:#fff}
.cbw :focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:6px}
.cbw .band :focus-visible{outline-color:#fff}
.cbw .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cbw .wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--px)}
.cbw .section{position:relative;padding-block:var(--sec)}
.cbw .band{background:var(--band);color:var(--on-band)}

/* ---------- type ---------- */
.cbw .display{font:800 var(--fs-display)/.92 var(--fd);letter-spacing:-.05em}
.cbw .h2{font:800 var(--fs-h2)/.95 var(--fd);letter-spacing:-.045em}
.cbw .line{display:block;overflow:hidden;padding:0 .06em .13em;margin:0 -.06em -.13em}
.cbw .line__in{display:block}
.cbw .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;font:500 12px/1.2 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.cbw .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.cbw .band .eyebrow{color:var(--band-muted)}
.cbw .mono{font:500 12px/1.4 var(--fm);letter-spacing:.08em;text-transform:uppercase}
.cbw .lead{font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:var(--graphite);max-width:48ch}
.cbw .band .lead{color:var(--band-muted)}

/* ---------- placeholders (fill before launch) ---------- */

/* ---------- buttons + rolling text ---------- */
.cbw .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;font:600 15px/1 var(--fb);white-space:nowrap;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.cbw .btn--primary{background:var(--accent-ink);color:#fff}
.cbw .btn--primary:hover{background:#B51219}
.cbw .btn--ghost{border-color:var(--line2)}
.cbw .btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cbw .band .btn--ghost{border-color:rgba(245,245,242,.32)}
.cbw .band .btn--ghost:hover{background:var(--on-band);border-color:var(--on-band);color:var(--ink)}
.cbw .btn--sm{height:46px;padding:0 20px;font-size:14.5px}
.cbw .btn svg,.cbw .link-arrow svg{width:18px;height:18px;flex:none;transition:transform .45s var(--ease)}
.cbw .btn:hover svg,.cbw .link-arrow:hover svg{transform:translateX(4px)}
.cbw .roll{position:relative;display:inline-block;overflow:hidden;vertical-align:top;line-height:1.25}
.cbw .roll__t{display:block;white-space:nowrap;transition:transform .55s var(--ease)}
.cbw .roll::after{content:attr(data-text);content:attr(data-text) / "";position:absolute;left:0;top:100%;width:100%;white-space:nowrap;transition:transform .55s var(--ease)}
.cbw a:hover .roll__t,.cbw a:focus-visible .roll__t,.cbw button:hover .roll__t,.cbw button:focus-visible .roll__t,.cbw a:hover .roll::after,.cbw a:focus-visible .roll::after,.cbw button:hover .roll::after,.cbw button:focus-visible .roll::after{transform:translateY(-100%)}
.cbw .link-arrow{display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--line2);font-weight:600;transition:border-color .3s}
.cbw .link-arrow:hover{border-color:var(--ink)}

/* ---------- logo ---------- */

/* ---------- utility bar ---------- */
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(237,28,36,.55)}70%{box-shadow:0 0 0 7px rgba(237,28,36,0)}100%{box-shadow:0 0 0 0 rgba(237,28,36,0)}}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- header + menu ---------- */

/* ---------- hero ---------- */
.cbw .hero{position:relative;padding-top:clamp(16px,2.2vw,30px);padding-bottom:clamp(40px,5vw,80px);overflow:clip}
.cbw .crumbs ol{display:flex;flex-wrap:wrap;gap:10px;font:500 11.5px/1.3 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cbw .crumbs li{display:flex;gap:10px}
.cbw .crumbs li+li::before{content:"/";color:rgba(14,14,14,.3)}
.cbw .crumbs a:hover,.cbw .crumbs [aria-current]{color:var(--ink)}
.cbw .hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(20px,3vw,48px);align-items:center;min-height:min(800px,calc(100svh - var(--ubar) - var(--hh) - 90px));padding-top:clamp(20px,3vw,40px)}
.cbw .hero__title{display:flex;flex-direction:column;gap:clamp(16px,1.8vw,26px)}
.cbw .hero__kicker{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font:700 clamp(15px,1.2vw,18px)/1.3 var(--fd);letter-spacing:-.01em}
.cbw .hero__kicker::before{content:"";width:32px;height:2px;background:var(--accent)}
.cbw .hero__sub{margin-top:clamp(22px,2.2vw,32px);max-width:46ch;font-size:clamp(16.5px,1.25vw,19px);color:var(--graphite)}
.cbw .hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cbw .hero__meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:24px;font:500 11.5px/1.4 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cbw .hero__stage{position:relative;aspect-ratio:15/11;width:calc(100% + 6vw);margin-right:-6vw}
.cbw .hero__glow{position:absolute;left:6%;right:2%;top:12%;bottom:4%;border-radius:50%;background:radial-gradient(closest-side,rgba(237,28,36,.36),rgba(237,28,36,.12) 55%,rgba(237,28,36,0));pointer-events:none}
.cbw .hero__img,.cbw .hero__canvas{position:absolute;inset:0;width:100%;height:100%}
.cbw .hero__img{object-fit:contain;transition:opacity .9s var(--ease)}
.cbw .hero__canvas{opacity:0;transition:opacity .9s var(--ease)}
.cbw .hero__stage.is-3d .hero__canvas{opacity:1}
.cbw .hero__stage.is-3d .hero__img{opacity:0}
.cbw .seal-tag{position:absolute;left:calc(var(--sx) * 100%);top:calc(var(--sy) * 100%);z-index:4;width:0;height:0;pointer-events:none}
.cbw .seal-tag__ring{position:absolute;left:-12px;top:-12px;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--accent)}
.cbw .seal-tag__ring::after{content:"";position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid var(--accent);animation:ring 2.4s var(--ease) infinite}
@keyframes ring{from{transform:scale(1);opacity:.8}to{transform:scale(2.2);opacity:0}}
.cbw .seal-tag__line{position:absolute;left:-8px;top:-8px;width:64px;height:1.5px;background:var(--accent);transform-origin:0 0;transform:rotate(-128deg)}
.cbw .seal-tag__label{position:absolute;right:40px;bottom:50px;padding:8px 11px;border-radius:999px;background:var(--accent-ink);color:#fff;font:500 11px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 24px -10px rgba(216,22,30,.6)}
.cbw .hero__steps{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:clamp(28px,4vw,52px);padding-top:20px;border-top:1px solid var(--line);font:500 11.5px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.cbw .hero__steps li{display:flex;align-items:center;gap:14px}
.cbw .hero__steps li+li::before{content:"";width:clamp(16px,3.4vw,64px);height:1px;background:var(--line2)}
.cbw .hero__steps li:nth-child(3){color:var(--accent-ink)}
html.cbw-anim-hero .cbw .hero .line__in{transform:translateY(115%)}
html.cbw-anim-hero .cbw .crumbs,html.cbw-anim-hero .cbw .hero__kicker,html.cbw-anim-hero .cbw .hero__sub,html.cbw-anim-hero .cbw .hero__ctas,html.cbw-anim-hero .cbw .hero__meta,html.cbw-anim-hero .cbw .hero__stage,html.cbw-anim-hero .cbw .hero__steps{opacity:0}

/* ---------- intro ---------- */
.cbw .intro{background:var(--paper)}
.cbw .intro__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,6.5vw,120px);align-items:center}
.cbw .intro__media{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:#EBEBE7}
.cbw .intro__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);will-change:transform}
.cbw .intro .h2{font-size:clamp(38px,4.6vw,72px);margin-bottom:clamp(24px,2.6vw,40px)}
.cbw .intro__def{font-size:clamp(18px,1.4vw,21px);line-height:1.55;max-width:50ch}
.cbw .intro__text p+p{margin-top:18px;color:var(--graphite);max-width:52ch}
.cbw .intro__text .link-arrow{margin-top:30px}

/* ---------- stats ---------- */
.cbw .stats{background:var(--paper);padding-bottom:var(--sec)}
.cbw .stats__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.cbw .stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:18px;padding:clamp(28px,3vw,44px) clamp(16px,2.4vw,40px) 0 0}
.cbw .stat+.stat{padding-left:clamp(16px,2.4vw,40px);border-left:1px solid var(--line)}
.cbw .stat dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:.14em;font:800 clamp(64px,8.2vw,132px)/.86 var(--fd);letter-spacing:-.055em;color:var(--accent);font-variant-numeric:tabular-nums}
.cbw .stat__unit{font-size:.36em;letter-spacing:-.03em;color:var(--ink)}
.cbw .stat dt{max-width:28ch;font:500 12px/1.45 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.cbw .stat .ph--xl{align-self:center;font-size:.3em;padding:.25em .5em}

/* ---------- section heads ---------- */
.cbw .sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:22px clamp(32px,5vw,96px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.cbw .sec-head--wide .sec-head__main{grid-column:1/-1}
.cbw .sec-head--wide .lead,.cbw .sec-head--wide .sec-head__side{grid-column:2}

/* ---------- scroll story ---------- */
.cbw .story{background:var(--canvas)}
.cbw .story__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:clamp(28px,4vw,72px);align-items:start}
.cbw .story__stage{position:sticky;top:calc(var(--hh) + env(safe-area-inset-top,0px) + 18px);height:min(760px,calc(100vh - var(--hh) - 36px));border-radius:24px;background:#E9E9E4;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.cbw .story__svg{position:absolute;inset:0;width:100%;height:100%}
.cbw .story__svg--bg{will-change:transform}
.cbw .st-label{font:500 14px var(--fm);letter-spacing:.08em;text-transform:uppercase;fill:#5E5E5A}
.cbw .st-label--red{fill:var(--accent-ink)}
.cbw .route{fill:none;stroke:rgba(14,14,14,.3);stroke-width:2.5;stroke-dasharray:2 9;stroke-linecap:round}
.cbw .trail{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cbw .clock{position:absolute;left:18px;bottom:18px;z-index:2;width:min(330px,calc(100% - 36px));padding:16px 18px;border-radius:16px;background:var(--band);color:var(--on-band);box-shadow:0 24px 50px -24px rgba(0,0,0,.5)}
.cbw .clock__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.cbw .clock__row+.clock__row{margin-top:12px}
.cbw .clock__k{font:500 10.5px/1.3 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted)}
.cbw .clock__v{font:800 30px/1 var(--fd);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cbw .clock__v--red{color:var(--accent)}
.cbw .clock__bar{height:4px;margin:12px 0 6px;border-radius:4px;background:rgba(245,245,242,.14);overflow:hidden}
.cbw .clock__bar i{display:block;height:100%;background:var(--accent);transform-origin:0 50%}
.cbw .clock__scale{display:flex;justify-content:space-between;font:500 10px/1.2 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--band-muted)}
.cbw .clock__note{margin-top:12px;font-size:12px;line-height:1.4;color:var(--band-muted)}
.cbw .chapter{min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding-block:48px;border-top:1px solid var(--line)}
.cbw .chapter:first-child{border-top:0}
html.cbw-gsap .cbw .chapter{opacity:.32;transition:opacity .5s var(--ease)}
html.cbw-gsap .cbw .chapter.is-active{opacity:1}
.cbw .chapter__media{position:relative;width:min(300px,100%);margin-bottom:22px}
.cbw .chapter__media--pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(400px,100%);align-items:end}
.cbw .chapter__num{font:500 12px/1 var(--fm);letter-spacing:.08em;color:var(--accent-ink)}
.cbw .chapter h3{margin:12px 0 14px;font:800 clamp(32px,3.3vw,50px)/1 var(--fd);letter-spacing:-.045em}
.cbw .chapter p{max-width:42ch;color:var(--graphite)}
.cbw .chapter__label{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;margin-top:20px;padding:10px 14px;border:1px solid var(--line2);border-radius:999px;background:var(--paper);font:500 11.5px/1.35 var(--fm);letter-spacing:.06em;text-transform:uppercase}
.cbw .chapter__label::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.cbw .split{display:grid;gap:10px;margin-top:20px}
.cbw .split__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 11.5px/1.35 var(--fm);letter-spacing:.05em;text-transform:uppercase}
.cbw .split__row li{display:flex;align-items:center;gap:8px}
.cbw .split__row li span{padding:8px 12px;border:1px solid var(--line2);border-radius:999px;background:var(--paper)}
.cbw .split__row li+li::before{content:"→";content:"→" / "";color:var(--accent-ink);font-size:15px}
.cbw .split__row li:last-child span{border-color:var(--accent-ink);color:var(--accent-ink)}

/* ---------- services ---------- */
.cbw .services{background:var(--paper)}
.cbw .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cbw .card{position:relative;display:flex;flex-direction:column;min-height:clamp(320px,27vw,390px);padding:clamp(22px,2.4vw,36px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .45s var(--ease)}
.cbw .card:hover{background:var(--canvas)}
.cbw .card__num{position:absolute;top:clamp(22px,2.4vw,36px);right:clamp(22px,2.4vw,36px);font:500 12px/1 var(--fm);letter-spacing:.08em;color:var(--muted);transition:color .3s}
.cbw .card:hover .card__num{color:var(--accent-ink)}
.cbw .card__media{height:clamp(120px,11vw,165px);margin-bottom:auto}
.cbw .card__media img{height:100%;width:auto;transition:transform .6s var(--ease)}
.cbw .card:hover .card__media img{transform:translateY(-6px) scale(1.04)}
.cbw .card h3{margin-top:26px;font:700 clamp(20px,1.6vw,24px)/1.2 var(--fd);letter-spacing:-.02em}
.cbw .card p{margin-top:10px;max-width:36ch;font-size:16px;color:var(--graphite)}
.cbw .svc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:clamp(32px,4vw,56px)}

/* ---------- reliability (black band + crane) ---------- */
.cbw .rel{overflow:hidden}
.cbw .crane{position:relative;height:clamp(300px,33vw,480px);margin:clamp(48px,6vw,88px) 0 clamp(40px,5vw,72px)}
.cbw .crane__girder{position:absolute;left:0;right:0;top:0;height:48px;border-top:5px solid #2F2F2F;border-bottom:5px solid #2F2F2F;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='38' viewBox='0 0 56 38'%3E%3Cpath d='M0 37 28 1 56 37' fill='none' stroke='%23363636' stroke-width='3'/%3E%3Cpath d='M28 1v36' stroke='%23262626' stroke-width='2'/%3E%3C/svg%3E") repeat-x left center/56px 38px}
.cbw .crane__girder::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:3px;background:var(--accent)}
.cbw .crane__leg{position:absolute;top:0;bottom:0;width:30px;border-left:4px solid #2F2F2F;border-right:4px solid #2F2F2F;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='40' viewBox='0 0 22 40'%3E%3Cpath d='M1 0 21 20 1 40' fill='none' stroke='%23363636' stroke-width='3'/%3E%3C/svg%3E") repeat-y center top/22px 40px}
.cbw .crane__leg--l{left:var(--px)}.cbw .crane__leg--r{right:var(--px)}
.cbw .crane__floor{position:absolute;left:0;right:0;bottom:0;border-top:1px dashed var(--band-line)}
.cbw .crane__trolley{position:absolute;top:-8px;left:0;width:clamp(210px,24vw,360px);will-change:transform}
.cbw .crane__cab{position:relative;width:118px;height:30px;margin:0 auto;border-radius:6px;background:#1D1D1D;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.cbw .crane__cab::after{content:"";position:absolute;right:10px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px 2px rgba(237,28,36,.7)}
.cbw .crane__hang{position:relative;transform-origin:50% 0;padding-top:clamp(60px,7vw,110px)}
.cbw .crane__cables{position:absolute;left:0;top:0;width:100%;height:clamp(66px,7.6vw,118px)}
.cbw .crane__load{width:100%}
.cbw .features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--band-line)}
.cbw .feature{padding:clamp(24px,2.6vw,40px) clamp(16px,2vw,32px) 0 0}
.cbw .feature+.feature{padding-left:clamp(16px,2vw,32px);border-left:1px solid var(--band-line)}
.cbw .feature__num{font:500 12px/1 var(--fm);letter-spacing:.08em;color:var(--accent)}
.cbw .feature h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 10px;font:700 clamp(22px,1.8vw,28px)/1.15 var(--fd);letter-spacing:-.02em}
.cbw .feature p{max-width:38ch;color:var(--band-muted)}

/* ---------- ocean → sky ---------- */
.cbw .sky{position:relative;height:210vh;background:#040C12}
.cbw .sky__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;contain:paint}
.cbw .sky__ocean{position:absolute;inset:0;background:radial-gradient(120% 85% at 60% 45%,#133342 0%,#0B2130 40%,#06131C 74%,#040C12 100%)}
.cbw .sky__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cbw .sky__waves{position:absolute;inset:-10%;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='140' viewBox='0 0 220 140'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.12' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10 30q14-10 28 0'/%3E%3Cpath d='M120 18q12-8 24 0'/%3E%3Cpath d='M70 80q16-11 32 0'/%3E%3Cpath d='M170 100q12-8 24 0'/%3E%3Cpath d='M20 120q10-7 20 0'/%3E%3C/g%3E%3C/svg%3E") 0 0/220px 140px;will-change:transform}
.cbw .sky:not(.is-in) .sky__waves{animation-play-state:paused}
@keyframes waves{to{transform:translate3d(-220px,-140px,0)}}
.cbw .sky__shipwrap{position:absolute;left:14%;top:34%;width:min(64vw,900px);transform:rotate(-14deg);will-change:transform}
.cbw .sky__wake{position:absolute;right:88%;top:50%;width:80%;height:130%;transform:translateY(-50%)}
.cbw .sky__ship{position:relative;width:100%}
.cbw .sky__cloud{position:absolute;inset:0;opacity:0;pointer-events:none;will-change:transform,opacity}
.cbw .sky__cloud--1{background:radial-gradient(26% 20% at 24% 62%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%),radial-gradient(22% 17% at 70% 36%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%),radial-gradient(30% 20% at 52% 86%,rgba(255,255,255,.85),rgba(255,255,255,0) 70%)}
.cbw .sky__cloud--2{background:radial-gradient(30% 22% at 38% 30%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%),radial-gradient(26% 20% at 82% 70%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%),radial-gradient(24% 18% at 12% 84%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%)}
.cbw .sky__cloud--3{background:radial-gradient(90% 70% at 50% 45%,rgba(255,255,255,.96),rgba(236,239,241,.92) 70%,rgba(226,230,233,.9))}
.cbw .sky__plane{position:absolute;left:50%;top:50%;width:min(48vw,640px);z-index:3;will-change:transform}
.cbw .sky__cap{position:absolute;left:var(--px);bottom:12vh;z-index:4;color:#fff}
.cbw .sky__cap .mono{display:block;margin-bottom:12px;color:rgba(255,255,255,.72)}
.cbw .sky__big{display:block;font:800 clamp(52px,9vw,148px)/.9 var(--fd);letter-spacing:-.05em}
.cbw .sky__cap--air{left:auto;right:var(--px);text-align:right;color:var(--ink);opacity:0}
.cbw .sky__cap--air .mono{color:var(--graphite)}
.cbw .sky__white{position:absolute;inset:0;z-index:5;background:var(--paper);opacity:0;pointer-events:none}
html:not(.cbw-js) .cbw .sky,html.cbw-static .cbw .sky{height:auto}
html:not(.cbw-js) .cbw .sky__pin,html.cbw-static .cbw .sky__pin{position:relative;height:72vh}
html:not(.cbw-js) .cbw .sky__cloud,html:not(.cbw-js) .cbw .sky__plane,html:not(.cbw-js) .cbw .sky__cap--air,html:not(.cbw-js) .cbw .sky__white,html.cbw-static .cbw .sky__cloud,html.cbw-static .cbw .sky__plane,html.cbw-static .cbw .sky__cap--air,html.cbw-static .cbw .sky__white{display:none}

/* ---------- why us ---------- */
.cbw .why{background:var(--paper)}
.cbw .why__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,110px);align-items:start}
.cbw .why__head{position:sticky;top:calc(var(--hh) + 40px)}
.cbw .why .h2{font-size:clamp(38px,4.6vw,76px)}
.cbw .why__plane{width:clamp(120px,12vw,176px);margin-bottom:28px;transform:rotate(-30deg)}
.cbw .why__head .btn{margin-top:34px}
.cbw .why__list{border-top:1px solid var(--line)}
.cbw .why__item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:clamp(22px,2.4vw,32px) 0;border-bottom:1px solid var(--line)}
.cbw .why__num{font:500 12px/2 var(--fm);letter-spacing:.08em;color:var(--accent-ink)}
.cbw .why__item h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:700 clamp(21px,1.7vw,26px)/1.2 var(--fd);letter-spacing:-.02em}
.cbw .why__item p{margin-top:8px;max-width:52ch;color:var(--graphite)}

/* ---------- testimonials ---------- */

/* ---------- gateways ---------- */
.cbw .gw{background:var(--paper)}
.cbw .gw__group+.gw__group{margin-top:clamp(28px,3vw,44px)}
.cbw .gw__label{margin-bottom:14px;font:500 12px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.cbw .gw__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.cbw .tile{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:150px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--canvas);color:var(--graphite);transition:background-color .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease)}
.cbw .tile:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff;transform:translateY(-3px)}
.cbw .tile__type{font:500 11px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase}
.cbw .tile__name{font:700 clamp(19px,1.5vw,22px)/1.15 var(--fd);letter-spacing:-.02em;color:var(--ink);transition:color .45s}
.cbw .tile:hover .tile__name{color:#fff}
.cbw .tile__meta{font-size:13.5px}
.cbw .tile--add{border-style:dashed;background:transparent}

/* ---------- insights ---------- */
.cbw .ins{background:var(--paper)}
.cbw .posts-wrap{position:relative}
.cbw .posts{border-top:1px solid var(--line)}
.cbw .post a{display:grid;grid-template-columns:130px 120px minmax(0,1fr) 44px;align-items:center;gap:20px;padding:clamp(20px,2.2vw,30px) 0;border-bottom:1px solid var(--line)}
.cbw .post__cat{font:500 12px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
.cbw .post__date{font:500 12px/1 var(--fm);letter-spacing:.08em;color:var(--muted)}
.cbw .post__title{font:700 clamp(20px,2vw,30px)/1.2 var(--fd);letter-spacing:-.025em;transition:transform .5s var(--ease)}
.cbw .post__arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);transition:background-color .35s,color .35s,border-color .35s}
.cbw .post__arrow svg{width:18px;height:18px}
.cbw .post a:hover .post__title{transform:translateX(10px)}
.cbw .post a:hover .post__arrow{background:var(--ink);border-color:var(--ink);color:#fff}
.cbw .posts__thumb{position:absolute;left:0;top:0;z-index:3;width:250px;aspect-ratio:4/3;pointer-events:none;opacity:0;transition:opacity .35s var(--ease)}
.cbw .posts__thumb.is-on{opacity:1}
.cbw .posts__inner{position:absolute;inset:0;overflow:hidden;border-radius:14px;background:#EDEDE9;box-shadow:0 30px 60px -30px rgba(0,0,0,.4);transform:scale(.85);transition:transform .45s var(--ease)}
.cbw .posts__thumb.is-on .posts__inner{transform:scale(1)}
.cbw .posts__inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px;opacity:0;transition:opacity .3s}
.cbw .posts__inner img.is-on{opacity:1}

/* ---------- FAQ ---------- */
.cbw .faq{background:var(--canvas)}
.cbw .faq__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,110px);align-items:start}
.cbw .faq__head{position:sticky;top:calc(var(--hh) + 40px)}
.cbw .faq .h2{font-size:clamp(36px,4.2vw,66px)}
.cbw .faq__help{max-width:420px;margin-top:clamp(28px,3vw,44px);padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.cbw .faq__help-title{font:700 18px/1.3 var(--fd);letter-spacing:-.01em}
.cbw .faq__help-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}
.cbw .faq__help-links a{font-weight:600;text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:4px}
.cbw .faq__help-links a:hover{text-decoration-color:var(--accent-ink)}
.cbw .qa{border-top:1px solid var(--line)}
.cbw .qa:last-child{border-bottom:1px solid var(--line)}
.cbw .qa summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;list-style:none;cursor:pointer}
.cbw .qa summary::-webkit-details-marker{display:none}
.cbw .qa__q{font:700 clamp(18px,1.5vw,22px)/1.3 var(--fd);letter-spacing:-.015em}
.cbw .qa__icon{position:relative;flex:none;width:40px;height:40px;border:1px solid var(--line2);border-radius:50%;transition:background-color .35s,border-color .35s,color .35s}
.cbw .qa__icon::before,.cbw .qa__icon::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.8px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.cbw .qa__icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .45s var(--ease)}
.cbw .qa summary:hover .qa__icon{border-color:var(--ink)}
.cbw .qa[open] .qa__icon{background:var(--ink);border-color:var(--ink);color:#fff}
.cbw .qa[open] .qa__icon::after{transform:translate(-50%,-50%) rotate(0deg)}
.cbw .qa__a{max-width:64ch;padding:0 64px 26px 0;color:var(--graphite)}
.cbw .qa[open] .qa__a{animation:qa .5s var(--ease)}
@keyframes qa{from{opacity:0;transform:translateY(-6px)}}

/* ---------- closing CTA ---------- */
.cbw .cta{padding-block:clamp(96px,11vw,176px);overflow:hidden}
.cbw .cta__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center}
.cbw .cta .h2{font-size:clamp(44px,6.4vw,104px)}
.cbw .cta .lead{margin-top:28px}
.cbw .cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.cbw .cta__media{position:relative;justify-self:center;width:min(420px,100%)}
.cbw .cta__glow{position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(closest-side,rgba(237,28,36,.5),rgba(237,28,36,.14) 55%,rgba(237,28,36,0))}
.cbw .cta__media img{position:relative;width:auto;max-height:min(520px,70vh);margin:0 auto}

/* ---------- footer ---------- */

/* ---------- calculator drawer ---------- */
.cbw .scrim{position:fixed;inset:0;z-index:94;background:rgba(8,8,8,.5);opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s linear .45s}
.cbw .scrim.is-open{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}
.cbw .drawer{position:fixed;top:0;right:0;bottom:0;z-index:95;display:flex;flex-direction:column;width:min(500px,100vw);overflow-y:auto;overscroll-behavior:contain;padding:calc(env(safe-area-inset-top,0px) + 24px) clamp(20px,3vw,36px) calc(env(safe-area-inset-bottom,0px) + 28px);background:var(--paper);box-shadow:-40px 0 80px -40px rgba(0,0,0,.45);transform:translateX(102%);visibility:hidden;transition:transform .65s var(--ease),visibility 0s linear .65s}
.cbw .drawer.is-open{transform:none;visibility:visible;transition:transform .65s var(--ease)}
html:not(.cbw-js) .cbw .drawer{position:relative;inset:auto;width:auto;max-width:640px;margin:0 auto;padding:64px var(--px);transform:none;visibility:visible;box-shadow:none}
html:not(.cbw-js) .cbw .scrim,html:not(.cbw-js) .cbw .drawer__close{display:none}
.cbw .drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.cbw .drawer__head .eyebrow{margin-bottom:12px}
.cbw .drawer__title{font:800 clamp(28px,3vw,36px)/1.02 var(--fd);letter-spacing:-.04em}
.cbw .drawer__intro{margin-top:8px;color:var(--graphite)}
.cbw .drawer__close{flex:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line2);border-radius:50%;font-size:24px;line-height:1;transition:background-color .3s,color .3s}
.cbw .drawer__close:hover{background:var(--ink);color:#fff}
.cbw .calc{display:grid;gap:16px;padding-top:20px}
.cbw .calc__sample{font:500 11.5px/1.4 var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cbw .field{display:grid;gap:8px}
.cbw .field label{font-size:14.5px;font-weight:600}
.cbw .field input{width:100%;height:52px;padding:0 16px;border:1px solid var(--line2);border-radius:12px;background:var(--canvas);font:500 17px/1 var(--fm);transition:border-color .3s,background-color .3s,box-shadow .3s}
.cbw .field input:focus{outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(216,22,30,.22)}
.cbw .field__help{font-size:13.5px;color:var(--graphite)}
.cbw .calc__out{margin-top:6px;padding:6px 20px;border-radius:16px;background:var(--band);color:var(--on-band)}
.cbw .calc__out div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--band-line)}
.cbw .calc__out div:last-child{border-bottom:0}
.cbw .calc__out dt{font-size:14.5px;color:var(--band-muted)}
.cbw .calc__out dd{text-align:right;font:700 20px/1.2 var(--fd);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.cbw .calc__out .calc__net dd{font-size:26px;color:var(--accent)}
.cbw .calc__empty{font:500 13px/1.3 var(--fb);color:var(--band-muted)}
.cbw .calc__note{font-size:13.5px;color:var(--graphite)}

/* ---------- page transition, preview note ---------- */

/* ---------- preloader ---------- */

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .cbw{--hh:0px;--fs-display:clamp(44px,9.4vw,96px)}
  .cbw .hero__grid{grid-template-columns:1fr;min-height:0}
  .cbw .hero__stage{width:100%;max-width:720px;margin:0 auto}
  .cbw .intro__grid,.cbw .why__grid,.cbw .faq__grid,.cbw .cta__grid{grid-template-columns:1fr}
  .cbw .intro__media{aspect-ratio:16/11}
  .cbw .sec-head{grid-template-columns:1fr}
  .cbw .sec-head--wide .lead,.cbw .sec-head--wide .sec-head__side{grid-column:1}
  .cbw .story__grid{grid-template-columns:1fr;gap:0}
  .cbw .story__stage{z-index:2;top:calc(var(--hh) + env(safe-area-inset-top,0px));height:46vh;height:46svh;border-radius:18px}
  .cbw .chapter{min-height:72vh;padding-block:36px}
  .cbw .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cbw .features{grid-template-columns:1fr}
  .cbw .feature{padding-bottom:24px}
  .cbw .feature+.feature{padding-left:0;border-left:0;border-top:1px solid var(--band-line)}
  .cbw .why__head,.cbw .faq__head{position:static}
  .cbw .cta__media{width:min(300px,70%)}
}
@media (max-width:767px){
  .cbw{--hh:0px}
  .cbw{font-size:16px}
  .cbw .hero__ctas .btn{width:100%}
  .cbw .hero__steps li+li::before{width:10px}
  .cbw .stats__grid{grid-template-columns:1fr}
  .cbw .stat{padding:24px 0}
  .cbw .stat+.stat{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .cbw .chapter__media{display:none}
  .cbw .st-label{font-size:24px}
  .cbw .clock{left:10px;bottom:10px;width:calc(100% - 20px);padding:10px 14px}
  .cbw .clock__v{font-size:22px}
  .cbw .clock__bar{margin:8px 0 0}
  .cbw .clock__scale,.cbw .clock__note{display:none}
  .cbw .cards{grid-template-columns:1fr}
  .cbw .card{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:18px;min-height:0}
  .cbw .card__media{grid-row:span 2;height:92px;margin:0}
  .cbw .card h3{margin-top:2px;padding-right:28px}
  .cbw .crane{height:250px}
  .cbw .sky{height:170vh}
  .cbw .post a{grid-template-columns:auto 1fr 36px;grid-template-areas:"cat date arrow" "title title title";row-gap:10px}
  .cbw .post__cat{grid-area:cat}.cbw .post__date{grid-area:date}.cbw .post__title{grid-area:title}
  .cbw .post__arrow{grid-area:arrow;width:36px;height:36px}
  .cbw .qa__a{padding-right:0}
}

/* ---------- reduced motion: full static page ---------- */
@media (prefers-reduced-motion:reduce){
  .cbw *,.cbw *::before,.cbw *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.cbw .stats__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cbw .facts{margin-top:clamp(40px,5vw,72px)}
.cbw .facts__title{margin-bottom:16px;font:500 12px/1.2 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.cbw .facts__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line)}
.cbw .facts__item{padding:20px 20px 0 0}
.cbw .facts__item+.facts__item{padding-left:20px;border-left:1px solid var(--line)}
.cbw .facts__item dt{font:700 17px/1.3 var(--fd);letter-spacing:-.01em}
.cbw .facts__item dd{margin-top:8px;font-size:15px;line-height:1.5;color:var(--graphite)}
.cbw .facts__src{margin-top:18px;font-size:13px;color:var(--muted)}
.cbw .intro__media--depth{background:#cdd1d4;will-change:transform}
.cbw .intro__media--depth .intro__layer{position:absolute;inset:-5%;width:110%;height:110%;max-width:none;object-fit:cover;transform:none;will-change:transform}
.cbw .intro__glare{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,40%),rgba(255,255,255,.3),rgba(255,255,255,0) 65%);transition:opacity .45s var(--ease)}
.cbw .intro__media--depth.is-hover .intro__glare{opacity:1}
.cbw .intro__caption{position:absolute;left:14px;bottom:14px;z-index:3;padding:8px 12px;border-radius:999px;background:rgba(8,8,8,.74);color:#fff;font:500 11px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase}
.cbw .cta__media--photo{width:min(640px,100%);justify-self:end}
.cbw .cta__photo{position:relative;border-radius:22px;overflow:hidden;-webkit-mask-image:radial-gradient(125% 125% at 50% 45%,#000 58%,transparent 100%);mask-image:radial-gradient(125% 125% at 50% 45%,#000 58%,transparent 100%);will-change:transform}
.cbw .cta__media--photo img{width:100%;height:auto;max-height:none;margin:0}
.cbw .cta__media--photo .cta__glow{inset:-10%}
.cbw .tile__go{font:500 11px/1 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);transition:color .45s}
.cbw .tile:hover .tile__go{color:#fff}
.cbw .tile--here{border-color:var(--accent-ink);background:var(--paper)}
.cbw .tile--here:hover{background:var(--paper);color:var(--graphite);transform:none}
.cbw .tile--here:hover .tile__name{color:var(--ink)}
.cbw .gw__more{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:clamp(24px,3vw,40px);font-size:15px}
.cbw .gw__more a{padding:8px 14px;border:1px solid var(--line2);border-radius:999px;transition:background-color .3s,color .3s,border-color .3s}
.cbw .gw__more a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cbw .compare{background:var(--canvas);padding-bottom:0}
.cbw .compare__wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.cbw .compare table{width:100%;min-width:640px;border-collapse:collapse;font-size:15.5px}
.cbw .compare caption{padding:18px 22px;text-align:left;font:500 12px/1.2 var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.cbw .compare th,.cbw .compare td{padding:16px 22px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.cbw .compare thead th{font:700 16px/1.25 var(--fd);letter-spacing:-.01em;background:var(--canvas)}
.cbw .compare thead th:nth-child(2){color:var(--accent-ink)}
.cbw .compare tbody th{width:22%;font-weight:600}
.cbw .compare td{color:var(--graphite)}
.cbw .compare td:first-of-type{color:var(--ink)}
.cbw .faq__all{margin-top:18px}
.cbw .hero__meta a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cbw .scrim{z-index:10000}.cbw .drawer{z-index:10001}
.cbw .stats{padding-bottom:clamp(56px,7vw,112px)}
@media (max-width:1023px){.cbw .facts__list{grid-template-columns:1fr 1fr}.cbw .facts__item,.cbw .facts__item+.facts__item{padding:16px 16px 16px 0;border-left:0;border-bottom:1px solid var(--line)}.cbw .cta__media--photo{justify-self:center}}
@media (max-width:767px){.cbw .stats__grid--2{grid-template-columns:1fr}.cbw .facts__list{grid-template-columns:1fr}}
