/* Wood's Removals & Storage: editorial trades system */
:root{
  --paper:#ffffff; --paper-2:#f4f4f4; --paper-3:#e4e4e4;
  --ink:#14181d; --ink-2:#2b3139; --ink-3:#5b6370; --mute:#7c8491;
  --rule:rgba(20,24,29,.16); --rule-strong:rgba(20,24,29,.32);
  --blue:#2470b8; --blue-deep:#17528a; --blue-ink:#0e2f50;
  --paper-on-ink:rgba(255,255,255,.92); --rule-on-ink:rgba(255,255,255,.18);
  --display:"Barlow Semi Condensed",ui-sans-serif,system-ui,sans-serif;
  --body:"Hanken Grotesk",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
  --ease:cubic-bezier(.32,.72,0,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(20px,4vw,64px); --max:1360px; --r:3px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
strong{font-weight:600}
::selection{background:var(--blue);color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
h1,h2,h3,.disp{font-family:var(--display);font-weight:700;letter-spacing:-.015em;line-height:.96}
h1{font-size:clamp(50px,8vw,116px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(36px,5vw,72px);font-weight:800}
h3{font-size:clamp(23px,2.3vw,32px);letter-spacing:-.005em;line-height:1.08}
.lede{font-size:clamp(18px,1.5vw,22px);line-height:1.45;color:var(--ink-2);max-width:40ch}
p{max-width:62ch}
.mono,.lab{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink-3)}
.lab{display:flex;align-items:center;gap:14px}
.lab::before{content:"";width:28px;height:1px;background:var(--ink)}
.on-ink .lab{color:rgba(255,255,255,.6)}.on-ink .lab::before{background:var(--paper)}
.blue{color:var(--blue)}
em{font-style:italic}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:-.005em;padding:16px 22px;border-radius:var(--r);border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease),border-color .5s var(--ease);position:relative;overflow:hidden;line-height:1}
.btn .ar{display:inline-block;width:18px;height:18px;transition:transform .6s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn:active{transform:scale(.985)}
.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-ink:hover{background:var(--blue-ink);border-color:var(--blue-ink)}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-blue:hover{background:var(--blue-deep);border-color:var(--blue-deep)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.on-ink .btn-line{border-color:rgba(255,255,255,.45);color:var(--paper)}
.on-ink .btn-line:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-big{padding:20px 26px;font-size:16px}
.tel{font-family:var(--display);font-weight:700;letter-spacing:0;font-size:22px;white-space:nowrap}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);border-bottom:1px solid var(--rule)}
.top .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:76px;gap:32px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:40px;width:auto}
.brand .bt{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.01em;line-height:1;text-transform:uppercase}
.brand .bt small{display:block;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}
.nav{display:flex;justify-content:center;gap:4px}
.nav>li{position:relative}
.nav a,.nav button{display:block;padding:10px 13px;font-size:14.5px;font-weight:500;color:var(--ink-2);border-radius:var(--r);background:none;border:0;font-family:inherit;cursor:pointer;transition:color .4s var(--ease),background .4s var(--ease);line-height:1}
.nav a:hover,.nav button:hover,.nav a[aria-current]{color:var(--ink);background:var(--paper-2)}
.nav .dd{position:absolute;top:100%;left:0;padding-top:10px;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.nav>li:hover .dd,.nav>li:focus-within .dd{opacity:1;pointer-events:auto;transform:none}
.dd ul{background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--r);min-width:260px;padding:8px;box-shadow:0 24px 48px -24px rgba(20,24,29,.25)}
.dd a{padding:11px 12px;font-size:14.5px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.dd a span.m{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--mute)}
.top-r{display:flex;align-items:center;gap:22px}
.top-r .tel{font-size:18px}
.top-r .btn{padding:13px 18px;font-size:14px}
.burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
.burger i{position:absolute;left:11px;width:22px;height:1.5px;background:var(--ink);transition:transform .55s var(--ease),top .55s var(--ease),opacity .3s}
.burger i:nth-child(1){top:16px}.burger i:nth-child(2){top:22px}.burger i:nth-child(3){top:28px}
.menu-open .burger i:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0}
.menu-open .burger i:nth-child(3){top:22px;transform:rotate(-45deg)}
.mob{position:fixed;inset:0;z-index:35;background:var(--paper);padding:110px var(--gutter) 40px;opacity:0;pointer-events:none;transition:opacity .5s var(--ease);overflow:auto}
.menu-open .mob{opacity:1;pointer-events:auto}
.mob a{display:block;font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:-.03em;padding:12px 0;border-bottom:1px solid var(--rule);transform:translateY(18px);opacity:0;transition:transform .7s var(--ease),opacity .6s var(--ease)}
.mob .sub a{font-family:var(--body);font-weight:500;font-size:17px;letter-spacing:0;padding:11px 0 11px 18px;border-bottom:1px solid var(--rule)}
.menu-open .mob a{transform:none;opacity:1}
.mob .mob-cta{margin-top:28px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(18px);transition:all .7s var(--ease) .35s}
.menu-open .mob .mob-cta{opacity:1;transform:none}
.mob .mob-cta .btn{justify-content:space-between}

