@font-face{font-family:"Archivo";src:url("../fonts/archivo-var.woff") format("woff");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{
  --ink:#13232b;--muted:#4f6169;--harbour:#0e3b47;--harbour-2:#16586a;--label:#f5c542;--kraft:#c49a6c;
  --paper:#f4f6f5;--white:#fff;--line:#d9e0e0;--ok:#1f7a4d;--bad:#b3261e;
  --wrap:1180px;--r:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.65 "Archivo",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--harbour-2)}
a:hover{color:var(--harbour)}
:focus-visible{outline:3px solid var(--label);outline-offset:2px}
h1,h2,h3{font-stretch:112%;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,5.6vw,4.3rem);font-weight:780}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:740}
h3{font-size:1.18rem;font-weight:700;font-stretch:105%}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:8px;background:var(--label);color:var(--ink);padding:8px 12px;z-index:50}
.skip:focus{left:8px}

/* buttons */
.btn{display:inline-block;background:var(--label);color:var(--ink);font-weight:700;font-stretch:105%;text-decoration:none;padding:.85em 1.4em;border-radius:6px;border:2px solid var(--label);cursor:pointer;font-size:1rem;font-family:inherit;transition:background .15s,border-color .15s}
.btn:hover{background:#ffd75e;border-color:#ffd75e;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:var(--white);border-color:var(--white)}
.btn-small{padding:.5em 1em;font-size:.95rem}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(6px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--harbour);font-size:1.35rem;font-stretch:118%;font-weight:600;letter-spacing:-.01em}
.logo b{font-weight:850}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:550}
.site-nav a:not(.btn):hover{color:var(--harbour-2)}
.nav-toggle{display:none;background:none;border:2px solid var(--harbour);color:var(--harbour);border-radius:6px;padding:.4em .8em;font:inherit;font-weight:700}
@media (max-width:860px){
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:stretch;gap:0;background:var(--white);border-bottom:1px solid var(--line);padding:8px 20px 16px}
  .site-nav.open{display:flex}
  .site-nav a{padding:.75em 0;border-bottom:1px solid var(--line)}
  .site-nav .btn{margin-top:12px;text-align:center;border-bottom:2px solid var(--label)}
}

/* hero */
.hero{position:relative;color:var(--white);overflow:hidden;background:var(--harbour)}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(9,40,49,.94) 0%,rgba(9,40,49,.82) 45%,rgba(9,40,49,.45) 100%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:56px;align-items:center;padding-top:96px;padding-bottom:104px}
.kicker{color:var(--label);font-weight:650;font-stretch:108%;margin-bottom:1.1em}
.lede{font-size:1.2rem;max-width:36em;color:#e4eef0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8em}

/* the shipping label */
.label-card{position:relative;background:var(--white);color:var(--ink);border-radius:8px;padding:22px 24px 18px;transform:rotate(-2.2deg);box-shadow:0 22px 50px rgba(0,0,0,.35);font-stretch:100%;max-width:420px;justify-self:end}
.label-card::before{content:"";position:absolute;top:-14px;left:50%;width:120px;height:30px;margin-left:-60px;background:rgba(196,154,108,.85);transform:rotate(3deg);box-shadow:0 2px 4px rgba(0,0,0,.15)}
.label-top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px solid var(--ink);padding-bottom:8px;margin-bottom:12px}
.label-brand{font-weight:850;font-stretch:122%;letter-spacing:.02em}
.label-ref{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--muted)}
.label-row{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed #b9c3c4}
.label-k{font-weight:800;font-stretch:115%;text-transform:none;color:var(--harbour-2)}
.label-v{line-height:1.4}
.label-to .label-v{font-weight:750;font-size:1.25rem;font-stretch:108%}
.label-via{display:flex;align-items:center;gap:8px;margin:14px 0;padding:10px 12px;background:var(--label);border-radius:6px;font-weight:650;line-height:1.3}
.label-bar{height:54px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 9px,var(--ink) 9px 10px,transparent 10px 13px,var(--ink) 13px 17px,transparent 17px 19px)}
.label-foot{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-top:6px}

