/* A–Z Trash Solutions — Torn Ground theme.
   Desktop geometry follows the supplied composition; all copy and controls are real HTML.
   Section measurements use the main site's container width, not screenshot scaling. */
@font-face {
  font-family:AZDisplay;
  src:local("Noto Sans Display ExtraCondensed Black");
  font-weight:400 900;
  font-display:swap
}
:root {
  --yellow:#ffe000;
  --ink:#0a1012;
  --paper:#ebe9df;
  --green:#4ac818;
  --display:"Anton",Impact,AZDisplay,"Arial Narrow",sans-serif;
  --body:"Barlow Condensed","Arial Narrow","Noto Sans Display",Arial,sans-serif;
  --hand:"Caveat","Comic Neue","Segoe Print",cursive;
  --paper-texture:url('../assets/textures/concrete-paper.webp');
  --rock-texture:url('../assets/textures/charcoal-rock.webp');
  color-scheme:light
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:70px
}
body {
  margin:0;
  background:#101618;
  color:var(--ink);
  font-family:var(--body);
  font-stretch:condensed;
  -webkit-font-smoothing:antialiased
}
body.modal-open {
  overflow:hidden
}
button,input,textarea,select {
  font:inherit
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button,a {
  touch-action:manipulation
}
button {
  color:inherit
}
a {
  color:inherit;
  text-decoration:none
}
button {
  border:0
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #ea7623;
  outline-offset:5px
}
button:disabled {
  cursor:wait;
  opacity:.6
}
img {
  display:block;
  max-width:100%
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2,h3 {
  font-family:var(--display);
  font-weight:400
}
svg.icon {
  display:inline-block;
  width:1.4em;
  height:1.4em;
  flex-shrink:0;
  fill:currentColor;
  vertical-align:middle
}
.yellow {
  color:var(--yellow)
}
.hand {
  font-family:var(--hand);
  font-weight:700;
  line-height:1.05;
  font-style:italic
}
.site {
  width:100%;
  max-width:1600px;
  margin:0 auto;
  container-type:inline-size;
  isolation:isolate;
  overflow:clip;
  box-shadow:0 0 90px #0007
}
.paper {
  background-color:var(--paper);
  background-image:url('../assets/decor/paper-cracks.svg'),var(--paper-texture);
  background-size:100% auto,58cqw auto
}
.skip-link {
  position:fixed;
  z-index:9999;
  left:16px;
  top:-90px;
  background:var(--yellow);
  padding:14px 20px;
  font:700 17px var(--body);
  border-radius:4px
}
.skip-link:focus {
  top:12px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1.3cqw;
  min-height:3.6cqw;
  padding:.65cqw 1.9cqw;
  background:var(--yellow);
  color:#05090a;
  border-radius:.75cqw;
  font-weight:700;
  font-size:1.6cqw;
  line-height:1;
  box-shadow:0 .25cqw .35cqw #0004;
  white-space:nowrap;
  transition:transform .2s,box-shadow .2s,background .2s
}
.button .icon {
  width:2.1cqw;
  height:2.1cqw
}
.button:hover {
  background:#ffeb57;
  transform:translateY(-2px);
  box-shadow:0 .4cqw .7cqw #0005
}
.button--black {
  background:#070b0b;
  color:white
}
.button--black .icon {
  color:var(--yellow)
}
.button--black:hover {
  background:#222827
}
.text-link {
  padding:0;
  background:transparent;
  color:white;
  font-size:1.65cqw;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:.65cqw;
  line-height:1.1
}
.text-link .icon {
  color:var(--yellow);
  width:1.8cqw;
  height:1.8cqw
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:.4em
}
.torn:before,.torn:after {
  content:"";
  position:absolute;
  z-index:5;
  pointer-events:none;
  left:-1%;
  width:102%;
  height:3.2cqw;
  background:var(--paper-texture);
  background-size:15.8cqw 36.2cqw;
  mask:url('../assets/decor/torn-edge.svg') center/100% 100% no-repeat;
  -webkit-mask:url('../assets/decor/torn-edge.svg') center/100% 100% no-repeat
}
.torn:before {
  top:-1.6cqw;
  transform:rotate(180deg)
}
.torn:after {
  bottom:-1.5cqw;
  filter:drop-shadow(0 2px 1px #0005)
}
/* Header */
.site-header {
  height:5.2cqw;
  position:relative;
  display:flex;
  align-items:center;
  z-index:30;
  padding:0 8.2cqw 0 6.3cqw;
  gap:3.2cqw;
  background:#111719 var(--rock-texture) center/25cqw;
  border-bottom:.1cqw solid #eee7
}
.site-header:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1.1cqw;
  height:1.3cqw;
  background:var(--paper-texture);
  clip-path:polygon(0 0,100% 0,100% 28%,98% 9%,96% 52%,93% 31%,90% 48%,87% 9%,84% 50%,81% 31%,78% 57%,74% 23%,70% 52%,66% 25%,63% 50%,60% 21%,57% 54%,54% 19%,51% 50%,48% 24%,45% 57%,42% 15%,39% 46%,36% 27%,33% 56%,30% 21%,27% 58%,24% 16%,21% 49%,18% 21%,15% 45%,12% 25%,9% 53%,6% 21%,3% 41%,0 12%);
  pointer-events:none
}
.brand {
  display:block;
  width:10.6cqw;
  flex-shrink:0
}
.brand img {
  width:100%;
  height:auto
}
.main-nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex:1;
  gap:2cqw;
  align-self:stretch
}
.main-nav a,.main-nav button {
  display:flex;
  align-items:center;
  position:relative;
  background:none;
  color:#f5f3ea;
  font-family:var(--body);
  font-weight:700;
  font-size:1.22cqw;
  text-transform:uppercase;
  padding:0;
  white-space:nowrap
}
.main-nav a:hover,.main-nav button:hover,.main-nav .is-active {
  color:var(--yellow)
}
.main-nav .is-active:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:.95cqw;
  height:.25cqw;
  background:var(--yellow)
}
.header-quote {
  font-size:1.3cqw;
  min-height:3.1cqw;
  padding:.45cqw 1.8cqw;
  gap:1cqw;
  border-radius:.65cqw;
  margin-left:8cqw
}
.header-quote .icon {
  width:1.65cqw;
  height:1.65cqw
}
.menu-toggle {
  display:none
}
/* Hero — circular image, orbital service badges, ink stamps. */
.hero {
  height:42.3cqw;
  position:relative;
  background:#0b1214 var(--rock-texture) center/28cqw;
  color:white;
  isolation:isolate
}
.hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 49% 14%,#80624635,transparent 45%),linear-gradient(110deg,#0002,transparent 65%);
  z-index:-1
}
.hero-landscape {
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:-1
}
.desert-edge {
  position:absolute;
  bottom:0;
  height:66%;
  object-fit:cover
}
.desert-edge--left {
  left:0;
  width:8%;
  mask-image:linear-gradient(to right,black 60%,transparent);
  -webkit-mask-image:linear-gradient(to right,black 60%,transparent)
}
.desert-edge--right {
  right:0;
  width:27%;
  height:67%;
  mask-image:linear-gradient(to left,black 45%,transparent),linear-gradient(to top,black 65%,transparent);
  mask-composite:intersect;
  -webkit-mask-image:linear-gradient(to left,black 45%,transparent),linear-gradient(to top,black 65%,transparent);
  -webkit-mask-composite:source-in
}
.hero-photo {
  position:absolute;
  left:28.1%;
  top:-1.3%;
  width:42.9%;
  height:94%;
  filter:drop-shadow(.5cqw .7cqw .65cqw #000b);
  transform:rotate(1deg)
}
.hero-photo:before {
  content:"";
  position:absolute;
  inset:.3% -.4% 2.1%;
  border:.7cqw solid #efeee4;
  border-radius:49% 52% 48% 49%;
  background:var(--rock-texture);
  z-index:-1
}
.hero-photo:after {
  content:"";
  position:absolute;
  inset:-.6% -1.7% 1.1% -1.7%;
  border:.22cqw solid #a6aaa16b;
  border-radius:48% 54% 49% 53%;
  pointer-events:none
}
.hero-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  mask:url('../assets/masks/hero-demolition-mask.png') center/100% 100% no-repeat;
  -webkit-mask:url('../assets/masks/hero-demolition-mask.png') center/100% 100% no-repeat
}
.hero-copy {
  position:absolute;
  top:2.3cqw;
  left:6.5%;
  width:26.9%;
  z-index:4
}
.hero h1 {
  font-size:6.15cqw;
  letter-spacing:-.08cqw;
  line-height:.91;
  transform:rotate(-4deg);
  transform-origin:50% 60%;
  text-shadow:.15cqw .25cqw 0 #0007;
  margin-bottom:1.1cqw
}
.hero h1 span {
  display:block;
  white-space:nowrap
}
.hero-copy p {
  font-size:1.64cqw;
  line-height:1.02;
  margin-top:.7cqw;
  margin-bottom:1.25cqw
}
.hero-copy .button {
  margin-left:3cqw;
  transform:rotate(-3deg);
  padding:.85cqw 2.4cqw
}
.hero-copy .button:hover {
  transform:rotate(-3deg) translateY(-3px)
}
.hero-services {
  position:absolute;
  left:65.9%;
  top:1.1cqw;
  width:19%;
  display:grid;
  gap:.15cqw;
  z-index:6
}
.hero-service {
  display:flex;
  align-items:center;
  gap:1.2cqw;
  padding:0;
  background:none;
  color:#fff;
  text-align:left;
  font-size:1.45cqw;
  line-height:1.06;
  min-height:6.8cqw;
  --orbit:var(--yellow);
  --icon-cutout:#090f10
}
.hero-service--0 {
  --orbit:#ffa412;
  margin-left:.8cqw
}
.hero-service--1 {
  margin-left:4.2cqw
}
.hero-service--2 {
  margin-left:6.1cqw
}
.hero-service--3 {
  --orbit:#46d116;
  margin-left:4.1cqw
}
.hero-service--4 {
  margin-left:-.7cqw
}
.service-orbit {
  width:6.7cqw;
  height:6.7cqw;
  flex-shrink:0;
  display:grid;
  place-items:center;
  border:.29cqw solid var(--orbit);
  border-radius:50%;
  background:#050b0beb;
  box-shadow:0 .35cqw .4cqw #000b;
  transition:transform .22s,background .22s
}
.service-orbit .icon {
  width:3.85cqw;
  height:3.85cqw;
  color:var(--orbit)
}
.hero-service--1 .icon,.hero-service--4 .icon {
  color:white
}
.hero-service:hover .service-orbit {
  transform:rotate(-7deg) scale(1.07);
  background:#242c21
}
.hero-stamp {
  position:absolute;
  right:3.8%;
  top:2.9cqw;
  font-size:2.25cqw;
  text-align:center;
  transform:rotate(-10deg);
  line-height:.98;
  letter-spacing:-.06cqw
}
.hero-stamp img {
  width:10.2cqw;
  margin:.5cqw auto 0
}
.hero-ground-note {
  position:absolute;
  left:17.5%;
  bottom:2.7cqw;
  padding:.4cqw 1cqw;
  background:#dfd2ac var(--paper-texture) center/20cqw;
  color:#0b1110;
  font-size:1.35cqw;
  transform:rotate(-10deg);
  z-index:6;
  clip-path:polygon(1% 12%,14% 4%,34% 9%,60% 0,88% 9%,99% 37%,98% 86%,84% 94%,70% 89%,45% 98%,24% 91%,0 99%)
}
/* Organic residential / commercial section */
.paths {
  height:34cqw;
  margin-top:-7.5cqw;
  position:relative;
  z-index:8;
  background:transparent;
  isolation:isolate
}
.paths:before {
  content:"";
  position:absolute;
  inset:3% 0 0;
  background:#1e3c14 url('../assets/textures/green-rock.webp') center/30cqw;
  clip-path:polygon(0 2%,22% 23%,51% 15%,100% 35%,100% 100%,0 100%);
  z-index:-2
}
.paths-paper {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-1
}
.path-photo {
  position:absolute;
  object-fit:cover;
  object-position:center;
  filter:drop-shadow(0 .1cqw .15cqw #0005)
}
.path-photo--residential {
  left:0;
  top:7.7%;
  width:44.65%;
  height:84%;
  mask:url('../assets/masks/residential-curve-mask.png') center/100% 100% no-repeat;
  -webkit-mask:url('../assets/masks/residential-curve-mask.png') center/100% 100% no-repeat
}
.path-photo--commercial {
  right:0;
  top:2%;
  width:42.3%;
  height:89.8%;
  mask:url('../assets/masks/commercial-curve-mask.png') center/100% 100% no-repeat;
  -webkit-mask:url('../assets/masks/commercial-curve-mask.png') center/100% 100% no-repeat
}
.paths-mantra {
  position:absolute;
  left:46.6%;
  top:26%;
  width:11.5%
}
.paths-mantra h2 {
  font-size:2.85cqw;
  line-height:.99
}
.paths-mantra img {
  height:8.8cqw;
  width:auto;
  margin:1.05cqw 0 0 1.1cqw;
  opacity:.55
}
.path-copy {
  position:absolute;
  color:white;
  z-index:2
}
.path-copy h2 {
  font-family:var(--body);
  font-stretch:condensed;
  font-weight:700;
  font-size:2.8cqw;
  line-height:1.05
}
.path-copy p {
  font-family:Arial,sans-serif;
  font-size:1.43cqw;
  line-height:1.13;
  margin:.3cqw 0 .6cqw
}
.path-copy--residential {
  left:21.6%;
  top:54.8%;
  width:22%
}
.path-copy--commercial {
  left:63.2%;
  top:55.6%;
  width:28%
}
/* Torn service sheet */
.services {
  height:24.5cqw;
  margin-top:-5cqw;
  position:relative;
  z-index:12;
  padding:2.8cqw 6.7cqw 2cqw
}
.section-label {
  position:relative;
  font-size:2.85cqw;
  line-height:1;
  display:inline-block;
  z-index:6
}
.section-label:after {
  content:"";
  position:absolute;
  left:28%;
  right:-28%;
  height:.6cqw;
  bottom:-.25cqw;
  background:var(--yellow);
  transform:rotate(-3deg);
  z-index:-1
}
.service-grid {
  position:absolute;
  left:6.7%;
  top:25%;
  width:62.9%;
  height:64%;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-template-rows:1fr 1fr
}
.service-item {
  background:none;
  border-right:1px solid #52534718;
  border-bottom:1px solid #52534718;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35cqw;
  padding:.5cqw .3cqw;
  line-height:1.1;
  font-size:1.43cqw;
  --icon-cutout:#e9e8df;
  transition:background .18s,transform .18s
}
.service-item:nth-child(5n) {
  border-right:0
}
.service-item:nth-child(n+6) {
  border-bottom:0
}
.service-item .icon {
  width:4cqw;
  height:4cqw
}
.service-item span {
  min-height:2em;
  text-align:center
}
.service-item:hover {
  background:#ffe00057;
  transform:translateY(-2px)
}
.service-item.green-icon .icon {
  color:#285c22
}
.quote-note {
  position:absolute;
  z-index:7;
  right:12%;
  top:8%;
  width:20.5%;
  height:11.2cqw;
  background:var(--yellow) url('../assets/textures/yellow-paper.webp') center/100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:.5cqw;
  text-align:left;
  transform:rotate(-8deg);
  padding:1.45cqw .7cqw 1.7cqw 1.4cqw;
  filter:drop-shadow(.25cqw .6cqw .25cqw #0004);
  clip-path:polygon(0 4%,8% 0,14% 4%,20% 1%,29% 3%,37% 0,49% 3%,61% 0,70% 3%,81% 0,94% 3%,98% 0,100% 18%,97% 27%,100% 43%,98% 57%,100% 74%,97% 92%,90% 95%,84% 100%,74% 97%,63% 100%,48% 97%,37% 100%,24% 98%,12% 100%,2% 98%,4% 86%,0 73%,3% 59%,0 45%,3% 29%)
}
.quote-note span {
  font-family:var(--display);
  font-size:2.65cqw;
  line-height:1.1
}
.quote-note strong {
  font-weight:400;
  font-size:2.35cqw;
  white-space:nowrap
}
.quote-note>.icon {
  width:2.5cqw;
  height:2.5cqw;
  margin-top:2.6cqw
}
.quote-note>img {
  position:absolute;
  bottom:.8cqw;
  left:20%;
  width:66%;
  filter:brightness(0);
  height:2cqw
}
.quote-note:hover {
  transform:rotate(-5deg) scale(1.03)
}
.services-cactus {
  position:absolute;
  left:-.9%;
  bottom:.3cqw;
  width:6.7%;
  height:16.5cqw;
  object-fit:contain;
  transform:rotate(-5deg);
  opacity:.85
}
.services-margin {
  position:absolute;
  right:.2%;
  top:23%;
  width:15%;
  height:75%
}
.services-margin>img {
  width:92%;
  height:10.5cqw;
  object-fit:contain;
  margin-left:8%;
  opacity:.95
}
.services-margin p {
  position:absolute;
  right:1.5cqw;
  bottom:1.5cqw;
  font-size:1.85cqw;
  transform:rotate(-13deg);
  line-height:.91
}
/* Diagonal demolition poster */
.statement {
  height:29cqw;
  margin-top:-1.5cqw;
  position:relative;
  background:#101719 var(--rock-texture) center/28cqw;
  color:white;
  z-index:8;
  overflow:hidden
}
.statement-yellow {
  position:absolute;
  inset:0;
  background:var(--yellow) url('../assets/textures/yellow-paper.webp') center/18cqw;
  clip-path:polygon(0 0,43% 0,22.5% 100%,0 100%)
}
.statement-photo {
  position:absolute;
  left:22.7%;
  top:0;
  width:55.6%;
  height:100%;
  object-fit:cover;
  object-position:center;
  mask:url('../assets/masks/demolition-diagonal-mask.png') center/100% 100% no-repeat;
  -webkit-mask:url('../assets/masks/demolition-diagonal-mask.png') center/100% 100% no-repeat
}
.statement-intro {
  position:absolute;
  left:7.3%;
  top:2.5cqw;
  color:#05090a
}
.statement h2 {
  font-size:5.8cqw;
  line-height:.74;
  letter-spacing:-.1cqw
}
.statement-intro p {
  font-family:Arial,sans-serif;
  font-size:2cqw;
  line-height:.96;
  margin:1cqw 0 .8cqw
}
.statement-intro .button {
  font-size:1.48cqw;
  min-height:3.4cqw;
  margin-left:2cqw;
  transform:rotate(-3deg);
  padding:.55cqw 1.8cqw
}
.statement-cactus {
  position:absolute;
  left:.5%;
  bottom:-2.5cqw;
  width:5.5%;
  height:21cqw;
  object-fit:fill
}
.statement-mantra {
  position:absolute;
  left:78%;
  top:3.2cqw;
  width:20%
}
.statement-mantra h3 {
  font-size:2.8cqw;
  line-height:.91
}
.statement-mantra>img {
  width:14cqw;
  height:3cqw;
  object-fit:fill;
  margin-top:.7cqw;
  transform:translateX(-2cqw)
}
.statement-mantra p {
  font-size:1.35cqw;
  line-height:1.04;
  margin:.65cqw 0 0 3cqw
}
.statement-mantra strong {
  color:var(--yellow);
  font-weight:700
}
/* Yellow promise strip */
.trust-strip {
  position:relative;
  height:6.3cqw;
  z-index:9;
  background:var(--yellow) url('../assets/textures/yellow-paper.webp') center/18cqw;
  display:grid;
  grid-template-columns:22.5% 24% 22% 31.5%;
  align-items:center;
  padding-right:4.5%
}
.trust-note {
  font-size:1.3cqw;
  padding-left:7.8cqw;
  white-space:nowrap;
  transform:rotate(-7deg)
}
.trust-item {
  display:flex;
  align-items:center;
  gap:1.7cqw;
  padding:0 1.7cqw;
  border-right:1px solid #13191277;
  --icon-cutout:var(--yellow)
}
.trust-item:last-child {
  border-right:0
}
.trust-item>.icon {
  width:4.5cqw;
  height:4.5cqw
}
.trust-item p {
  display:flex;
  flex-direction:column;
  line-height:1.2
}
.trust-item strong {
  font-family:var(--display);
  font-size:1.78cqw;
  font-weight:400;
  white-space:nowrap
}
.trust-item span {
  font-size:1.1cqw;
  white-space:nowrap;
  letter-spacing:.02cqw
}
/* Lower paper collage */
.property-stories {
  height:22.5cqw;
  margin-top:-1cqw;
  position:relative;
  z-index:14;
  display:grid;
  grid-template-columns:33% 19.6% 29.8% 17.6%;
  padding:1.8cqw 2.8cqw .4cqw;
  gap:.5cqw
}
.property-stories:before {
  top:-1.1cqw
}
.property-stories:after {
  height:2.2cqw;
  bottom:-1.1cqw
}
.story-card {
  position:relative;
  min-width:0;
  transform:rotate(-1.8deg);
  background:#090e0d;
  border:.4cqw solid #f6f3e8;
  clip-path:polygon(1% 2%,9% 0,24% 1%,40% 0,53% 2%,70% 0,86% 2%,98% 0,100% 12%,99% 32%,100% 47%,99% 69%,100% 86%,99% 100%,84% 98%,67% 100%,47% 98%,28% 100%,12% 98%,0 99%,1% 85%,0 64%,1% 42%,0 18%);
  overflow:hidden
}
.story-card>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top
}
.story-card:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 34%,#090e0dcc 62%,#090e0d 100%);
  z-index:1;
  pointer-events:none
}
.story-card--commercial {
  transform:rotate(1deg)
}
.story-copy {
  position:absolute;
  left:5%;
  right:4%;
  bottom:4%;
  color:white;
  z-index:2
}
.story-copy h2 {
  font-size:2.6cqw;
  line-height:.95
}
.story-copy p {
  font-family:Arial,sans-serif;
  font-size:1.45cqw;
  line-height:1.13;
  margin:.3cqw 0 .65cqw
}
.story-copy .button {
  font-size:1.45cqw;
  min-height:3cqw;
  padding:.45cqw 1.75cqw;
  border-radius:.6cqw;
  gap:1cqw
}
.story-copy .button>.icon {
  height:1.6cqw;
  width:1.6cqw
}
.dedication-note {
  position:relative;
  background:#101718 var(--rock-texture) center/20cqw;
  color:#f8f5e8;
  transform:rotate(2deg);
  clip-path:polygon(2% 0,98% 2%,100% 98%,3% 100%,0 78%,2% 57%,0 33%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:1.8cqw
}
.dedication-note p {
  font-size:2.55cqw;
  transform:rotate(-9deg);
  line-height:1.07
}
.dedication-note>img {
  position:absolute;
  width:68%;
  bottom:1.6cqw;
  left:21%
}
.property-stamp {
  position:relative
}
.property-stamp>img {
  width:100%;
  height:10.5cqw;
  object-fit:contain
}
.property-stamp p {
  font-size:2.1cqw;
  position:absolute;
  top:50%;
  left:18%;
  transform:rotate(-11deg);
  line-height:.98
}
/* Truck postcard / capabilities */
.closing {
  height:20cqw;
  margin-top:-1cqw;
  position:relative;
  z-index:13
}
.truck-postcard {
  position:absolute;
  left:3.2%;
  top:5%;
  width:39.5%;
  height:84%;
  transform:rotate(-5deg);
  padding:.7cqw .7cqw 4.1cqw;
  background:#f1eddd var(--paper-texture) center/16cqw;
  box-shadow:.2cqw .3cqw .6cqw #26282044;
  clip-path:polygon(0 1%,98% 0,100% 16%,99% 39%,100% 58%,99% 82%,100% 98%,79% 100%,48% 98%,23% 100%,0 98%,1% 75%,0 51%,1% 27%)
}
.truck-image {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.truck-postcard figcaption {
  position:absolute;
  bottom:.6cqw;
  left:14%;
  font-size:2.1cqw;
  line-height:.91;
  transform:rotate(-1deg)
}
.tape {
  position:absolute;
  width:28%;
  height:auto;
  opacity:.84;
  pointer-events:none
}
.tape--one {
  left:-4%;
  top:4%;
  transform:rotate(-26deg)
}
.tape--two {
  right:-5%;
  bottom:15%;
  transform:rotate(-29deg)
}
.closing-message {
  position:absolute;
  left:45.8%;
  top:15%;
  font-size:3.3cqw;
  line-height:.95;
  transform:rotate(-10deg)
}
.closing-cactus {
  position:absolute;
  left:58%;
  bottom:0;
  height:16cqw;
  width:7%;
  object-fit:contain
}
.capability-card {
  position:absolute;
  right:7%;
  top:12%;
  width:27%;
  height:78%;
  padding:2cqw 2.4cqw;
  background:#101718 var(--rock-texture) center/20cqw;
  color:white;
  display:grid;
  grid-template-columns:27% 1fr;
  column-gap:1.4cqw;
  align-content:start;
  clip-path:polygon(2% 2%,19% 0,36% 1%,53% 0,71% 2%,87% 0,99% 2%,100% 18%,98% 38%,100% 59%,98% 81%,100% 98%,79% 100%,60% 98%,39% 100%,19% 98%,0 100%,1% 79%,0 58%,2% 36%,0 16%)
}
.capability-card>.icon {
  width:5.7cqw;
  height:6.4cqw;
  align-self:center
}
.capability-card h2 {
  font-size:2.5cqw;
  line-height:1;
  color:var(--yellow)
}
.capability-card h2 span {
  display:block;
  font-family:var(--body);
  font-size:1.5cqw;
  line-height:1.3;
  color:white
}
.capability-card>.button {
  grid-column:1/-1;
  margin:1.4cqw .8cqw 0;
  font-size:1.5cqw;
  min-height:3.4cqw;
  padding:.5cqw .7cqw
}
.closing:after {
  content:"";
  position:absolute;
  right:-1cqw;
  bottom:-1cqw;
  width:5.4cqw;
  height:16cqw;
  background:url('../assets/decor/saguaro-ink.png') center/contain no-repeat;
  transform:rotate(5deg)
}
/* Footer */
.site-footer {
  height:11.2cqw;
  margin-top:-1cqw;
  position:relative;
  z-index:16;
  display:flex;
  align-items:center;
  gap:1.6cqw;
  padding:3.8cqw 5.5cqw 1.3cqw;
  background:#101718 var(--rock-texture) center/25cqw;
  color:white
}
.site-footer:before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-1.2cqw;
  height:2.2cqw;
  background:var(--paper-texture);
  mask:url('../assets/decor/torn-edge.svg') center/100% 100%;
  -webkit-mask:url('../assets/decor/torn-edge.svg') center/100% 100%;
  filter:drop-shadow(0 .35cqw .05cqw #b0b0a977)
}
.footer-brand {
  width:9.2cqw
}
.footer-address {
  display:flex;
  align-items:center;
  gap:.65cqw;
  font-size:1.15cqw;
  line-height:1.22;
  font-style:normal;
  white-space:nowrap
}
.footer-address>.icon {
  width:2.3cqw;
  height:2.3cqw
}
.footer-phone {
  display:flex;
  align-items:center;
  gap:.7cqw;
  font-size:1.22cqw;
  white-space:nowrap
}
.footer-phone>.icon {
  width:1.7cqw;
  height:1.7cqw
}
.footer-nav {
  display:flex;
  gap:1.25cqw;
  font-size:1.12cqw;
  padding-left:2.6cqw;
  border-left:1px solid var(--yellow);
  white-space:nowrap
}
.footer-nav button {
  padding:0;
  background:none;
  color:inherit
}
.footer-nav a:hover,.footer-nav button:hover,.footer-phone:hover {
  color:var(--yellow)
}
.social-links {
  display:flex;
  gap:1cqw;
  margin-left:.6cqw
}
.social-links button {
  background:none;
  color:white;
  padding:0;
  display:grid;
  place-items:center
}
.social-links .icon {
  width:1.9cqw;
  height:1.9cqw;
  --icon-cutout:#111718
}
.social-links button:hover {
  color:var(--yellow)
}
.footer-stamp {
  position:absolute;
  right:3.1%;
  top:.3cqw;
  font-size:1.72cqw;
  transform:rotate(-12deg);
  line-height:1
}
.footer-stamp img {
  width:11cqw;
  margin-top:.3cqw
}
.mobile-actions {
  display:none
}
/* Accessible dialogs and quote workflow */
.modal {
  width:min(680px,calc(100vw - 32px));
  max-height:calc(100dvh - 40px);
  padding:36px;
  border:1px solid #b3b2a6;
  border-top:8px solid var(--yellow);
  border-radius:3px;
  background:#f0eee5 var(--paper-texture) center/220px;
  color:#111719;
  box-shadow:0 20px 90px #0008;
  font-family:var(--body);
  font-size:18px;
  overflow:auto
}
.modal::backdrop {
  background:#050b0cdc;
  backdrop-filter:blur(5px)
}
.modal-close {
  position:absolute;
  right:12px;
  top:12px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  background:transparent;
  border-radius:50%
}
.modal-close:hover {
  background:#ffe000
}
.modal-close>.icon {
  width:25px;
  height:25px
}
.eyebrow {
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  padding-right:25px;
  margin-bottom:10px
}
.modal h2 {
  font-size:42px;
  line-height:1.05;
  margin:0 0 12px
}
.modal-intro {
  font-size:18px;
  line-height:1.4;
  margin-bottom:24px
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.modal label {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:15px;
  font-weight:700;
  margin-bottom:16px
}
.modal input,.modal select,.modal textarea {
  width:100%;
  padding:11px 12px;
  border:1px solid #939588;
  border-radius:3px;
  background:#fffdf7;
  color:#101618;
  font-family:Arial,sans-serif;
  font-size:16px;
  line-height:1.4;
  min-width:0
}
.modal textarea {
  resize:vertical
}
.form-honeypot {
  position:absolute;
  left:-9999px
}
.form-note {
  font-size:13px;
  line-height:1.4;
  color:#4b514b;
  margin:0 0 18px
}
.modal .button {
  font-size:18px;
  padding:13px 23px;
  min-height:46px;
  border-radius:5px;
  gap:16px;
  box-shadow:0 2px 3px #0003
}
.modal .button>.icon {
  width:23px;
  height:23px
}
.modal-call {
  border-top:1px solid #989b8a77;
  padding-top:19px;
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:17px
}
.modal-call>.icon {
  width:17px;
  height:17px
}
.form-error {
  color:#a02317;
  font-size:15px;
  margin-top:12px
}
.quote-result h3 {
  font-size:29px;
  margin-bottom:8px
}
.quote-result>p {
  font-size:17px;
  line-height:1.4;
  margin-bottom:16px
}
.result-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px
}
.back-to-form {
  margin-top:17px;
  text-decoration:underline;
  background:none;
  padding:0;
  font-size:16px
}
.detail-modal p {
  font-size:20px;
  line-height:1.5;
  margin:20px 0
}
.detail-modal ul {
  font-size:18px;
  line-height:1.5;
  padding-left:21px;
  margin:16px 0 26px
}
.detail-modal li+li {
  margin-top:8px
}
.detail-phone {
  display:inline-block;
  font-size:18px;
  margin:18px
}
.toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  z-index:1000;
  background:#101718;
  color:white;
  border-left:5px solid var(--yellow);
  padding:15px 24px;
  box-shadow:0 7px 40px #0004;
  max-width:calc(100vw - 32px);
  width:max-content;
  font:600 17px var(--body)
}
[hidden] {
  display:none!important
}
.no-script-note {
  padding:20px;
  background:var(--yellow);
  color:black;
  text-align:center
}
@media(min-width:1601px) {
  html {
    scroll-padding-top:85px
  }
}
/* Mobile is recomposed, never a shrunken desktop screenshot. */
@media(max-width:820px) {
  html {
    scroll-padding-top:85px
  }
  .site {
    overflow:clip
  }
  .site-header {
    height:74px;
    padding:8px 20px;
    gap:16px;
    position:relative
  }
  .site-header:after {
    height:11px;
    bottom:-8px
  }
  .brand {
    width:104px
  }
  .main-nav {
    position:absolute;
    top:74px;
    left:0;
    right:0;
    background:#11191a var(--rock-texture) center/230px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:18px 24px 24px;
    border-bottom:4px solid var(--yellow);
    max-height:calc(100dvh - 150px);
    overflow:auto;
    box-shadow:0 16px 20px #0006
  }
  .main-nav.is-open {
    display:flex
  }
  .main-nav a,.main-nav button {
    font-size:20px;
    padding:13px 0;
    min-height:46px;
    border-bottom:1px solid #ffffff20
  }
  .main-nav .is-active:after {
    display:none
  }
  .header-quote {
    margin-left:auto;
    min-height:38px;
    font-size:14px;
    border-radius:6px;
    padding:8px 11px;
    gap:8px
  }
  .header-quote .icon {
    width:17px;
    height:17px
  }
  .menu-toggle {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    background:transparent;
    color:white;
    padding:6px
  }
  .menu-toggle .icon {
    width:27px;
    height:27px
  }
  .button {
    font-size:17px;
    gap:18px;
    border-radius:7px;
    min-height:43px;
    padding:11px 21px;
    box-shadow:0 3px 6px #0004
  }
  .button .icon {
    width:23px;
    height:23px
  }
  .hero {
    height:850px;
    background-size:250px
  }
  .hero-copy {
    left:8%;
    top:31px;
    width:70%
  }
  .hero h1 {
    font-size:clamp(53px,13.3vw,93px);
    line-height:.92;
    letter-spacing:-.6px;
    margin-bottom:19px;
    transform:rotate(-4deg)
  }
  .hero-copy p {
    font-size:17px;
    line-height:1.13;
    margin:0 0 17px
  }
  .hero-copy .button {
    margin-left:7px;
    padding:11px 22px;
    transform:rotate(-3deg)
  }
  .hero-photo {
    left:6%;
    top:374px;
    width:89%;
    height:347px;
    max-width:440px;
    filter:drop-shadow(4px 6px 5px #0009);
    transform:rotate(2deg)
  }
  .hero-photo:before {
    inset:0 -.8% 1%;
    border-width:5px
  }
  .hero-photo:after {
    border-width:2px;
    inset:-1% -2% 0 -2%
  }
  .hero-stamp {
    font-size:19px;
    right:5%;
    top:47px;
    line-height:1;
    letter-spacing:-.3px;
    width:24%
  }
  .hero-stamp img {
    width:86px;
    margin:6px auto 0
  }
  .desert-edge--right {
    width:51%;
    height:63%;
    opacity:.8
  }
  .desert-edge--left {
    height:69%;
    width:16%
  }
  .hero-services {
    left:5%;
    right:5%;
    top:731px;
    width:auto;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px
  }
  .hero-service {
    margin:0;
    min-height:92px;
    display:flex;
    flex-direction:column;
    gap:7px;
    text-align:center;
    font-size:12px;
    line-height:1.06;
    justify-content:flex-start
  }
  .service-orbit {
    width:52px;
    height:52px;
    border-width:2px;
    box-shadow:0 3px 5px #0008
  }
  .service-orbit .icon {
    width:31px;
    height:31px
  }
  .hero-service--0 {
    transform:translateY(-4px)
  }
  .hero-service--2 {
    transform:translateY(5px)
  }
  .hero-service--4 {
    transform:translateY(-4px)
  }
  .hero-ground-note {
    left:auto;
    right:5%;
    bottom:154px;
    padding:11px 12px;
    font-size:13px;
    max-width:49%;
    transform:rotate(-8deg)
  }
  .paths {
    height:647px;
    margin-top:-22px;
    background:var(--paper) var(--paper-texture) center/150px 344px;
    z-index:9
  }
  .paths:before {
    inset:auto;
    left:0;
    right:0;
    top:-22px;
    height:45px;
    background:url('../assets/decor/mobile-wave.svg') center/100% 100% no-repeat;
    clip-path:none;
    z-index:1
  }
  .paths-paper {
    display:none
  }
  .paths-paper path {
    vector-effect:non-scaling-stroke
  }
  .paths-paper path:first-of-type {
    fill:transparent
  }
  .paths-paper path:nth-of-type(n+4) {
    display:none
  }
  .path-photo--residential {
    top:100px;
    left:-3%;
    width:95%;
    height:256px;
    filter:drop-shadow(0 3px 0 #ffe000)
  }
  .path-photo--commercial {
    top:359px;
    right:-2%;
    width:92%;
    height:268px;
    filter:drop-shadow(0 3px 0 #ffe000)
  }
  .paths-mantra {
    left:9%;
    top:36px;
    width:84%;
    display:flex;
    align-items:center;
    gap:20px
  }
  .paths-mantra h2 {
    font-size:25px;
    line-height:1.05;
    max-width:240px
  }
  .paths-mantra h2 br {
    display:none
  }
  .paths-mantra h2 br:after {
    content:' '
  }
  .paths-mantra img {
    height:59px;
    width:29px;
    margin:0 0 0 auto;
    object-fit:contain
  }
  .path-copy--residential {
    left:44%;
    top:238px;
    width:50%
  }
  .path-copy--commercial {
    left:23%;
    top:496px;
    width:70%
  }
  .path-copy h2 {
    font-size:26px
  }
  .path-copy p {
    font-size:14px;
    line-height:1.15;
    margin:4px 0 8px
  }
  .text-link {
    font-size:15px;
    gap:8px;
    min-height:30px
  }
  .text-link .icon {
    width:19px;
    height:19px
  }
  .paper {
    background-size:900px auto,560px auto
  }
  .torn:before,.torn:after {
    height:21px;
    background-size:150px 344px
  }
  .torn:before {
    top:-10px
  }
  .torn:after {
    bottom:-11px
  }
  .services {
    height:auto;
    min-height:615px;
    margin-top:0;
    padding:32px 24px 163px
  }
  .section-label {
    font-size:31px;
    line-height:1;
    margin-bottom:19px
  }
  .section-label:after {
    height:6px;
    bottom:-3px
  }
  .service-grid {
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    height:auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-rows:minmax(86px,auto);
    grid-template-rows:none;
    row-gap:0
  }
  .service-item {
    font-size:13px;
    padding:12px 3px;
    gap:7px;
    border-right:1px solid #52534718;
    border-bottom:1px solid #52534718!important
  }
  .service-item .icon {
    width:38px;
    height:38px
  }
  .service-item:nth-child(5n) {
    border-right:1px solid #52534718
  }
  .service-item:nth-child(3n) {
    border-right:0
  }
  .service-item:last-child {
    grid-column:2;
    border-bottom:0!important
  }
  .service-item span {
    min-height:28px
  }
  .service-item.green-icon {
    border-right:1px solid #52534718
  }
  .quote-note {
    width:228px;
    right:22%;
    top:auto;
    bottom:25px;
    height:115px;
    padding:18px 15px;
    gap:10px;
    filter:drop-shadow(2px 4px 2px #0004);
    background-size:160px
  }
  .quote-note span {
    font-size:27px
  }
  .quote-note strong {
    font-size:25px
  }
  .quote-note>.icon {
    width:26px;
    height:26px;
    margin-top:24px
  }
  .quote-note>img {
    height:22px;
    bottom:7px
  }
  .services-margin {
    right:0;
    top:auto;
    bottom:4px;
    width:25%;
    height:131px
  }
  .services-margin>img {
    height:65px
  }
  .services-margin p {
    font-size:15px;
    right:5px;
    bottom:2px
  }
  .services-cactus {
    left:-8px;
    bottom:10px;
    width:47px;
    height:115px;
    opacity:.65
  }
  .statement {
    height:553px;
    margin-top:0;
    background-size:230px
  }
  .statement-yellow {
    clip-path:polygon(0 0,100% 0,46% 59%,0 68%);
    background-size:170px
  }
  .statement-photo {
    left:8%;
    top:213px;
    width:88%;
    height:240px
  }
  .statement-intro {
    left:9%;
    top:30px
  }
  .statement h2 {
    font-size:52px;
    line-height:.8;
    letter-spacing:-.5px
  }
  .statement-intro p {
    font-size:17px;
    line-height:1.05;
    margin:14px 0 10px
  }
  .statement-intro .button {
    font-size:15px;
    min-height:38px;
    margin-left:0;
    padding:9px 14px;
    gap:20px
  }
  .statement-cactus {
    width:45px;
    left:-5px;
    bottom:auto;
    top:154px;
    height:170px;
    opacity:.9
  }
  .statement-mantra {
    left:60%;
    top:318px;
    width:36%
  }
  .statement-mantra h3 {
    font-size:25px;
    line-height:.92
  }
  .statement-mantra>img {
    width:128px;
    height:23px;
    margin-top:7px;
    transform:translateX(-10px)
  }
  .statement-mantra p {
    font-size:13px;
    line-height:1.03;
    margin:7px 0 0 15px
  }
  .trust-strip {
    height:auto;
    min-height:149px;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    align-items:start;
    padding:24px 13px 38px;
    background-size:170px
  }
  .trust-note {
    position:absolute;
    left:0;
    right:0;
    bottom:12px;
    text-align:center;
    font-size:13px;
    padding:0;
    transform:rotate(-2deg)
  }
  .trust-note br {
    display:none
  }
  .trust-item {
    flex-direction:column;
    text-align:center;
    gap:7px;
    padding:0 8px;
    height:72px;
    border-right:1px solid #13191255
  }
  .trust-item>.icon {
    width:35px;
    height:35px
  }
  .trust-item strong {
    font-size:13px;
    white-space:normal;
    line-height:1.08
  }
  .trust-item span {
    font-size:9px;
    white-space:normal;
    line-height:1.1;
    margin-top:4px
  }
  .property-stories {
    height:auto;
    min-height:680px;
    margin-top:0;
    grid-template-columns:1fr 1fr;
    grid-template-rows:252px 95px 252px;
    gap:7px;
    padding:28px 23px 29px
  }
  .property-stories:before {
    top:-10px
  }
  .property-stories:after {
    height:21px;
    bottom:-10px
  }
  .story-card {
    border:3px solid #f6f3e8
  }
  .story-card--residential {
    grid-column:1/-1;
    grid-row:1;
    transform:rotate(-2deg);
    width:92%
  }
  .story-card--commercial {
    grid-column:1/-1;
    grid-row:3;
    transform:rotate(1.5deg);
    width:92%;
    margin-left:auto
  }
  .story-card>img {
    object-fit:fill
  }
  .story-copy {
    left:6%;
    bottom:7%
  }
  .story-copy h2 {
    font-size:29px;
    line-height:.98
  }
  .story-copy p {
    font-size:15px;
    margin:4px 0 9px;
    line-height:1.15
  }
  .story-copy .button {
    font-size:15px;
    min-height:36px;
    border-radius:5px;
    padding:8px 18px;
    gap:18px
  }
  .story-copy .button>.icon {
    width:17px;
    height:17px
  }
  .dedication-note {
    grid-row:2;
    grid-column:1/-1;
    padding:10px 75px 12px 16px;
    justify-content:flex-start;
    transform:rotate(-2deg);
    margin:2px 15px
  }
  .dedication-note p {
    font-size:22px;
    transform:rotate(0);
    line-height:1.05
  }
  .dedication-note p br {
    display:none
  }
  .dedication-note>img {
    width:91px;
    bottom:14px;
    left:auto;
    right:12px
  }
  .property-stamp {
    position:absolute;
    right:7px;
    top:70px;
    width:62px;
    transform:rotate(6deg)
  }
  .property-stamp>img {
    height:58px;
    width:100%
  }
  .property-stamp p {
    font-size:12px;
    position:relative;
    top:auto;
    left:6px;
    line-height:.97
  }
  .closing {
    height:521px;
    margin-top:0
  }
  .truck-postcard {
    left:5%;
    top:10px;
    width:69%;
    height:177px;
    padding:6px 6px 44px;
    transform:rotate(-5deg);
    background-size:150px;
    box-shadow:2px 3px 6px #26282044
  }
  .truck-postcard figcaption {
    font-size:18px;
    bottom:7px;
    left:12%;
    line-height:.94
  }
  .truck-image {
    object-fit:cover
  }
  .closing-message {
    font-size:24px;
    left:auto;
    right:4%;
    top:40px;
    line-height:1;
    transform:rotate(-8deg)
  }
  .closing-cactus {
    height:148px;
    width:54px;
    left:4%;
    bottom:87px
  }
  .capability-card {
    width:76%;
    height:191px;
    right:6%;
    top:223px;
    padding:23px 22px;
    grid-template-columns:26% 1fr;
    column-gap:14px;
    background-size:180px;
    transform:rotate(1deg)
  }
  .capability-card>.icon {
    width:58px;
    height:64px
  }
  .capability-card h2 {
    font-size:28px;
    line-height:1
  }
  .capability-card h2 span {
    font-size:15px;
    line-height:1.4
  }
  .capability-card>.button {
    font-size:16px;
    min-height:41px;
    padding:9px 18px;
    margin:17px 0 0;
    gap:18px
  }
  .closing:after {
    right:1px;
    bottom:43px;
    width:43px;
    height:140px
  }
  .site-footer {
    height:auto;
    min-height:268px;
    margin-top:-80px;
    padding:41px 25px 96px;
    display:grid;
    grid-template-columns:112px 1fr;
    gap:18px 22px;
    background-size:220px
  }
  .site-footer:before {
    height:22px;
    top:-12px
  }
  .footer-brand {
    width:108px;
    grid-column:1;
    grid-row:1
  }
  .footer-address {
    font-size:12px;
    line-height:1.2;
    gap:8px;
    grid-column:2;
    grid-row:1;
    white-space:normal
  }
  .footer-address>.icon {
    width:22px;
    height:22px
  }
  .footer-phone {
    font-size:15px;
    gap:8px;
    grid-row:2;
    grid-column:1/-1;
    justify-content:center
  }
  .footer-phone>.icon {
    width:17px;
    height:17px
  }
  .footer-nav {
    grid-column:1/-1;
    grid-row:3;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
    font-size:13px;
    padding:0;
    border:0
  }
  .footer-nav a,.footer-nav button {
    min-height:28px;
    display:flex;
    align-items:center
  }
  .social-links {
    grid-column:1/-1;
    grid-row:4;
    justify-content:center;
    gap:22px;
    margin:0
  }
  .social-links button {
    width:36px;
    height:36px
  }
  .social-links .icon {
    width:22px;
    height:22px
  }
  .footer-stamp {
    right:8%;
    top:-27px;
    font-size:14px;
    transform:rotate(-9deg)
  }
  .footer-stamp img {
    width:100px;
    margin-top:3px
  }
  .mobile-actions {
    position:fixed;
    z-index:50;
    bottom:0;
    left:0;
    right:0;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    background:#0c1315eb;
    backdrop-filter:blur(10px);
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:10px;
    border-top:1px solid #ffffff24
  }
  .mobile-actions a,.mobile-actions button {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:44px;
    background:var(--yellow);
    color:#050a0a;
    border-radius:5px;
    font-size:17px;
    font-weight:700
  }
  .mobile-actions a {
    background:transparent;
    color:white;
    border:1px solid #ffffff50
  }
  .mobile-actions .icon {
    width:21px;
    height:21px
  }
  .modal {
    padding:28px 20px 24px;
    max-height:calc(100dvh - 28px)
  }
  .modal h2 {
    font-size:34px
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0
  }
  .modal-intro {
    font-size:16px;
    line-height:1.4
  }
  .modal label {
    font-size:14px;
    margin-bottom:14px
  }
  .modal-call {
    flex-wrap:wrap;
    font-size:16px
  }
  .result-actions {
    flex-direction:column
  }
  .modal .button {
    font-size:16px
  }
  .detail-phone {
    margin:18px 4px
  }
  .toast {
    bottom:82px;
    font-size:15px
  }
}
@media(min-width:540px) and (max-width:820px) {
  .hero {
    height:1120px
  }
  .hero-copy {
    top:41px
  }
  .hero h1 {
    font-size:80px
  }
  .hero-copy p {
    font-size:21px
  }
  .hero-photo {
    top:492px;
    height:485px;
    max-width:580px;
    left:9%
  }
  .hero-stamp {
    font-size:27px;
    top:67px
  }
  .hero-stamp img {
    width:118px
  }
  .hero-ground-note {
    bottom:188px;
    font-size:17px
  }
  .hero-services {
    top:987px
  }
  .hero-service {
    font-size:16px
  }
  .service-orbit {
    width:69px;
    height:69px
  }
  .service-orbit .icon {
    width:42px;
    height:42px
  }
  .paths {
    height:818px
  }
  .paths-mantra {
    top:45px
  }
  .paths-mantra h2 {
    font-size:34px;
    max-width:none
  }
  .path-photo--residential {
    top:120px;
    height:325px;
    width:86%
  }
  .path-photo--commercial {
    top:445px;
    height:350px;
    width:85%
  }
  .path-copy--residential {
    top:298px;
    left:42%
  }
  .path-copy--commercial {
    top:640px;
    left:33%
  }
  .path-copy h2 {
    font-size:34px
  }
  .path-copy p {
    font-size:18px
  }
  .text-link {
    font-size:20px
  }
  .services {
    padding:38px 45px 160px
  }
  .service-grid {
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-auto-rows:113px
  }
  .service-item {
    font-size:16px;
    border-right:1px solid #52534718!important
  }
  .service-item:nth-child(5n) {
    border-right:0!important
  }
  .service-item:last-child {
    grid-column:auto
  }
  .service-item .icon {
    width:49px;
    height:49px
  }
  .services {
    min-height:515px
  }
  .quote-note {
    right:29%;
    bottom:24px
  }
  .services-margin {
    width:20%
  }
  .services-margin>img {
    height:90px
  }
  .services-margin p {
    font-size:19px
  }
  .statement {
    height:617px
  }
  .statement-intro {
    left:10%;
    top:42px
  }
  .statement h2 {
    font-size:68px
  }
  .statement-intro p {
    font-size:23px
  }
  .statement-photo {
    top:270px;
    height:320px
  }
  .statement-mantra {
    top:307px;
    left:65%
  }
  .statement-mantra h3 {
    font-size:35px
  }
  .statement-mantra p {
    font-size:18px
  }
  .statement-mantra>img {
    width:176px;
    height:29px
  }
  .trust-strip {
    min-height:161px
  }
  .trust-item strong {
    font-size:18px
  }
  .trust-item span {
    font-size:12px
  }
  .trust-item>.icon {
    width:41px;
    height:41px
  }
  .property-stories {
    grid-template-rows:320px 100px 320px
  }
  .story-copy h2 {
    font-size:37px
  }
  .story-copy p {
    font-size:19px
  }
  .property-stamp {
    width:87px
  }
  .property-stamp>img {
    height:82px
  }
  .property-stamp p {
    font-size:17px
  }
  .closing {
    height:542px
  }
  .truck-postcard {
    height:220px;
    top:19px;
    width:64%
  }
  .truck-postcard figcaption {
    font-size:23px
  }
  .closing-message {
    font-size:36px;
    top:66px;
    right:8%
  }
  .capability-card {
    top:283px;
    height:190px;
    right:8%;
    width:66%
  }
  .closing-cactus {
    height:188px;
    width:83px;
    left:7%;
    bottom:71px
  }
  .site-footer {
    margin-top:-25px
  }
  .footer-brand {
    width:128px
  }
  .footer-address {
    font-size:17px
  }
  .footer-nav {
    font-size:16px
  }
  .footer-phone {
    font-size:19px
  }
  .footer-stamp {
    font-size:17px
  }
}
@media(max-width:359px) {
  .site-header {
    padding:9px 13px;
    gap:9px
  }
  .brand {
    width:90px
  }
  .header-quote {
    font-size:12px;
    gap:7px;
    padding:8px 9px
  }
  .hero {
    height:795px
  }
  .hero h1 {
    font-size:47px
  }
  .hero-copy p {
    font-size:15px
  }
  .hero-photo {
    top:345px;
    height:304px
  }
  .hero-services {
    top:665px;
    gap:3px
  }
  .hero-service {
    font-size:11px
  }
  .service-orbit {
    width:47px;
    height:47px
  }
  .hero-ground-note {
    bottom:147px;
    font-size:11px
  }
  .hero-stamp {
    font-size:16px;
    right:4%
  }
  .path-copy h2 {
    font-size:23px
  }
  .path-copy p {
    font-size:12px
  }
  .text-link {
    font-size:13px
  }
  .services {
    padding-left:18px;
    padding-right:18px
  }
  .quote-note {
    width:202px;
    right:23%
  }
  .quote-note span {
    font-size:24px
  }
  .quote-note strong {
    font-size:23px
  }
  .quote-note>.icon {
    width:20px
  }
  .trust-item strong {
    font-size:12px
  }
  .trust-item span {
    font-size:8px
  }
  .closing-message {
    font-size:21px
  }
  .capability-card {
    right:4%;
    width:80%
  }
  .footer-nav {
    gap:10px
  }
  .footer-address {
    font-size:11px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
@media print {
  body {
    background:white
  }
  .site {
    max-width:none
  }
  .site-header,.mobile-actions,.modal,.toast {
    display:none
  }
  .site {
    overflow:visible
  }
  .button,.text-link {
    box-shadow:none
  }
  * {
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact
  }
}
/* Ground-note art direction: above the wave on desktop, pinned to the hero on mobile. */
@media(min-width:821px) {
  .hero>.hero-ground-note {
    display:none
  }
  .paths>.hero-ground-note {
    top:.8cqw;
    bottom:auto;
    left:17.5%;
    z-index:6;
    transform:rotate(-10deg)
  }
}
@media(max-width:820px) {
  .paths>.hero-ground-note {
    display:none
  }
}
/* Maintain type contrast over the mobile diagonal photograph. */
@media(max-width:820px) {
  .statement-mantra {
    isolation:isolate
  }
  .statement-mantra:before {
    content:"";
    position:absolute;
    inset:-12px -14px -10px -17px;
    z-index:-1;
    background:linear-gradient(100deg,#0d15164d,#0d1516e8 52%,#0d1516);
    clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)
  }
  .statement-mantra h3 {
    text-shadow:0 2px 5px #0007
  }
}
/* Inner pages — flowing sections that reuse the Torn Ground vocabulary (paper, torn edges, rock, yellow paper, hand notes). */
.page-hero {
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:4cqw;
  min-height:34cqw;
  padding:3.6cqw 7cqw 4.6cqw 6.5cqw;
  background:#0b1214 var(--rock-texture) center/28cqw;
  color:white;
  isolation:isolate;
  overflow:hidden
}
.page-hero:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 30% 18%,#80624635,transparent 45%),linear-gradient(110deg,#0002,transparent 65%);
  z-index:-1
}
.page-kicker {
  display:inline-block;
  color:var(--yellow);
  font-size:1.75cqw;
  transform:rotate(-3deg);
  margin:0 0 .7cqw .3cqw
}
.page-hero h1 {
  font-size:5.4cqw;
  line-height:.92;
  letter-spacing:-.07cqw;
  transform:rotate(-3deg);
  transform-origin:0 70%;
  text-shadow:.15cqw .25cqw 0 #0007;
  margin:0 0 1.5cqw .6cqw
}
.page-hero h1 span {
  display:block;
  white-space:nowrap
}
.page-hero-copy>p {
  font-size:1.55cqw;
  line-height:1.28;
  max-width:36cqw;
  margin-bottom:1.7cqw
}
.page-hero-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1.2cqw 1.6cqw;
  margin-left:1.2cqw
}
.page-hero-actions .button {
  transform:rotate(-2deg)
}
.page-hero-actions .button:hover {
  transform:rotate(-2deg) translateY(-3px)
}
.page-hero-photo {
  position:relative;
  transform:rotate(1.5deg);
  padding:.55cqw;
  background:#efeee4 var(--paper-texture) center/16cqw;
  filter:drop-shadow(.4cqw .6cqw .7cqw #000b);
  clip-path:polygon(1% 2%,9% 0,24% 1%,40% 0,53% 2%,70% 0,86% 2%,98% 0,100% 12%,99% 32%,100% 47%,99% 69%,100% 86%,99% 100%,84% 98%,67% 100%,47% 98%,28% 100%,12% 98%,0 99%,1% 85%,0 64%,1% 42%,0 18%)
}
.page-hero-photo>img:first-child {
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center
}
.page-hero-photo figcaption {
  position:absolute;
  left:1.4cqw;
  bottom:1.2cqw;
  padding:.4cqw 1cqw;
  background:#dfd2ac var(--paper-texture) center/20cqw;
  color:#0b1110;
  font-size:1.35cqw;
  transform:rotate(-5deg);
  clip-path:polygon(1% 12%,14% 4%,34% 9%,60% 0,88% 9%,99% 37%,98% 86%,84% 94%,70% 89%,45% 98%,24% 91%,0 99%)
}
.sheet {
  position:relative;
  z-index:12;
  padding:4.6cqw 6.7cqw 5cqw
}
.sheet-head {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.6cqw 3cqw;
  margin-bottom:2.4cqw
}
.sheet-head .hand {
  font-size:1.95cqw;
  line-height:1;
  color:#0b1110;
  max-width:24cqw;
  transform:rotate(-6deg);
  margin-right:2cqw
}
.lede {
  font-size:1.55cqw;
  line-height:1.35;
  max-width:64cqw;
  margin:0 0 2.6cqw
}
.sheet h3,.dark-band h3 {
  font-size:2.05cqw;
  line-height:1
}
.group-label {
  display:flex;
  align-items:center;
  gap:1.2cqw;
  margin:3.2cqw 0 1.6cqw
}
.group-label:after {
  content:"";
  flex:1;
  height:.25cqw;
  background:#0a101233
}
.group-label--green .tag {
  background:var(--green);
  color:#05090a
}
.tag {
  display:inline-block;
  width:max-content;
  font-size:1.05cqw;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  background:var(--yellow);
  color:#05090a;
  padding:.3cqw .75cqw;
  transform:rotate(-1.5deg)
}
.card-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2cqw 1.9cqw
}
.card-grid--two {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.note-card {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.75cqw;
  padding:2.1cqw 1.9cqw 2.2cqw;
  background:#f8f5ea var(--paper-texture) center/22cqw;
  clip-path:polygon(1% 2%,9% 0,24% 1%,40% 0,53% 2%,70% 0,86% 2%,98% 0,100% 12%,99% 32%,100% 47%,99% 69%,100% 86%,99% 100%,84% 98%,67% 100%,47% 98%,28% 100%,12% 98%,0 99%,1% 85%,0 64%,1% 42%,0 18%)
}
.note-card:nth-child(odd) {
  transform:rotate(-.6deg)
}
.note-card:nth-child(even) {
  transform:rotate(.5deg)
}
.note-card>.icon {
  width:3.7cqw;
  height:3.7cqw;
  --icon-cutout:#f8f5ea
}
.note-card.green-icon>.icon {
  color:#285c22
}
.note-card p {
  font-size:1.32cqw;
  line-height:1.42
}
.note-card ul {
  margin:0;
  padding-left:1.5cqw;
  font-size:1.25cqw;
  line-height:1.45
}
.note-card li+li {
  margin-top:.25cqw
}
.note-card .small-label {
  font-size:1.05cqw;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-top:.3cqw
}
.card-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.8cqw 1.8cqw;
  margin-top:auto;
  padding-top:.6cqw
}
.note-card .text-link,.sheet .text-link {
  color:#0a1012;
  font-size:1.32cqw
}
.note-card .text-link .icon,.sheet .text-link .icon {
  color:#0a1012;
  width:1.6cqw;
  height:1.6cqw
}
.note-card .button {
  font-size:1.3cqw;
  min-height:3cqw;
  padding:.5cqw 1.5cqw
}
.steps {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.4cqw 2.8cqw;
  counter-reset:step
}
.steps li {
  position:relative;
  padding-left:5.4cqw;
  counter-increment:step;
  font-size:1.32cqw;
  line-height:1.42
}
.steps li:before {
  content:counter(step,decimal-leading-zero);
  position:absolute;
  left:0;
  top:-.55cqw;
  font-family:var(--display);
  font-size:4.3cqw;
  line-height:1;
  color:var(--yellow);
  text-shadow:.15cqw .2cqw 0 #0a1012
}
.steps h3 {
  margin-bottom:.45cqw
}
.checklist {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9cqw 2.6cqw;
  font-size:1.36cqw;
  line-height:1.38
}
.checklist--one {
  grid-template-columns:1fr
}
.checklist li {
  display:flex;
  align-items:flex-start;
  gap:.8cqw
}
.checklist .icon {
  width:1.75cqw;
  height:1.75cqw;
  margin-top:.05cqw;
  color:#0a1012;
  --icon-cutout:var(--yellow)
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3cqw 4cqw;
  align-items:start
}
.split h3 {
  margin-bottom:.9cqw
}
.split p {
  font-size:1.38cqw;
  line-height:1.45;
  margin-bottom:1cqw
}
.split ul {
  margin:0 0 1cqw;
  padding-left:1.5cqw;
  font-size:1.32cqw;
  line-height:1.45
}
.split .hand {
  display:block;
  width:max-content;
  max-width:100%;
  font-size:1.9cqw;
  color:#0b1110;
  transform:rotate(-4deg);
  margin:.6cqw 0 1cqw
}
.dark-band {
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:4cqw;
  align-items:center;
  padding:5.2cqw 6.7cqw 5.6cqw 9.6cqw;
  background:#101719 var(--rock-texture) center/28cqw;
  color:#f5f3ea;
  overflow:hidden;
  isolation:isolate
}
.dark-band--wide {
  display:block
}
.dark-band .statement-yellow {
  clip-path:polygon(0 0,7% 0,2.4% 100%,0 100%);
  z-index:-1
}
.dark-band h2 {
  font-size:4.4cqw;
  line-height:.84;
  letter-spacing:-.07cqw;
  transform:rotate(-2deg);
  transform-origin:0 80%;
  margin-bottom:1.4cqw
}
.dark-band h2 span {
  display:block
}
.dark-band>div>p,.dark-band>p {
  font-size:1.5cqw;
  line-height:1.38;
  max-width:46cqw;
  margin:0 0 1.4cqw
}
.dark-band .hand {
  display:inline-block;
  color:var(--yellow);
  font-size:2.3cqw;
  transform:rotate(-6deg);
  transform-origin:0 50%;
  margin:.4cqw 0 2.2cqw
}
.dark-band .button {
  margin-top:.6cqw
}
.dark-band .steps {
  margin-top:3cqw
}
.dark-band .steps li:before {
  text-shadow:none
}
.rule-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.6cqw 2.6cqw;
  margin-top:3cqw
}
.rule {
  border-left:.4cqw solid var(--yellow);
  padding-left:1.5cqw
}
.rule h3 {
  color:var(--yellow);
  margin-bottom:.6cqw
}
.rule p {
  font-size:1.32cqw;
  line-height:1.42
}
.rule p+p {
  margin-top:.5cqw
}
.fine-print {
  font-size:1.15cqw;
  line-height:1.4;
  opacity:.82;
  margin-top:2.6cqw;
  max-width:70cqw
}
.postcard {
  position:relative;
  transform:rotate(-3deg);
  padding:.7cqw .7cqw 3.8cqw;
  background:#f1eddd var(--paper-texture) center/16cqw;
  color:#0a1012;
  filter:drop-shadow(.3cqw .5cqw .5cqw #0007);
  clip-path:polygon(0 1%,98% 0,100% 16%,99% 39%,100% 58%,99% 82%,100% 98%,79% 100%,48% 98%,23% 100%,0 98%,1% 75%,0 51%,1% 27%)
}
.postcard>img:first-child {
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center
}
.postcard figcaption {
  position:absolute;
  bottom:.55cqw;
  left:12%;
  font-size:1.95cqw;
  line-height:.91;
  transform:rotate(-1deg)
}
.postcard--tilt-right {
  transform:rotate(2deg)
}
.photo-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3.2cqw;
  margin-top:3.4cqw
}
.photo-row .postcard:nth-child(2) {
  transform:rotate(2deg)
}
.photo-row .postcard figcaption {
  font-size:1.6cqw;
  left:9%
}
.promise-strip {
  position:relative;
  z-index:9;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding:2.3cqw 6.7cqw;
  background:var(--yellow) url('../assets/textures/yellow-paper.webp') center/18cqw
}
.story-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.6cqw;
  margin-top:1cqw
}
.story-pair .story-card {
  height:22cqw
}
.story-pair .story-copy .button {
  text-decoration:none
}
.page-cta {
  position:relative;
  z-index:12;
  padding:5.4cqw 6.7cqw 6.4cqw;
  text-align:center;
  overflow:hidden
}
.page-cta h2 {
  font-size:5.2cqw;
  line-height:.86;
  letter-spacing:-.08cqw;
  transform:rotate(-2deg);
  margin-bottom:1.3cqw
}
.page-cta>p {
  font-size:1.6cqw;
  line-height:1.3;
  max-width:52cqw;
  margin:0 auto 2.2cqw
}
.page-cta .hand {
  display:inline-block;
  font-size:2.2cqw;
  color:#0b1110;
  transform:rotate(-6deg);
  margin-bottom:1cqw
}
.page-cta-actions {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.4cqw 1.8cqw
}
.page-cta:after {
  content:"";
  position:absolute;
  right:1cqw;
  bottom:-1cqw;
  width:5.4cqw;
  height:16cqw;
  background:url('../assets/decor/saguaro-ink.png') center/contain no-repeat;
  transform:rotate(5deg);
  opacity:.85;
  pointer-events:none
}
.contact-card {
  gap:1.2cqw;
  transform:rotate(1.2deg)
}
.contact-card h2 {
  font-size:2.6cqw;
  line-height:1
}
.big-phone {
  display:flex;
  align-items:center;
  gap:1cqw;
  font-family:var(--display);
  font-size:3.6cqw;
  line-height:1;
  color:#0a1012;
  white-space:nowrap
}
.big-phone>.icon {
  width:3cqw;
  height:3cqw;
  color:#0a1012
}
.big-phone:hover {
  color:#5a4a00
}
.contact-card address {
  display:flex;
  align-items:flex-start;
  gap:.7cqw;
  font-style:normal;
  font-size:1.4cqw;
  line-height:1.3
}
.contact-card address>.icon {
  width:2.1cqw;
  height:2.1cqw
}
.contact-card .card-actions {
  padding-top:.4cqw
}
.page-hero .contact-card {
  color:#0a1012
}
@media(max-width:820px) {
  .page-hero {
    grid-template-columns:1fr;
    gap:30px;
    min-height:0;
    padding:34px 22px 46px;
    background-size:250px
  }
  .page-kicker {
    font-size:22px;
    margin:0 0 8px 2px
  }
  .page-hero h1 {
    font-size:clamp(44px,12vw,80px);
    letter-spacing:-.5px;
    margin:0 0 16px 4px;
    text-shadow:2px 3px 0 #0007
  }
  .page-hero-copy>p {
    font-size:17px;
    line-height:1.3;
    max-width:none;
    margin-bottom:18px
  }
  .page-hero-actions {
    gap:12px 16px;
    margin-left:4px
  }
  .page-hero-photo {
    width:94%;
    margin:0 auto;
    padding:5px;
    background-size:150px;
    filter:drop-shadow(4px 6px 6px #000b)
  }
  .page-hero-photo figcaption {
    left:12px;
    bottom:12px;
    padding:8px 12px;
    font-size:14px;
    background-size:180px
  }
  .sheet {
    padding:36px 22px 46px
  }
  .sheet-head {
    gap:14px 20px;
    margin-bottom:20px
  }
  .sheet-head .hand {
    font-size:21px;
    max-width:240px;
    margin-right:0
  }
  .lede {
    font-size:17px;
    margin-bottom:22px
  }
  .sheet h3,.dark-band h3 {
    font-size:24px
  }
  .group-label {
    gap:12px;
    margin:30px 0 16px
  }
  .group-label:after {
    height:3px
  }
  .tag {
    font-size:11px;
    padding:4px 8px
  }
  .card-grid,.card-grid--two {
    grid-template-columns:1fr;
    gap:16px
  }
  .note-card {
    gap:8px;
    padding:22px 18px 24px;
    background-size:220px
  }
  .note-card>.icon {
    width:40px;
    height:40px
  }
  .note-card p {
    font-size:15px
  }
  .note-card ul {
    font-size:15px;
    padding-left:18px
  }
  .note-card li+li {
    margin-top:3px
  }
  .note-card .small-label {
    font-size:11px
  }
  .card-actions {
    gap:10px 18px;
    padding-top:8px
  }
  .note-card .text-link,.sheet .text-link {
    font-size:15px
  }
  .note-card .text-link .icon,.sheet .text-link .icon {
    width:18px;
    height:18px
  }
  .note-card .button {
    font-size:15px;
    min-height:38px;
    padding:8px 16px
  }
  .steps {
    grid-template-columns:1fr;
    gap:22px
  }
  .steps li {
    padding-left:60px;
    font-size:15px
  }
  .steps li:before {
    font-size:46px;
    top:-5px;
    text-shadow:2px 2px 0 #0a1012
  }
  .steps h3 {
    margin-bottom:4px
  }
  .checklist,.checklist--one {
    grid-template-columns:1fr;
    gap:10px;
    font-size:16px
  }
  .checklist li {
    gap:10px
  }
  .checklist .icon {
    width:20px;
    height:20px;
    margin-top:1px
  }
  .split {
    grid-template-columns:1fr;
    gap:26px
  }
  .split h3 {
    margin-bottom:8px
  }
  .split p {
    font-size:16px;
    margin-bottom:10px
  }
  .split ul {
    font-size:15px;
    padding-left:18px
  }
  .split .hand {
    font-size:21px;
    margin:6px 0 10px
  }
  .dark-band {
    grid-template-columns:1fr;
    gap:30px;
    padding:40px 22px 46px 34px;
    background-size:230px
  }
  .dark-band .statement-yellow {
    clip-path:polygon(0 0,6.5% 0,2.2% 100%,0 100%);
    background-size:170px
  }
  .dark-band h2 {
    font-size:clamp(38px,11vw,64px);
    letter-spacing:-.5px;
    margin-bottom:12px
  }
  .dark-band>div>p,.dark-band>p {
    font-size:16px;
    max-width:none;
    margin-bottom:14px
  }
  .dark-band .hand {
    font-size:22px;
    margin:4px 0 20px
  }
  .dark-band .steps {
    margin-top:26px
  }
  .rule-list {
    grid-template-columns:1fr;
    gap:22px;
    margin-top:26px
  }
  .rule {
    border-left-width:4px;
    padding-left:14px
  }
  .rule h3 {
    margin-bottom:6px
  }
  .rule p {
    font-size:15px
  }
  .rule p+p {
    margin-top:6px
  }
  .fine-print {
    font-size:13px;
    margin-top:24px;
    max-width:none
  }
  .postcard {
    width:92%;
    margin:0 auto;
    padding:6px 6px 42px;
    background-size:150px;
    filter:drop-shadow(2px 4px 4px #0007)
  }
  .postcard figcaption {
    font-size:18px;
    bottom:6px
  }
  .photo-row {
    grid-template-columns:1fr;
    gap:34px;
    margin-top:30px
  }
  .photo-row .postcard figcaption {
    font-size:17px
  }
  .promise-strip {
    grid-template-columns:repeat(3,1fr);
    padding:24px 12px 26px;
    background-size:170px
  }
  .story-pair {
    grid-template-columns:1fr;
    gap:22px;
    margin-top:8px
  }
  .story-pair .story-card {
    height:252px;
    width:94%;
    margin:0 auto
  }
  .page-cta {
    padding:46px 22px 60px
  }
  .page-cta h2 {
    font-size:clamp(40px,12vw,72px);
    letter-spacing:-.5px;
    margin-bottom:12px
  }
  .page-cta>p {
    font-size:17px;
    max-width:none;
    margin-bottom:22px
  }
  .page-cta .hand {
    font-size:21px;
    margin-bottom:10px
  }
  .page-cta-actions {
    flex-direction:column;
    align-items:center;
    gap:12px
  }
  .page-cta:after {
    width:43px;
    height:140px;
    right:2px;
    bottom:6px;
    opacity:.6
  }
  .contact-card {
    gap:14px
  }
  .contact-card h2 {
    font-size:30px
  }
  .big-phone {
    font-size:clamp(28px,9vw,40px);
    gap:10px;
    white-space:normal
  }
  .big-phone>.icon {
    width:30px;
    height:30px
  }
  .contact-card address {
    font-size:16px;
    gap:8px
  }
  .contact-card address>.icon {
    width:22px;
    height:22px
  }
}
@media(min-width:540px) and (max-width:820px) {
  .card-grid {
    grid-template-columns:1fr 1fr
  }
  .steps {
    grid-template-columns:1fr 1fr
  }
  .checklist {
    grid-template-columns:1fr 1fr
  }
  .page-hero-photo,.postcard {
    max-width:560px
  }
  .story-pair .story-card {
    height:320px
  }
}
@media(max-width:359px) {
  .page-hero {
    padding:28px 14px 40px
  }
  .page-hero h1 {
    font-size:42px
  }
  .sheet {
    padding:32px 16px 40px
  }
  .dark-band {
    padding:36px 16px 40px 26px
  }
  .page-cta {
    padding:40px 16px 56px
  }
  .steps li {
    padding-left:52px
  }
  .steps li:before {
    font-size:40px
  }
}
/* Inner pages — dark-band variants of shared list styles */
.dark-band .checklist .icon {
  color:var(--yellow);
  --icon-cutout:#101719
}
.dark-band .checklist {
  margin-top:.6cqw
}
.dark-band .text-link {
  margin-top:.4cqw
}
.steps a {
  text-decoration:underline;
  text-underline-offset:.2em;
  font-weight:700
}
.dark-band .postcard figcaption,.dark-band .page-hero-photo figcaption {
  display:block;
  color:#0a1012;
  transform:rotate(-1deg);
  margin:0
}