/* sections */
section{padding:clamp(72px,9vw,140px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:32px clamp(24px,5vw,96px);align-items:start;margin-bottom:clamp(40px,5vw,72px)}
.sec-head .lab{padding-top:10px}
.sec-head p.lede{margin-top:22px}
.split{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:32px clamp(24px,5vw,96px)}
.rule{border:0;border-top:1px solid var(--rule)}
.rule-strong{border:0;border-top:1px solid var(--rule-strong)}
.on-ink{background:var(--ink);color:var(--paper-on-ink)}
.on-ink h1,.on-ink h2,.on-ink h3{color:var(--paper)}
.on-ink .rule{border-color:var(--rule-on-ink)}
.on-ink .mono{color:rgba(255,255,255,.6)}
.on-ink p{color:rgba(255,255,255,.78)}

/* hero */
.hero{padding:clamp(40px,6vw,88px) 0 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:end}
.hero h1{margin:22px 0 26px;max-width:12ch}
.hero .lede{max-width:46ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;align-items:center}
.hero-cta .or{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:0 6px}
.hero-pic{position:relative}
.hero-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.hero-pic figcaption{display:flex;justify-content:space-between;gap:16px;padding:12px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.hero-strip{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,1fr)}
.hero-strip div{padding:22px 24px 22px 0;border-right:1px solid var(--rule)}
.hero-strip div:last-child{border-right:0}
.hero-strip div+div{padding-left:24px}
.hero-strip b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.2vw,44px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.hero-strip b sup{font-size:.5em;vertical-align:top;color:var(--blue);margin-left:2px}
.hero-strip span{display:block;margin-top:8px;font-size:13.5px;color:var(--ink-3)}

/* photo hero */
.hero-photo{position:relative;padding:0;min-height:min(88vh,860px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.hero-photo .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 62%}
.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,20,.9) 0%,rgba(10,14,20,.72) 38%,rgba(10,14,20,.3) 62%,rgba(10,14,20,.08) 100%)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,20,.35) 0%,rgba(10,14,20,0) 30%,rgba(10,14,20,.25) 70%,rgba(10,14,20,.7) 100%)}
.hero-inner{position:relative;z-index:1;width:100%;padding-top:clamp(96px,14vw,160px);padding-bottom:clamp(36px,5vw,64px);display:flex;flex-direction:column;gap:40px}
.hero-copy{max-width:760px}
.hero-photo .lab{color:rgba(255,255,255,.7)}.hero-photo .lab::before{background:#fff}
.hero-photo h1{color:#fff;margin:22px 0 26px;max-width:11ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero-photo h1 .blue{color:#4f9fe6}
.hero-photo .lede{color:rgba(255,255,255,.86);max-width:46ch}
.hero-photo .btn-line{border-color:rgba(255,255,255,.55);color:#fff}
.hero-photo .btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero-cap{align-self:flex-end;color:rgba(255,255,255,.6)}
.hero-stats{padding:0;border-bottom:1px solid var(--rule)}
@media (max-width:900px){.hero-photo{min-height:0;display:block}.hero-photo .hero-bg{position:static;width:100%;height:auto;aspect-ratio:4/3;object-position:60% 55%;display:block}.hero-photo::before,.hero-photo::after{display:none}.hero-inner{padding-top:40px;padding-bottom:40px;gap:28px}.hero-cap{align-self:flex-start}.hero-photo h1{text-shadow:none;max-width:none}}
@media (max-width:560px){.hero-photo .hero-cta .btn{width:100%;justify-content:space-between}}

/* ticker */
.ticker{overflow:hidden;border-bottom:1px solid var(--rule);padding:14px 0;white-space:nowrap}
.ticker div{display:inline-block;animation:tick 70s linear infinite;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.ticker span{padding:0 22px}
.ticker span::after{content:"·";margin-left:44px;color:var(--blue)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}}

/* service rows */
.rows{border-top:1px solid var(--rule-strong)}
.row{display:grid;grid-template-columns:72px 1.1fr 1.4fr auto;gap:24px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--rule);transition:background .5s var(--ease);position:relative}
.row:hover{background:var(--paper-2)}
.row>*{position:relative}
.row .n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--mute);grid-column:1}
.row h3{grid-column:2}
.row h3{transition:color .4s var(--ease)}
.row:hover h3{color:var(--blue)}
.row p{font-size:16px;color:var(--ink-3);max-width:52ch}
.row .go{width:40px;height:40px;border:1px solid var(--rule-strong);border-radius:50%;display:grid;place-items:center;align-self:center;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.row .go svg{width:16px;height:16px;transition:transform .6s var(--ease)}
.row:hover .go{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.row:hover .go svg{transform:translate(2px,-2px)}
.row a.cover{position:absolute;inset:0}

/* feature */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,96px);align-items:center}
.feat img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.feat h2{margin:18px 0 20px}
.feat .lede{margin-bottom:28px}
.list{border-top:1px solid var(--rule-strong)}
.list li{display:grid;grid-template-columns:28px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:16px}
.list li::before{content:attr(data-i);font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--blue);padding-top:5px}
.list li b{display:block;font-weight:600;margin-bottom:2px}
.list li span{color:var(--ink-3);font-size:15px;grid-column:2}
.feat-ink{padding:clamp(28px,4vw,56px);border-radius:var(--r)}
.feat.rev img{order:2}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-strong)}
.steps div{padding:28px 28px 36px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.steps div:last-child{border-right:0}
.steps div+div{padding-left:28px}
.steps b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(40px,4.6vw,64px);letter-spacing:-.04em;line-height:1;color:var(--paper-3);margin-bottom:26px;transition:color .6s var(--ease)}
.steps div:hover b{color:var(--blue)}
.steps h3{font-size:21px;margin-bottom:10px}
.steps p{font-size:15.5px;color:var(--ink-3)}

