/* Cabwright v2: highway-signage system. Asphalt, interstate green, reflective white, lane yellow; brand orange only on primary actions. */
:root{
  --asphalt:#15171a;
  --asphalt-2:#1f2327;
  --asphalt-3:#2b3036;
  --green:#0d5a3b;
  --green-2:#0a4730;
  --white:#f5f4ef;
  --paper:#ecebe4;
  --yellow:#f2b512;
  --orange:#c2510a;
  --orange-2:#a94508;
  --ink:#15171a;
  --ink-soft:#4a4f55;
  --line:#d6d4cb;
  --display:'Overpass',system-ui,sans-serif;
  --body:'Public Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
.cw *{box-sizing:border-box}
.cw{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
.cw img{max-width:100%;display:block}
.cw a{color:inherit}
.cw .wrap{width:min(1180px,100% - 40px);margin:0 auto}
.cw h1,.cw h2,.cw h3{font-family:var(--display);font-weight:900;line-height:1.02;letter-spacing:-.01em;margin:0}
.cw p{margin:0}
.cw :focus-visible{outline:3px solid var(--yellow);outline-offset:3px}

/* top bar */
.cw .bar{position:absolute;inset:0 0 auto 0;z-index:5;padding:22px 0}
.cw .bar .wrap{display:flex;align-items:center;justify-content:space-between}
.cw .brand{font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:.04em;text-decoration:none;color:var(--white)}
.cw .brand span{color:var(--yellow)}
.cw .bar-link{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--white);border-bottom:2px solid var(--yellow);padding-bottom:2px}

/* signature: the exit sign */
.cw .sign{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--green);color:#fff;text-decoration:none;
  border-radius:12px;padding:16px 26px 15px;box-shadow:inset 0 0 0 3px var(--green),inset 0 0 0 5px #fff,0 18px 40px -18px rgba(0,0,0,.7);
  font-family:var(--display);transition:transform .2s ease,background .2s ease}
