@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlowcond-600.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlowcond-700.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/barlow-400.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/barlow-400i.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-500.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-600.woff2) format("woff2")}

:root{
  --cream:#f3efe6;--stone:#e7dfcf;--ink:#1b2333;--ink-2:#4f5868;--line:#d6ccb8;
  --enamel:#1f3c78;--enamel-d:#152b58;--green:#2f6b4f;--zinc:#8a97a6;--err:#b3261e;
  --cond:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.6 var(--body)}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--cond);font-weight:700;line-height:1.02;letter-spacing:.005em}
p{margin:0}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* Header */
.top{background:var(--enamel);color:#fff;border-bottom:4px solid var(--green)}
.top-in{display:flex;align-items:center;gap:28px;min-height:66px}
.mark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.sym{width:44px;height:28px;flex:none}
.top .sym rect:first-child{fill:#fff}
.top .sym rect:nth-child(2){stroke:var(--enamel)}
.top .sym circle{fill:var(--enamel)}
.word{font:700 25px/1 var(--cond);letter-spacing:.01em}
.word span{color:#9fd3b6}
.sections{display:flex;gap:24px;margin-left:auto;font-size:16px}
.sections a{text-decoration:none;color:#dfe6f3}
.sections a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.langs{display:flex;gap:4px;font:600 15px/1 var(--cond);letter-spacing:.06em}
.langs a{padding:7px 9px;border:1.5px solid transparent;border-radius:4px;text-decoration:none}
.langs a[aria-current="page"]{border-color:currentColor}
.langs a:not([aria-current]):hover{background:rgba(255,255,255,.12)}

/* Hero */
.hero{position:relative;padding:0 0 84px;background:var(--cream)}
.roofs{display:block;height:clamp(300px,42vw,560px);overflow:hidden;background:#c9b48f}
.roofs img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:56px;align-items:start;margin-top:-170px}
.hero-copy{background:var(--enamel);color:#fff;border-radius:14px;padding:12px;box-shadow:0 20px 40px -24px rgba(21,43,88,.7);align-self:start}
.hero-copy>*{position:relative}
.hero-copy h1,.hero-copy .lede{padding-inline:30px}
.hero-copy{outline:3px solid #fff;outline-offset:-12px}
h1{padding-top:30px;font-size:clamp(46px,5.4vw,80px);text-transform:none}
h1 em{font-style:normal;color:#9fd3b6}
.lede{margin-top:18px;padding-bottom:30px;font-size:clamp(18px,1.45vw,20.5px);color:#dfe6f3;max-width:32em}

/* Form */
.card{background:#fff;border:1px solid var(--line);border-top:6px solid var(--green);border-radius:6px;padding:26px 28px 24px;box-shadow:0 24px 48px -30px rgba(27,35,51,.55)}
.form-title{font-size:30px;color:var(--enamel);margin-bottom:16px}
.field{margin-bottom:16px}
label{display:block;font-weight:600;font-size:16px;margin-bottom:6px}
input[type=text],input[type=email],input[type=number]{width:100%;font:500 18px/1.3 var(--body);color:var(--ink);background:var(--cream);border:1.5px solid #c9bea8;border-radius:5px;padding:12px 13px;min-height:50px}
input::placeholder{color:#958c7c}
input:focus{outline:none;border-color:var(--enamel);background:#fff;box-shadow:0 0 0 3px rgba(31,60,120,.2)}
input[aria-invalid=true]{border-color:var(--err)}
.money{position:relative;display:flex;align-items:center}
.money>span:first-child{position:absolute;left:13px;font-weight:600;color:var(--ink-2)}
.money input{padding-left:31px;padding-right:56px;-moz-appearance:textfield}
.money input::-webkit-outer-spin-button,.money input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cur{position:absolute;right:13px;font:600 14px/1 var(--cond);letter-spacing:.08em;color:var(--ink-2)}
.help{margin-top:6px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.err{margin-top:6px;font-size:15px;color:var(--err);font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.captcha{margin:4px 0 14px;min-height:65px}
.btn{width:100%;min-height:54px;border:0;border-radius:5px;background:var(--enamel);color:#fff;font:700 22px/1 var(--cond);letter-spacing:.03em;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--green)}
.btn:disabled{opacity:.6;cursor:progress}
.status{margin-top:10px;font-size:15px;color:var(--err);font-weight:600}
.status:empty{display:none}
.fine{margin-top:10px;font-size:14px;color:var(--ink-2);text-align:center;font-style:italic}
.done h2{font-size:32px;color:var(--enamel)}
.done p{margin-top:10px;color:var(--ink-2)}
.done strong{color:var(--ink);word-break:break-all}
.link-btn{margin-top:16px;background:none;border:0;padding:0;font:600 16px var(--body);color:var(--enamel);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* Journey: street plaques */
.journey{background:var(--stone);padding:92px 0 84px;border-top:1px solid var(--line)}
.kicker{font:600 16px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.journey h2{margin-top:12px;font-size:clamp(36px,4vw,58px);color:var(--enamel);max-width:16em}
.intro{margin-top:16px;max-width:42em;color:var(--ink-2);font-size:19px}
.stops{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative}
.stops::before{content:"";position:absolute;left:4%;right:4%;top:46px;border-top:3px dotted #b3a78f}
.stop{position:relative}
.plaque{position:relative;display:flex;align-items:stretch;min-height:92px;background:var(--enamel);color:#fff;border-radius:10px;box-shadow:0 0 0 3px var(--green) inset,0 0 0 7px var(--enamel) inset,0 0 0 9px #fff inset,0 10px 18px -12px rgba(0,0,0,.55);padding:14px 14px 14px 12px}
.arr{flex:none;display:flex;flex-direction:column;justify-content:center;width:44px;font:600 11px/1.1 var(--cond);letter-spacing:.06em;text-transform:uppercase;text-align:center;border-right:2px solid rgba(255,255,255,.75);margin-right:10px;padding-right:6px}
.arr b{display:block;font:700 30px/1 var(--cond);letter-spacing:0;margin-bottom:2px}
.street{align-self:center;font:700 19px/1.08 var(--cond);letter-spacing:.015em;text-transform:uppercase}
.stop p{margin-top:14px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.stop.last .plaque{background:var(--green);box-shadow:0 0 0 3px var(--enamel) inset,0 0 0 7px var(--green) inset,0 0 0 9px #fff inset,0 10px 18px -12px rgba(0,0,0,.55)}
.stop.last p{color:var(--ink);font-weight:500}
.note{margin-top:30px;font-size:14.5px;color:var(--ink-2);font-style:italic;max-width:56em}

/* Expiry */
.expiry{padding:84px 0 24px}
.expiry-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:56px;align-items:start;border-top:3px solid var(--enamel);padding-top:30px}
.expiry h2{font-size:clamp(32px,3.2vw,46px);color:var(--enamel)}
.expiry p{font-size:19px;color:var(--ink-2)}

/* After */
.after{padding:64px 0 40px}
.after h2,.faq h2{font-size:clamp(34px,3.4vw,50px);color:var(--enamel)}
.asteps{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.asteps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 22px 24px}
.asteps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font:700 20px/1 var(--cond);margin-bottom:14px}
.asteps h3{font-size:24px;color:var(--ink)}
.asteps p{margin-top:8px;font-size:16px;color:var(--ink-2)}

/* FAQ */
.faq{padding:56px 0 100px}
.faq-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:56px}
.qs{border-top:3px solid var(--enamel)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:19px 44px 19px 0;font-weight:600;font-size:19px;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:6px;top:12px;font:600 30px/1 var(--cond);color:var(--green)}
details[open] summary::after{content:"\2013"}
details p{padding:0 44px 22px 0;color:var(--ink-2)}

/* Footer */
.foot{background:var(--enamel-d);color:#c9d3e6;padding:28px 0 36px;font-size:15px;border-top:4px solid var(--green)}
.foot-in{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.foot .mark{color:#fff}
.foot .sym rect:first-child{fill:#fff}
.foot .sym rect:nth-child(2){stroke:var(--enamel-d)}
.foot .sym circle{fill:var(--enamel-d)}
.foot .langs{margin-left:auto}
.mark.small .sym{width:34px;height:22px}
.mark.small .word{font-size:20px}

/* Responsive */
@media (max-width:1100px){
  .sections{display:none}
  .langs{margin-left:auto}
  .stops{grid-template-columns:repeat(3,1fr);row-gap:30px}
  .stops::before{display:none}
}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:28px;margin-top:-90px}
  .card{max-width:620px}
  .expiry-in,.faq-in{grid-template-columns:1fr;gap:18px}
  .asteps{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:17px}
  .wrap{width:min(1180px,100% - 32px)}
  .top-in{min-height:58px;gap:12px}
  .word{font-size:22px}
  .roofs{height:230px}
  .hero-grid{margin-top:-60px}
  .hero-copy{padding:9px;outline-offset:-9px;border-radius:12px}
  .hero-copy h1,.hero-copy .lede{padding-inline:20px}
  h1{padding-top:24px}
  .lede{padding-bottom:24px}
  .card{padding:22px 18px 20px}
  .journey{padding:64px 0 60px}
  .stops{grid-template-columns:1fr;row-gap:22px}
  .stop{display:grid;grid-template-columns:1fr;gap:0}
  .asteps{grid-template-columns:1fr}
  .foot .langs{margin-left:0}
}