/* numbers */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-on-ink)}
.nums div{padding:36px 24px 40px 0;border-right:1px solid var(--rule-on-ink)}
.nums div:last-child{border-right:0}.nums div+div{padding-left:24px}
.nums b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(48px,6vw,96px);letter-spacing:-.045em;line-height:1;color:var(--paper);font-variant-numeric:tabular-nums}
.nums b sup{font-size:.4em;vertical-align:top;color:var(--blue);margin-left:2px;top:.15em;position:relative}
.nums span{display:block;margin-top:12px;font-size:14px;color:rgba(255,255,255,.6)}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-strong)}
.quotes figure{padding:32px 32px 36px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:22px}
.quotes figure:last-child{border-right:0}
.quotes figure+figure{padding-left:32px}
.quotes blockquote{font-family:var(--display);font-weight:500;font-size:clamp(21px,1.75vw,26px);line-height:1.28;letter-spacing:0}
.quotes blockquote::before{content:"\201C";color:var(--blue)}
.quotes blockquote::after{content:"\201D";color:var(--blue)}
.quotes figcaption{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.stars{color:var(--blue);letter-spacing:1px;font-size:12px}
.g-badge{display:inline-flex;align-items:center;gap:12px;margin-top:28px;font-size:14px;color:var(--ink-3)}
.g-badge b{font-family:var(--display);font-size:28px;letter-spacing:-.03em;color:var(--ink);line-height:1}

/* areas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule-strong)}
.areas a{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:24px 28px 26px 0;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);transition:background .5s var(--ease)}
.areas a:nth-child(3n){border-right:0}
.areas a:nth-child(3n+2),.areas a:nth-child(3n){padding-left:28px}
.areas a:hover{background:var(--paper-2)}
.areas h3{font-size:22px}
.areas p{font-size:14px;color:var(--ink-3);margin-top:6px;max-width:none}
.areas svg{width:18px;height:18px;margin-top:4px;transition:transform .6s var(--ease)}
.areas a:hover svg{transform:translate(3px,-3px)}
.towns{columns:4;column-gap:32px;font-size:15px;line-height:2;color:var(--ink-2)}
.towns li{break-inside:avoid}
.towns li a:hover{color:var(--blue)}

/* faq */
.faq{border-top:1px solid var(--rule-strong)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 40px;gap:24px;align-items:center;padding:24px 0;font-family:var(--display);font-weight:600;font-size:clamp(18px,1.5vw,22px);letter-spacing:-.015em;line-height:1.2;}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:40px;height:40px;border:1px solid var(--rule-strong);border-radius:50%;display:grid;place-items:center;position:relative;transition:background .5s var(--ease),border-color .5s var(--ease)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;background:currentColor;transition:transform .6s var(--ease)}
.faq summary i::before{width:14px;height:1.5px}.faq summary i::after{width:1.5px;height:14px}
.faq details[open] summary i::after{transform:rotate(90deg)}
.faq details[open] summary i{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.faq .a{padding:0 80px 28px 0;color:var(--ink-2);font-size:16.5px;max-width:70ch}

/* CTA band */
.cta{padding:clamp(64px,8vw,120px) 0}
.cta-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,96px);align-items:end}
.cta h2{margin:18px 0 20px;max-width:14ch}
.cta .tel{font-size:clamp(28px,3.4vw,48px);display:block;margin-bottom:8px;color:var(--paper)}
.cta .tel:hover{color:var(--blue)}
.cta-r{display:flex;flex-direction:column;gap:12px}
.cta-r .btn{justify-content:space-between}
.cta-r small{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:8px}