.cw .sign:hover{background:var(--green-2);transform:translateY(-2px)}
.cw .sign .tab{position:absolute;top:-17px;right:18px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px 2px;border-radius:6px 6px 0 0}
.cw .sign .big{font-weight:900;font-size:24px;line-height:1.1}
.cw .sign .small{font-weight:600;font-size:14px;opacity:.85;letter-spacing:.02em}
.cw .sign .arrow{display:inline-block;margin-left:8px;transition:transform .2s ease}
.cw .sign:hover .arrow{transform:translateX(4px)}
.cw .sign.orange{background:var(--orange);box-shadow:inset 0 0 0 3px var(--orange),inset 0 0 0 5px #fff,0 18px 40px -18px rgba(0,0,0,.6)}
.cw .sign.orange:hover{background:var(--orange-2)}

/* hero */
.cw .hero{position:relative;min-height:min(100vh,860px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--asphalt)}
.cw .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 62%}
.cw .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,15,17,.92) 0%,rgba(13,15,17,.72) 42%,rgba(13,15,17,.15) 75%),linear-gradient(0deg,rgba(13,15,17,.85) 0%,rgba(13,15,17,0) 45%)}
.cw .hero .wrap{position:relative;z-index:2;padding:130px 0 56px}
.cw .kicker{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow)}
.cw .hero h1{font-size:clamp(44px,6.2vw,88px);max-width:13.5ch;margin:18px 0 24px;text-transform:uppercase}
.cw .hero h1 em{font-style:normal;color:var(--yellow)}
.cw .hero .sub{max-width:520px;font-size:19px;color:#d9d8d1}
.cw .hero .go{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:44px}
.cw .hero .note{font-size:15px;color:#bdbcb4;max-width:230px;line-height:1.45}
.cw .mile{display:flex;gap:0;margin-top:52px;border-top:1px solid rgba(255,255,255,.18);max-width:760px}
.cw .mile div{flex:1;padding:18px 18px 0 0}
.cw .mile b{display:block;font-family:var(--mono);font-weight:500;font-size:30px;color:#fff}
.cw .mile span{font-size:14px;color:#bdbcb4}

/* section heads */
.cw .sec{padding:120px 0}
.cw .head{max-width:720px;margin-bottom:60px}
.cw .head h2{font-size:clamp(36px,4.6vw,62px);text-transform:uppercase;margin:14px 0 18px}
.cw .head p{color:var(--ink-soft);font-size:19px}
.cw .kicker.dark{color:var(--green)}

/* the road */
.cw .road-sec{background:var(--asphalt);color:var(--white)}
.cw .road-sec .head p{color:#bdbcb4}
.cw .road-sec .kicker{color:var(--yellow)}
.cw .road{position:relative;padding:20px 0}
.cw .road::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:120px;transform:translateX(-50%);
  background:linear-gradient(90deg,#3a3f45 0 3px,var(--asphalt-3) 3px calc(100% - 3px),#3a3f45 calc(100% - 3px));border-radius:4px}
.cw .road::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:6px;transform:translateX(-50%);
  background:repeating-linear-gradient(180deg,var(--yellow) 0 34px,transparent 34px 64px)}
.cw .exit{position:relative;z-index:2;display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;margin:0 0 70px}
.cw .exit:last-child{margin-bottom:0}
.cw .exit .card{grid-column:1;justify-self:end;max-width:470px;text-align:right;padding:0 48px}
.cw .exit:nth-child(even) .card{grid-column:3;justify-self:start;text-align:left}
.cw .exit .exit-sign{display:inline-block;background:var(--green);border-radius:10px;padding:14px 20px 12px;box-shadow:inset 0 0 0 2px var(--green),inset 0 0 0 4px #fff;position:relative;text-align:left}
.cw .exit .exit-sign .tab{position:absolute;top:-15px;left:14px;background:var(--yellow);color:var(--ink);font-family:var(--display);font-weight:900;font-size:11px;letter-spacing:.08em;padding:3px 9px 1px;border-radius:5px 5px 0 0}
.cw .exit h3{font-size:26px;text-transform:uppercase;color:#fff}
.cw .exit p{margin-top:14px;color:#c9c8c0;font-size:17px}
.cw .exit .help{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--yellow);letter-spacing:.04em}
.cw .exit .dot{grid-column:2;grid-row:1;justify-self:center;width:18px;height:18px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 6px rgba(242,181,18,.2)}
.cw .road-note{margin-top:70px;max-width:720px;font-size:15px;color:#9d9c95;border-left:3px solid var(--yellow);padding-left:18px}

/* checklist */
.cw .check{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:start}
.cw .clipboard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px 34px 26px;box-shadow:0 30px 60px -40px rgba(0,0,0,.35);position:relative}
.cw .clipboard::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:120px;height:24px;background:var(--asphalt-3);border-radius:6px}
.cw .clip-title{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:6px}
.cw .clipboard ul{list-style:none;margin:0;padding:0}
.cw .clipboard li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:15px 0;border-bottom:1px dashed var(--line);font-size:17px}
.cw .clipboard li:last-child{border-bottom:0}
.cw .box{width:24px;height:24px;border:2px solid var(--ink);border-radius:4px;position:relative;margin-top:2px}
.cw .box::after{content:"";position:absolute;left:6px;top:1px;width:7px;height:13px;border:solid var(--green);border-width:0 3px 3px 0;transform:rotate(45deg)}
.cw .clipboard b{font-weight:700}
.cw .fine{margin-top:18px;font-size:14px;color:var(--ink-soft)}
.cw .check .side p{color:var(--ink-soft);font-size:19px;margin-bottom:34px}

/* scale ticket */
.cw .pay-sec{background:var(--paper)}
.cw .ticket{background:#fffdf6;max-width:860px;font-family:var(--mono);border:1px solid #cfccbf;border-radius:4px;padding:34px 36px;position:relative;
  -webkit-mask:radial-gradient(circle 9px at 50% 0,#0000 98%,#000) top/22px 51% repeat-x,radial-gradient(circle 9px at 50% 100%,#0000 98%,#000) bottom/22px 51% repeat-x;
  mask:radial-gradient(circle 9px at 50% 0,#0000 98%,#000) top/22px 51% repeat-x,radial-gradient(circle 9px at 50% 100%,#0000 98%,#000) bottom/22px 51% repeat-x}
.cw .t-head{display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6b6a62;padding-bottom:14px;border-bottom:2px dashed #b9b6a8}
.cw .t-row{display:grid;grid-template-columns:1.1fr 1fr 1.4fr;gap:16px;padding:18px 0;border-bottom:1px dashed #d2cfc1;align-items:baseline;font-size:15px}
.cw .t-row b{font-family:var(--body);font-weight:800;font-size:18px}
.cw .t-row s{color:#a2341f}
.cw .t-row .real{color:var(--green);font-weight:600;font-size:18px}
.cw .t-row small{display:block;color:#6b6a62;font-size:12px;margin-top:2px}
.cw .t-foot{padding-top:18px;font-size:13px;color:#5c5b54;line-height:1.6}

/* coach */
.cw .coach{display:grid;grid-template-columns:5fr 6fr;gap:70px;align-items:center}
.cw .coach figure{margin:0;position:relative}
.cw .coach figure img{border-radius:14px;aspect-ratio:4/4.3;object-fit:cover;width:100%}
.cw .coach figcaption{position:absolute;left:-14px;bottom:28px;background:var(--asphalt);color:#fff;font-family:var(--mono);font-size:13px;letter-spacing:.08em;padding:10px 16px;border-radius:6px}
.cw .coach p{color:var(--ink-soft);margin-bottom:18px}
.cw .quote{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.15;color:var(--ink);border-left:6px solid var(--yellow);padding-left:22px;margin:30px 0}

/* guarantee */
.cw .guar{display:flex;gap:34px;align-items:center;background:var(--green);color:#fff;border-radius:16px;padding:40px 44px;box-shadow:inset 0 0 0 4px var(--green),inset 0 0 0 6px #fff}
.cw .guar .seal{flex:none;width:120px;height:120px;border-radius:50%;border:3px solid #fff;display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:900;line-height:1}
.cw .guar .seal b{font-size:34px;display:block}
.cw .guar .seal span{font-size:12px;letter-spacing:.14em}
.cw .guar h3{font-size:28px;text-transform:uppercase;margin-bottom:10px}
.cw .guar p{color:#d7e6dd}

/* faq */
.cw .faq{display:grid;grid-template-columns:4fr 7fr;gap:70px}
.cw details{border-top:1px solid var(--line);padding:22px 0}
.cw details:last-child{border-bottom:1px solid var(--line)}
.cw summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-family:var(--display);font-weight:800;font-size:21px}
.cw summary::-webkit-details-marker{display:none}
.cw summary::after{content:"+";font-family:var(--mono);font-weight:400;color:var(--green);font-size:24px;line-height:1}
.cw details[open] summary::after{content:"\2212"}
.cw details p{margin-top:12px;color:var(--ink-soft);max-width:640px}

/* final */
.cw .final{position:relative;color:#fff;text-align:left;overflow:hidden;background:var(--asphalt)}
.cw .final>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 30%}
.cw .final::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,15,17,.94) 0%,rgba(13,15,17,.75) 50%,rgba(13,15,17,.35) 100%)}
.cw .final .wrap{position:relative;z-index:2;padding:130px 0}
.cw .final h2{font-size:clamp(38px,5vw,68px);text-transform:uppercase;max-width:17ch;margin:16px 0 20px}
.cw .final p{color:#d1d0c8;max-width:480px;margin-bottom:42px}

/* footer */
.cw footer{background:#0e1012;color:#9d9c95;padding:44px 0;font-size:14px}
.cw footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.cw footer a{color:#e8e7e0;text-decoration:none}
.cw footer .links a{margin-left:22px}
.cw footer .legal{flex-basis:100%;font-size:12px;color:#7d7c76;border-top:1px solid #23272b;padding-top:18px;margin-top:6px}

/* book page */
.cw .page-hero{position:relative;color:#fff;background:var(--asphalt);overflow:hidden}
.cw .page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 65%;opacity:.35}
.cw .page-hero .wrap{position:relative;z-index:2;padding:150px 0 90px}
.cw .page-hero h1{font-size:clamp(42px,6vw,84px);text-transform:uppercase;margin:16px 0 18px;max-width:13ch}
.cw .page-hero p{color:#d1d0c8;max-width:560px}
.cw .book{display:grid;grid-template-columns:4fr 8fr;gap:50px;align-items:start;margin-top:-50px;position:relative;z-index:3;padding-bottom:110px}
.cw .book aside{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;position:sticky;top:24px}
.cw .book aside h3{font-size:22px;text-transform:uppercase;margin-bottom:16px}
.cw .book aside ol{margin:0;padding-left:20px;color:var(--ink-soft);font-size:16px}
.cw .book aside li{margin-bottom:10px}
.cw .who{display:flex;gap:14px;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.cw .who img{width:60px;height:60px;border-radius:50%;object-fit:cover}
.cw .who b{display:block;font-family:var(--display);font-size:18px}
.cw .who span{font-size:14px;color:var(--ink-soft)}
.cw .facts{list-style:none;padding:0;margin:22px 0 0;font-family:var(--mono);font-size:13px;color:var(--ink-soft)}
.cw .facts li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px dashed var(--line)}
.cw .facts b{color:var(--ink);font-weight:500}
.cw .cal{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 30px 70px -45px rgba(0,0,0,.45)}
.cw .cal iframe{width:100%;border:0;height:1350px;display:block}
.cw .cal-note{margin-top:16px;font-size:14px;color:var(--ink-soft)}

/* thank you */
.cw .ty{min-height:100vh;display:flex;align-items:center}
.cw .ty .wrap{padding:150px 0 100px}
.cw .steps-ty{list-style:none;padding:0;margin:44px 0;max-width:640px;counter-reset:s}
.cw .steps-ty li{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.16);color:#d9d8d1}
.cw .steps-ty li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.cw .steps-ty li::before{counter-increment:s;content:"0" counter(s);font-family:var(--mono);color:var(--yellow);font-size:15px;padding-top:3px}
.cw .steps-ty b{color:#fff;display:block;font-family:var(--display);font-size:20px;margin-bottom:4px}


/* responsive */
@media (max-width:900px){
  .cw .sec{padding:84px 0}
  .cw .check,.cw .coach,.cw .faq,.cw .book{grid-template-columns:1fr;gap:40px}
  .cw .book{margin-top:-30px}
  .cw .book aside{position:static;order:2}
  .cw .road::before{left:20px;width:40px;transform:none}
  .cw .road::after{left:37px;width:5px;transform:none;background:repeating-linear-gradient(180deg,var(--yellow) 0 22px,transparent 22px 40px)}
  .cw .exit{grid-template-columns:80px 1fr}
  .cw .exit .card,.cw .exit:nth-child(even) .card{grid-column:2;justify-self:start;text-align:left;max-width:none;padding:0}
  .cw .exit .dot{grid-column:1;justify-self:start;margin-left:31px}
  .cw .guar{flex-direction:column;align-items:flex-start;padding:30px}
  .cw .t-row{grid-template-columns:1fr 1fr}
  .cw .t-row .claim{display:none}
  .cw .mile{flex-wrap:wrap}
  .cw .mile div{flex-basis:50%;padding-bottom:14px}
  .cw .coach figcaption{left:12px}
  .cw .cal iframe{height:1750px}
}
@media (max-width:520px){
  .cw{font-size:17px}
  .cw .sign .big{font-size:20px}
  .cw .hero .wrap{padding:120px 0 50px}
  .cw .ticket{padding:28px 20px}
  .cw footer .links a{margin:0 18px 0 0}
}
