:root{
  --display:'Oswald','Arial Narrow',Impact,sans-serif;
  --body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --ink:#1B1B1B;
  --head:#000000;
  --muted:#6A6A6A;
  --rule:#E4E2DE;
  --cream:#F6F5F3;
  --cream-2:#EDEBE7;
  --dark:#0B0B0B;
  --dark-2:#151515;
  --line-d:rgba(255,255,255,.16);
  --shadow:0 6px 22px rgba(0,0,0,.07);
  --shadow-lg:0 18px 48px rgba(0,0,0,.16);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--ink);background:#fff;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s ease;}
h1,h2,h3,h4{font-family:var(--display);color:var(--head);text-transform:uppercase;letter-spacing:.01em;margin:0 0 14px;line-height:1.08;font-weight:700;}
h1{font-size:clamp(38px,5.4vw,66px);}
h2{font-size:clamp(30px,3.6vw,44px);}
h3{font-size:21px;}
p{margin:0 0 16px;color:var(--muted);}
section{padding:92px 0;}
.wrap{max-width:1220px;margin:0 auto;padding:0 28px;}
.eyebrow{font-family:var(--body);font-size:12.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--head);display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--head);display:block;}
.center{text-align:center;}
.center .eyebrow{justify-content:center;}
.lead{max-width:680px;}
.center .lead{margin-left:auto;margin-right:auto;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:14.5px;letter-spacing:.03em;padding:15px 28px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:all .22s ease;white-space:nowrap;}
.btn-primary{background:var(--head);color:#fff;border-color:var(--head);}
.btn-primary:hover{background:#333;border-color:#333;color:#fff;}
.btn-ghost{background:transparent;color:var(--head);border-color:var(--head);}
.btn-ghost:hover{background:var(--head);color:#fff;}
.btn-light{background:#fff;color:var(--head);border-color:#fff;}
.btn-light:hover{background:transparent;color:#fff;border-color:#fff;}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.btn-outline-light:hover{background:#fff;color:var(--head);border-color:#fff;}
.ico{width:17px;height:17px;flex:none;}

/* ---------- header ---------- */
.topbar{background:var(--dark);color:rgba(255,255,255,.82);font-size:13px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap;}
.topbar a:hover{color:#fff;}
.topbar .tb-right{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.lic-line{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:#fff;}
header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--rule);}
.nav{display:flex;align-items:center;justify-content:space-between;height:96px;gap:18px;}
.logo img{height:64px;width:auto;}
.menu{display:flex;list-style:none;margin:0;padding:0;gap:4px;}
.menu li{position:relative;}
.menu .top{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13.8px;letter-spacing:.03em;text-transform:uppercase;padding:13px 12px;border-radius:8px;white-space:nowrap;}
.menu .top:hover{background:var(--cream);color:#000;}
.caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;display:inline-block;}
.drop{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow-lg);min-width:250px;padding:10px;display:none;flex-direction:column;gap:2px;}
.menu li:hover .drop{display:flex;}
.drop a{padding:11px 14px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--ink);}
.drop a:hover{background:var(--cream);color:#000;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.burger{display:none;width:52px;height:52px;border-radius:12px;background:var(--head);border:0;cursor:pointer;align-items:center;justify-content:center;}
.burger span{position:relative;display:block;width:22px;height:2px;background:#fff;}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff;transition:.25s;}
.burger span::before{top:-7px;}
.burger span::after{top:7px;}
.burger.open span{background:transparent;}
.burger.open span::before{top:0;transform:rotate(45deg);}
.burger.open span::after{top:0;transform:rotate(-45deg);}
nav.mobile{display:none;flex-direction:column;gap:4px;padding:16px 20px 26px;border-top:1px solid var(--rule);background:#fff;}
nav.mobile.show{display:flex;}
nav.mobile a{padding:14px 4px;font-weight:700;text-transform:uppercase;font-size:15px;letter-spacing:.04em;border-bottom:1px solid var(--rule);}
nav.mobile .btn{margin-top:16px;justify-content:center;border-bottom:0;}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:64px 64px;}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(1100px 620px at 78% 18%,rgba(255,255,255,.13),transparent 70%);}
.hero-inner{position:relative;z-index:2;padding-top:100px;padding-bottom:78px;}
.hero h1{color:#fff;max-width:920px;}
.hero h1 em{font-style:normal;color:#fff;-webkit-text-stroke:1.5px #fff;color:transparent;}
.hero p{color:rgba(255,255,255,.86);font-size:18px;max-width:640px;}
.pill{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff;padding:9px 20px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.hero-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-d);}
.hero-strip div{padding:30px 26px;border-right:1px solid var(--line-d);}
.hero-strip div:last-child{border-right:0;}
.hero-strip b{display:block;font-family:var(--display);font-size:15px;letter-spacing:.06em;color:#fff;text-transform:uppercase;margin-bottom:4px;}
.hero-strip span{font-size:13.5px;color:rgba(255,255,255,.74);}

/* ---------- services ---------- */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:48px;}
.card{background:#fff;border:1px solid var(--rule);border-radius:16px;padding:34px 32px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--head);}
.card-ico{width:60px;height:60px;border-radius:14px;background:var(--head);color:#fff;display:grid;place-items:center;margin-bottom:20px;}
.card-ico svg{width:28px;height:28px;}
.card ul{list-style:none;margin:16px 0 20px;padding:0;display:grid;gap:9px;}
.card li{font-size:14.5px;color:var(--ink);padding-left:22px;position:relative;}
.card li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:var(--head);border-radius:2px;}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--head);border-bottom:2px solid var(--head);padding-bottom:3px;}
.more:hover{gap:13px;}

/* ---------- split / about ---------- */
.about{background:var(--cream);}
.split{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center;}
.frame{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);}
.frame-open{overflow:visible;}
.bgimg{aspect-ratio:4/3.2;border-radius:18px;background:linear-gradient(150deg,#1E1E1E 0%,#0B0B0B 55%,#242424 100%);position:relative;display:grid;place-items:center;overflow:hidden;}
.bgimg::before{content:"";position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.45) 1px,transparent 1px);background-size:44px 44px;}
.bgimg .mark{position:relative;z-index:2;width:52%;max-width:280px;opacity:.9;}
.photo-tag{position:absolute;left:22px;bottom:20px;z-index:3;color:rgba(255,255,255,.82);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.stat-badge{position:absolute;right:-22px;bottom:-26px;z-index:4;background:var(--head);color:#fff;border-radius:16px;padding:24px 30px;box-shadow:var(--shadow-lg);text-align:center;}
.stat-badge b{display:block;font-family:var(--display);font-size:40px;line-height:1;}
.stat-badge span{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82);}
.review-card{position:absolute;left:-8px;bottom:-28px;z-index:3;background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px 24px;max-width:290px;box-shadow:var(--shadow-lg);}
.review-card b{display:block;font-size:14.5px;line-height:1.45;color:var(--ink);}
.stars{letter-spacing:3px;color:var(--head);font-size:15px;margin-bottom:8px;}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:52px;}
.step{text-align:center;}
.step-no{width:76px;height:76px;border-radius:50%;border:2px solid var(--head);color:var(--head);font-family:var(--display);font-size:28px;display:grid;place-items:center;margin:0 auto 20px;background:#fff;transition:.25s;}
.step:hover .step-no{background:var(--head);color:#fff;}
.step h3{font-size:19px;}
.step p{font-size:14.5px;margin:0;}

/* ---------- why (dark band) ---------- */
.why{background:var(--dark);color:#fff;}
.why h2,.why h3,.why h4{color:#fff;}
.why h2 em{font-style:normal;-webkit-text-stroke:1.5px #fff;color:transparent;}
.why p{color:rgba(255,255,255,.88);}
.why .eyebrow{color:#fff;}
.why .eyebrow::before{background:#fff;}
.why .bgimg{background:linear-gradient(150deg,#2A2A2A 0%,#141414 60%,#333 100%);}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px;}
.feat h4{font-family:var(--body);text-transform:none;font-size:16.5px;color:#fff;margin-bottom:6px;letter-spacing:0;font-weight:700;}
.feat p{font-size:14.5px;margin:0;color:rgba(255,255,255,.86);}
.feat-ico{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;margin-bottom:13px;}
.feat-ico svg{width:22px;height:22px;}

/* ---------- portfolio ---------- */
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px;}
.tile{aspect-ratio:4/3;border-radius:14px;position:relative;overflow:hidden;background:linear-gradient(150deg,#1E1E1E,#0B0B0B 60%,#2B2B2B);box-shadow:var(--shadow);display:grid;place-items:center;}
.tile::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:36px 36px;}
.tile span{position:relative;z-index:2;color:rgba(255,255,255,.9);font-family:var(--display);font-size:16px;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:0 18px;}
.tile:nth-child(even){background:linear-gradient(150deg,#2E2E2E,#141414 60%,#1A1A1A);}

/* ---------- testimonials ---------- */
.tst{background:var(--cream);}
.rating-chip{display:inline-flex;align-items:center;gap:12px;background:var(--head);color:#fff;padding:13px 26px;border-radius:999px;margin-top:18px;font-weight:800;font-size:14px;letter-spacing:.06em;}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
.quote{background:#fff;border-radius:14px;padding:30px;position:relative;border-top:5px solid var(--head);box-shadow:var(--shadow);}
.quote p{font-size:15px;color:var(--ink);}
.quote .who{font-family:var(--display);font-size:20px;color:var(--head);text-transform:uppercase;}
.quote .where{font-size:13px;color:var(--muted);}
.qmark{position:absolute;top:20px;right:24px;font-size:54px;color:var(--cream-2);font-family:Georgia,serif;line-height:1;}

/* ---------- faq ---------- */
.acc{max-width:840px;margin:46px auto 0;display:grid;gap:14px;}
details{background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow);}
summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:var(--display);font-size:18px;text-transform:uppercase;color:var(--head);display:flex;justify-content:space-between;align-items:center;gap:18px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-family:var(--body);font-size:26px;font-weight:400;color:var(--head);line-height:1;}
details[open] summary::after{content:"–";}
details[open] summary{border-bottom:1px solid var(--rule);}
.acc-body{padding:20px 26px 26px;}
.acc-body p{margin:0;font-size:15px;}

/* ---------- blog ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:46px;}
.post{background:#fff;border:1px solid var(--rule);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease;}
.post:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.post-img{aspect-ratio:16/9;background:linear-gradient(150deg,#232323,#0B0B0B);position:relative;display:grid;place-items:center;}
.post-img::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:30px 30px;}
.post-img span{position:relative;z-index:2;color:rgba(255,255,255,.85);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;}
.post-body{padding:26px 26px 30px;}
.post-date{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px;}
.post h3{font-size:19px;}
.post p{font-size:14.5px;}

/* ---------- contact ---------- */
.contact{background:var(--cream);}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:start;margin-top:44px;}
.cinfo{display:grid;gap:16px;}
.crow{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--rule);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow);}
.crow .cico{width:46px;height:46px;flex:none;border-radius:12px;background:var(--head);color:#fff;display:grid;place-items:center;}
.crow .cico svg{width:21px;height:21px;}
.crow b{display:block;font-family:var(--display);font-size:14.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--head);margin-bottom:3px;}
.crow a,.crow p{font-size:15.5px;color:var(--ink);margin:0;font-weight:600;word-break:break-word;}
.crow a:hover{color:#000;text-decoration:underline;}
.crow small{display:block;font-size:13px;color:var(--muted);font-weight:400;}
.qr-card{display:flex;gap:22px;align-items:center;background:var(--head);color:#fff;border-radius:14px;padding:22px 24px;box-shadow:var(--shadow);}
.qr-card img{width:112px;height:112px;flex:none;border-radius:10px;background:#fff;padding:7px;}
.qr-card b{display:block;font-family:var(--display);font-size:14.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.qr-card p{color:rgba(255,255,255,.82);font-size:14px;margin:0 0 8px;}
.qr-card a{font-weight:700;font-size:15px;border-bottom:1px solid rgba(255,255,255,.5);}
.map{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--rule);background:#fff;}


.map iframe{display:block;width:100%;height:520px;border:0;}


/* ---------- areas ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px;}
.area{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:16px 20px;font-weight:600;font-size:15px;display:flex;align-items:center;gap:11px;transition:.2s;}
.area:hover{background:var(--head);color:#fff;border-color:var(--head);}
.area .dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none;}

/* ---------- cta band ---------- */
.cta-band{background:var(--dark);color:#fff;text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:56px 56px;}
.cta-band .wrap{position:relative;z-index:2;}
.cta-band h2{color:#fff;}
.cta-band p{color:rgba(255,255,255,.86);max-width:640px;margin:0 auto 30px;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- footer ---------- */
footer{background:var(--dark-2);color:rgba(255,255,255,.76);padding:74px 0 32px;}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:46px;}
footer img.flogo-img{height:56px;width:auto;margin-bottom:22px;}
footer h4{font-family:var(--display);color:#fff;font-size:19px;text-transform:uppercase;margin:0 0 20px;letter-spacing:.06em;}
footer p{color:rgba(255,255,255,.7);font-size:14.5px;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
footer li a{font-size:14.5px;color:rgba(255,255,255,.76);}
footer li a:hover{color:#fff;}
.lic{color:#fff;font-weight:700;letter-spacing:.08em;font-size:13.5px;margin-top:18px;text-transform:uppercase;}
.fbot{border-top:1px solid var(--line-d);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .menu,.nav-cta .btn{display:none;}
  .burger{display:flex;}
  .split,.contact-grid{grid-template-columns:1fr;gap:52px;}
  .steps{grid-template-columns:repeat(2,1fr);gap:38px 26px;}
  .gallery,.quotes,.posts{grid-template-columns:repeat(2,1fr);}
  .areas-grid{grid-template-columns:repeat(3,1fr);}
  .fgrid{grid-template-columns:1fr 1fr;gap:38px;}
  .hero-strip{grid-template-columns:repeat(2,1fr);}
  .hero-strip div:nth-child(2){border-right:0;}
  .hero-strip div:nth-child(1),.hero-strip div:nth-child(2){border-bottom:1px solid var(--line-d);}
  .stat-badge{right:14px;bottom:-24px;}
}
@media(max-width:640px){
  section{padding:62px 0;}
  .wrap{padding:0 18px;}
  .nav{height:82px;}
  .logo img{height:44px;}
  .topbar .wrap{justify-content:center;text-align:center;font-size:12.5px;}
  .hero-inner{padding-top:76px;padding-bottom:80px;}
  .hero h1{max-width:none;}
  .hero-actions .btn{width:100%;justify-content:center;}
  .cards,.gallery,.quotes,.posts{grid-template-columns:1fr;}
  .feat{grid-template-columns:1fr;}
  .areas-grid{grid-template-columns:repeat(2,1fr);}
  .fgrid{grid-template-columns:1fr;}
  .review-card,.stat-badge{position:static;max-width:none;margin-top:18px;}
  .photo-tag{display:none;}
  .stat-badge{padding:18px 22px;}
  .stat-badge b{font-size:34px;}
  .map iframe{height:320px;}
  .qr-card{flex-direction:column;text-align:center;}
  .cta-actions .btn{width:100%;justify-content:center;}
  .head-row .more{margin-top:6px;}
}
:focus-visible{outline:3px solid #000;outline-offset:3px;}
.why :focus-visible,.hero :focus-visible,.cta-band :focus-visible,footer :focus-visible{outline-color:#fff;}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;}}

/* ================= BUILD ADDITIONS (8-page expansion) ================= */

/* ---------- hero photo modifiers ---------- */
.hero-home{background-image:linear-gradient(rgba(11,11,11,.6),rgba(11,11,11,.6)),url('../images/hero-truck.jpg');background-size:cover,cover;background-position:center,center;}
.hero-sub .hero-inner{padding-top:64px;padding-bottom:64px;}
/* Mobile hero photo — hidden on desktop, where the photo is a background image */
.hero-photo{display:none;}

/* ---------- real-photo modifiers for .bgimg / .tile ---------- */
.bgimg-photo{background:none;}
.bgimg-photo::before{display:none;}
.bgimg-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.tile-photo{background:none;}
.tile-photo::before{display:none;}
.tile-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- blog: table of contents + full-width lead images ---------- */
.blog-toc{display:flex;flex-wrap:wrap;gap:12px;margin:44px 0 0;padding:0;list-style:none;}
.blog-toc a{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--rule);border-radius:999px;padding:11px 22px;font-weight:700;font-size:14px;letter-spacing:.02em;}
.blog-toc a:hover{background:var(--head);color:#fff;border-color:var(--head);}
.post-article{padding-top:70px;border-top:1px solid var(--rule);}
.post-article:first-of-type{padding-top:0;border-top:0;}
.post-lead{aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);margin:26px 0 36px;}
.post-lead img{width:100%;height:100%;object-fit:cover;display:block;}
.post-article h3{font-size:19px;margin-top:34px;}
.post-article .more{margin-top:10px;}

/* ---------- service-areas: desktop-only map height (mobile inherits the existing .map iframe 320px rule) ---------- */
@media(min-width:641px){
  .map-areas iframe{height:480px;}
}

/* ---------- responsive (extends existing breakpoints; no new breakpoints introduced) ---------- */
@media(max-width:640px){
  .hero-sub .hero-inner{padding-top:48px;padding-bottom:48px;}
  .post-lead{aspect-ratio:4/3;}
  .blog-toc{flex-direction:column;}
  .blog-toc a{min-height:44px;box-sizing:border-box;justify-content:center;}
  .post-article p{margin-bottom:22px;}
  .area{min-height:44px;box-sizing:border-box;}
  .card p,.step p,.feat p,.post p,.post-article li{font-size:15px;}

  /* mobile hero: uncropped 16:9 photo above the text, instead of a cropped cover background */
  .hero-home{background-image:none;}
  .hero-photo{
    display:block;
    position:relative;
    z-index:3;
    width:100%;
    height:auto;
  }
  .hero-home::before{opacity:0;}
  .hero-home::after{display:none;}
  .hero-home .hero-inner{padding-top:32px;padding-bottom:32px;}
  .hero-home .pill{margin-bottom:14px;}
  .hero-home h1{font-size:30px;line-height:1.15;}
  .hero-home .hero-inner p{margin-bottom:14px;}
  .hero-home .hero-actions{margin-top:14px;}
}