/* footer */
footer{padding:64px 0 36px;border-top:1px solid var(--rule-strong)}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ft h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-bottom:18px}
.ft li{margin-bottom:10px;font-size:15px}
.ft li a:hover{color:var(--blue)}
.ft address{font-style:normal;font-size:15px;line-height:1.7;color:var(--ink-2);margin:20px 0}
.ft .brand img{height:48px}
.ft-b{margin-top:56px;padding-top:22px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.ft-b a:hover{color:var(--ink)}

/* page hero (inner pages) */
.phero{padding:clamp(40px,6vw,80px) 0 0}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:28px}
.crumbs a:hover{color:var(--ink)}
.crumbs span::before{content:"/";margin-right:10px}
.phero h1{font-size:clamp(44px,6.2vw,92px);max-width:16ch;margin-bottom:24px}
.phero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end}
.phero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.phero .hero-cta{margin-top:30px}
.phero-rule{margin-top:clamp(40px,5vw,72px)}

/* article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,6vw,110px);align-items:start}
.art-body>*+*{margin-top:22px}
.art-body h2{font-size:clamp(28px,3vw,42px);margin-top:56px}
.art-body h2:first-child{margin-top:0}
.art-body .steps{grid-template-columns:1fr 1fr}.art-body .steps div:nth-child(2n){border-right:0;padding-left:28px}.art-body .steps div:nth-child(2n+1){padding-left:0}
.art-body p{font-size:17.5px;color:var(--ink-2)}
.art-body .lede{font-size:clamp(19px,1.6vw,24px);color:var(--ink)}
.rail{position:sticky;top:100px;border:1px solid var(--rule-strong);border-radius:var(--r);padding:28px;background:var(--paper)}
.rail .lab{margin-bottom:16px}
.rail h3{font-size:24px;margin-bottom:10px}
.rail p{font-size:15px;color:var(--ink-3);margin-bottom:22px}
.rail .tel{display:block;font-size:26px;margin-bottom:14px}
.rail .tel:hover{color:var(--blue)}
.rail .btn{width:100%;justify-content:space-between}
.rail ul{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}
.rail li{font-size:14px;padding:7px 0;display:flex;justify-content:space-between;gap:12px}
.rail li a:hover{color:var(--blue)}
.rail li .m{font-family:var(--mono);font-size:10px;color:var(--mute);letter-spacing:.1em}
.opts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule-strong);margin-top:36px}
.opts div{padding:26px 26px 30px 0;border-bottom:1px solid var(--rule)}
.opts div:nth-child(odd){border-right:1px solid var(--rule)}
.opts div:nth-child(even){padding-left:26px}
.opts .n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--blue);display:block;margin-bottom:12px}
.opts h3{font-size:22px;margin-bottom:8px}
.opts p{font-size:15.5px;color:var(--ink-3)}
.reasons{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule-strong);margin-top:36px}
.reasons div{padding:24px 24px 28px 0;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule)}
.reasons div:nth-child(3n){border-right:0}
.reasons div:nth-child(3n+2),.reasons div:nth-child(3n){padding-left:24px}
.reasons h3{font-size:19px;margin-bottom:8px}
.reasons p{font-size:15px;color:var(--ink-3)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery figure{position:relative;overflow:hidden;border-radius:var(--r)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease)}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(20,24,29,.75))}
.gallery figure.wide{grid-column:span 2}
.gallery figure.wide img{aspect-ratio:2/1}

/* contact form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,110px);align-items:start}
.form{border-top:1px solid var(--rule-strong)}
.f{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.f label{display:block;padding:18px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.f .full{grid-column:1/-1}
.f input,.f textarea,.f select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--rule-strong);padding:10px 0 16px;font:inherit;font-size:17px;color:var(--ink);border-radius:0;outline:0;transition:border-color .4s var(--ease)}
.f input:focus,.f textarea:focus,.f select:focus{border-bottom-color:var(--blue)}
.f textarea{min-height:120px;resize:vertical}
.f .btn{margin-top:30px}
.f small{display:block;grid-column:1/-1;margin-top:14px;font-size:13px;color:var(--mute)}
.hp{position:absolute;left:-9999px}
.c-info{display:grid;gap:0;border-top:1px solid var(--rule-strong)}
.c-info div{padding:22px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:140px 1fr;gap:20px;font-size:16px}
.c-info .lab{padding-top:3px}
.c-info a:hover{color:var(--blue)}
.c-info .tel{font-size:24px}
.map{margin-top:40px;border-radius:var(--r);overflow:hidden;border:1px solid var(--rule);filter:grayscale(1) contrast(1.05)}
.map iframe{display:block;width:100%;height:360px;border:0}

/* reviews page */
.rv-grid{columns:3;column-gap:28px}
.rv-grid figure{break-inside:avoid;padding:26px 0 28px;border-top:1px solid var(--rule);margin-bottom:0}
.rv-grid blockquote{font-size:16.5px;line-height:1.55;color:var(--ink-2)}
.rv-grid figcaption{margin-top:14px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease-out),transform 1s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* responsive */
@media (max-width:1100px){
  .nav{gap:0}.nav a,.nav button{padding:10px 10px;font-size:14px}
  .top-r .tel{display:none}
  .row{grid-template-columns:56px 1fr auto;grid-template-rows:auto auto}
  .row p{grid-column:2;grid-row:2}.row .go{grid-row:1/3;grid-column:3}
}
@media (max-width:900px){
  .top .wrap{grid-template-columns:auto 1fr auto;height:68px}
  .nav{display:none}.burger{display:block}
  .top-r .btn{display:none}
  .hero-grid,.feat,.cta-grid,.phero-grid,.form-grid{grid-template-columns:1fr}
  .feat.rev img{order:0}
  .hero-strip,.nums,.steps{grid-template-columns:1fr 1fr}
  .hero-strip div:nth-child(2n){border-right:0}.hero-strip div:nth-child(2n+1){padding-left:0}.hero-strip div:nth-child(2n){padding-left:24px}
  .nums div:nth-child(2n){border-right:0}.nums div:nth-child(2n+1){padding-left:0}.nums div:nth-child(2n){padding-left:24px}
  .steps div:nth-child(2n){border-right:0}.steps div:nth-child(2n+1){padding-left:0}.steps div:nth-child(2n){padding-left:28px}
  .quotes{grid-template-columns:1fr}.quotes figure{border-right:0;padding-left:0}
  .areas{grid-template-columns:1fr 1fr}.areas a{border-right:0;padding-left:0}.areas a:nth-child(2n){padding-left:24px;border-left:1px solid var(--rule)}
  .towns{columns:3}
  .sec-head,.split{grid-template-columns:1fr;gap:18px}
  .art{grid-template-columns:1fr}.rail{position:static}
  .reasons{grid-template-columns:1fr 1fr}.reasons div{border-right:0;padding-left:0}.reasons div:nth-child(2n){padding-left:24px;border-left:1px solid var(--rule)}
  .gallery{grid-template-columns:1fr 1fr}.gallery figure.wide{grid-column:span 2}
  .rv-grid{columns:2}
  .ft{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  .hero-strip,.nums,.steps,.opts,.reasons,.areas,.f{grid-template-columns:1fr}
  .hero-strip div,.nums div,.steps div,.opts div,.reasons div,.areas a{border-right:0!important;border-left:0!important;padding-left:0!important}
  .towns{columns:2}
  .rv-grid{columns:1}
  .ft{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.gallery figure.wide img{aspect-ratio:4/3}
  .row{grid-template-columns:40px 1fr auto;gap:14px}
  .faq .a{padding-right:0}
  .c-info div{grid-template-columns:1fr;gap:6px}
  .hero-cta .btn{width:100%;justify-content:space-between}
  .hero-cta .or{display:none}
  .f input,.f textarea{font-size:16px}
}