/* facts */
.facts{background:var(--harbour);color:var(--white);border-top:1px solid rgba(255,255,255,.12)}
.facts-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:30px;padding-bottom:30px}
.fact strong{display:block;color:var(--label);font-size:1.7rem;font-weight:780;font-stretch:115%;line-height:1.1;margin-bottom:4px}
.fact span{color:#cfe0e3;font-size:.97rem;line-height:1.45;display:block}

/* split blocks */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:96px;padding-bottom:96px}
.ticks{list-style:none;padding:0;margin:1.2em 0 0}
.ticks li{position:relative;padding-left:32px;margin:0 0 .7em}
.ticks li::before{content:"";position:absolute;left:0;top:.38em;width:18px;height:18px;border-radius:4px;background:var(--label) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313232b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
.photo{margin:0;border-radius:var(--r);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-tilt{box-shadow:16px 16px 0 var(--paper);aspect-ratio:4/3}
.photo-small{margin-top:28px;max-width:320px;aspect-ratio:4/3}

/* services */
.services{background:var(--paper);padding:96px 0}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.svc{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px}
.svc-icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:10px;background:#e3eef0;color:var(--harbour);margin-bottom:14px}
.svc p{color:var(--muted);margin:0}
.svc-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.svc-photos img{border-radius:var(--r);aspect-ratio:3/2;object-fit:cover;width:100%}

/* steps */
.how{padding-top:96px;padding-bottom:96px}
.steps{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.steps li{position:relative;padding-top:64px}
.steps li::after{content:"";position:absolute;top:22px;left:56px;right:-14px;border-top:2px dashed var(--line)}
.steps li:last-child::after{display:none}
.step-n{position:absolute;top:0;left:0;width:46px;height:46px;border-radius:50%;background:var(--harbour);color:var(--label);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;font-stretch:115%}
.steps p{color:var(--muted);margin:0}

/* why */
.why{position:relative;color:var(--white);background:var(--harbour)}
.why-photo{position:absolute;inset:0;background-size:cover;background-position:center}
.why-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,40,49,.9),rgba(9,40,49,.55))}
.why-box{position:relative;padding-top:110px;padding-bottom:110px;max-width:var(--wrap)}
.why-box h2,.why-box p,.why-box ul{max-width:640px}
.why-box p{font-size:1.15rem;color:#e4eef0}
.ticks-light li{color:#f2f7f8}

/* pricing */
.pricing{padding-top:96px;padding-bottom:96px}
.section-lede{color:var(--muted);max-width:44em;font-size:1.1rem}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.price-card{border:1px solid var(--line);border-top:5px solid var(--harbour);border-radius:var(--r);padding:22px 22px 14px;background:var(--white)}
.price-card table{width:100%;border-collapse:collapse}
.price-card th,.price-card td{padding:.6em 0;border-top:1px solid var(--line);vertical-align:top;font-size:.98rem}
.price-card th{text-align:left;font-weight:450;padding-right:12px;color:var(--ink)}
.price-card td{text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-card tr:first-child th,.price-card tr:first-child td{border-top:0}
.price-note{margin-top:20px;color:var(--muted);font-size:.95rem}

/* faq */
.faq{background:var(--paper);padding:96px 0}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.faq .photo{aspect-ratio:4/3;margin-top:12px}
details{background:var(--white);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px}
summary{cursor:pointer;list-style:none;padding:18px 52px 18px 20px;font-weight:650;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--harbour-2);font-weight:400}
details[open] summary::after{content:"−"}
details p{padding:0 20px 18px;margin:0;color:var(--muted)}

/* contact */
.contact{align-items:start}
.contact-line{margin:.3em 0;font-weight:600}
.quote-form{background:var(--paper);border-radius:var(--r);padding:28px;border:1px solid var(--line)}
.quote-form label{display:block;font-weight:600;margin-bottom:16px;font-size:.97rem}
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:6px;padding:.7em .8em;border:1px solid #b9c6c8;border-radius:6px;font:inherit;font-weight:400;background:var(--white);color:var(--ink)}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:3px solid rgba(245,197,66,.6);border-color:var(--harbour-2)}
.quote-form [aria-invalid=true]{border-color:var(--bad)}
.quote-form small{display:block;color:var(--bad);font-weight:600;margin-top:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.45}
.check input{margin-top:.25em;width:18px;height:18px;flex:none}
.check span{flex:1}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{padding:12px 14px;border-radius:6px;font-weight:600}
.form-msg.ok{background:#e2f3ea;color:var(--ok)}
.form-msg.bad{background:#fbe7e5;color:var(--bad)}

/* pages */
.page{padding-top:64px;padding-bottom:80px;max-width:820px}
.prose h2{font-size:1.5rem;margin-top:1.6em}

/* footer */
.site-foot{background:var(--ink);color:#c6d2d5;padding:48px 0;font-size:.97rem}
.site-foot a{color:var(--white)}
.foot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.foot-name{color:var(--white);font-weight:800;font-stretch:118%;font-size:1.15rem}
.foot-small{font-size:.85rem;color:#93a5aa}

/* responsive */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:48px;padding-top:64px;padding-bottom:72px}
  .label-card{justify-self:start;transform:rotate(-1.5deg)}
  .svc-grid,.price-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps li::after{display:none}
  .facts-row{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:1rem}
  .split,.faq-grid{grid-template-columns:1fr;gap:36px;padding-top:64px;padding-bottom:64px}
  .services,.faq,.how,.pricing{padding-top:64px;padding-bottom:64px}
  .svc-grid,.price-grid,.svc-photos,.steps,.row2,.foot-row{grid-template-columns:1fr}
  .svc-photos img:nth-child(n+2){display:none}
  .photo-tilt{box-shadow:10px 10px 0 var(--paper)}
  .why-box{padding-top:72px;padding-bottom:72px}
  .quote-form{padding:20px}
}
