/* ==========================================================================
   HOLLIS YARD CO. — sample landing page
   Plain company site. Ruled, tabular structure; one green; one hairline
   weight. Handwriting appears only on figures a person would have written.
   ========================================================================== */

@font-face{
  font-family:"Archivo";
  src:url("fonts/archivo-latin.woff2") format("woff2");
  font-weight:400 800; font-stretch:62% 125%; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Archivo";
  src:url("fonts/archivo-latin-ext.woff2") format("woff2");
  font-weight:400 800; font-stretch:62% 125%; font-style:normal; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Caveat";
  src:url("fonts/caveat-latin.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --page:#FFFFFF;
  --tint:#F4F6F2;          /* alternating section ground */
  --ink:#16241C;
  --ink-70:rgba(22,36,28,.72);
  --ink-45:rgba(22,36,28,.63);
  --rule:rgba(22,36,28,.15);
  --rule-strong:rgba(22,36,28,.34);
  --control:rgba(22,36,28,.50);   /* boundaries of interactive controls: 3:1 */
  --green:#2A6B3C;
  --green-d:#1F5330;
  --pen:#22357A;           /* handwriting: written figures only */
  --alert:#B4213A;

  --hair:1px;
  --gut:clamp(20px,5vw,40px);
  --wrap:1120px;

  --step:clamp(.78rem,.75rem + .12vw,.83rem);
  --body:clamp(1rem,.97rem + .16vw,1.06rem);
  --ease:cubic-bezier(.16,.84,.36,1);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--page);color:var(--ink);
  font-family:"Archivo",system-ui,sans-serif;font-size:var(--body);line-height:1.55;
  font-synthesis-weight:none;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
h1,h2,h3,p,ul,ol,figure,dl,dd,fieldset{margin:0}
ul,ol{padding:0;list-style:none}
fieldset{border:0;padding:0;min-width:0}
a{color:var(--green)}
button,input,select,textarea{font:inherit;color:inherit}

::selection{background:var(--green);color:#fff}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}
html{scrollbar-color:var(--rule-strong) var(--tint);scrollbar-width:thin}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--tint)}
::-webkit-scrollbar-thumb{background:#B8BFB6;border:3px solid var(--tint);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#98A296}

.no-js .units,.no-js .slider,.no-js .slider__scale,.no-js .typed{display:none}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;z-index:99;background:var(--green);color:#fff;
  padding:10px 16px;font-weight:700;font-size:.83rem;text-decoration:none;border-radius:2px}
.skip:focus{top:8px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
section{padding:clamp(44px,5.4vw,72px) 0}
section.tinted{background:var(--tint);border-top:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule)}
section[id]{scroll-margin-top:72px}

h1{font-size:clamp(2.1rem,1.4rem + 3.1vw,3.5rem);font-weight:700;font-stretch:102%;
  letter-spacing:-.022em;line-height:1.06;text-wrap:balance}
h2{font-size:clamp(1.55rem,1.2rem + 1.6vw,2.3rem);font-weight:700;font-stretch:102%;
  letter-spacing:-.016em;line-height:1.14;text-wrap:balance}
.lede{margin-top:18px;font-size:clamp(1.05rem,1rem + .34vw,1.2rem);color:var(--ink-70);max-width:52ch;line-height:1.55}
.sub{margin-top:12px;color:var(--ink-70);max-width:56ch}
.num{font-variant-numeric:tabular-nums lining-nums}
.written{font-family:"Caveat",ui-rounded,cursive;color:var(--pen);font-weight:600;line-height:1}

/* --- buttons ----------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--green);color:#fff;text-decoration:none;border:0;cursor:pointer;
  padding:14px 22px;border-radius:3px;font-size:1rem;font-weight:700;letter-spacing:.005em;
  transition:background-color .18s var(--ease);
}
.btn:hover{background:var(--green-d)}
.btn:active{transform:translateY(1px)}
.btn svg{width:20px;height:10px;flex:none}
.btn svg path{stroke:currentColor;stroke-width:1.5;fill:none}
.btn[disabled]{background:transparent;color:var(--ink-70);box-shadow:inset 0 0 0 var(--hair) var(--control);cursor:default}
.btn[disabled]:hover{background:transparent}
.btn--ghost{background:transparent;color:var(--green);box-shadow:inset 0 0 0 var(--hair) var(--green)}
.btn--ghost:hover{background:rgba(42,107,60,.08)}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site{position:sticky;top:0;z-index:30;background:var(--page);border-bottom:var(--hair) solid var(--rule)}
.site__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);
  display:flex;align-items:center;gap:clamp(16px,3vw,40px);min-height:66px}
.mark{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none}
.mark svg{width:30px;height:30px;flex:none}
.mark svg rect{fill:none;stroke:var(--green);stroke-width:1.5}
.mark svg line{stroke:var(--green);stroke-width:1.5;stroke-linecap:square}
.mark b{font-size:1.06rem;font-weight:800;font-stretch:104%;letter-spacing:-.012em;text-transform:uppercase}
.site__right{margin-left:auto;display:flex;align-items:center;gap:clamp(12px,2vw,26px)}
.site nav{display:none;gap:clamp(14px,2.2vw,28px)}
.site .studio{display:none;align-items:center;gap:6px;color:var(--ink-45);text-decoration:none;
  font-size:.86rem;transition:color .16s var(--ease)}
.site .studio:hover{color:var(--green)}
.site .studio svg{width:11px;height:11px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
@media (min-width:1040px){.site .studio{display:inline-flex}}
.site nav a{color:var(--ink-70);text-decoration:none;font-size:.94rem;font-weight:500;
  transition:color .16s var(--ease)}
.site nav a:hover{color:var(--ink)}
.site nav a[aria-current="true"]{color:var(--green);font-weight:600}
.site .btn{padding:10px 18px;font-size:.94rem}
@media (min-width:880px){.site nav{display:flex}}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{padding-top:clamp(36px,4.2vw,56px)}
.hero__grid{display:grid;gap:clamp(28px,4vw,52px)}
@media (min-width:900px){
  .hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center}
}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:30px}
.hero__cta small{color:var(--ink-45);font-size:.9rem}
.hero figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.hero figcaption{margin-top:10px;font-size:var(--step);color:var(--ink-45)}

/* ==========================================================================
   ESTIMATOR
   ========================================================================== */
.est__grid{display:grid;gap:clamp(28px,4vw,52px);margin-top:clamp(24px,3vw,34px)}
@media (min-width:940px){.est__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}

.units{display:inline-flex;border:var(--hair) solid var(--control);border-radius:3px;overflow:hidden;background:var(--page)}
.units label{position:relative;display:block}
.units input{position:absolute;opacity:0;width:0;height:0}
.units span{
  display:block;padding:9px 18px;font-size:.92rem;font-weight:600;color:var(--ink-70);cursor:pointer;
  transition:background-color .16s var(--ease),color .16s var(--ease);
}
.units label + label span{border-left:var(--hair) solid var(--control)}
.units input:checked + span{background:var(--green);color:#fff}
.units input:focus-visible + span{outline:2px solid var(--green);outline-offset:2px}

.read{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:26px 0 4px}
.read__val{font-family:"Caveat",cursive;color:var(--pen);font-weight:700;
  font-size:clamp(3rem,2rem + 4.6vw,4.6rem);line-height:.86;font-variant-numeric:tabular-nums}
.read__unit{font-size:1.02rem;color:var(--ink-70);font-weight:600}
.read__alt{color:var(--ink-45);font-size:var(--step)}

.slider{position:relative;margin-top:20px}
.slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:32px;
  background:transparent;display:block;margin:0;cursor:ew-resize}
.slider input[type=range]::-webkit-slider-runnable-track{height:32px;background:transparent}
.slider input[type=range]::-moz-range-track{height:32px;background:transparent}
.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:5px;
  background:var(--green);border:2px solid var(--page);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.28)}
.slider input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--green);
  border:2px solid var(--page);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.28)}
.slider input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--green);outline-offset:2px}
.slider input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--green);outline-offset:2px}
.slider__rule{position:absolute;left:0;top:0;width:100%;height:32px;display:block;pointer-events:none}
.slider__rule .base{stroke:var(--control);stroke-width:2}
.slider__rule .fill{stroke:var(--green);stroke-width:2}
.slider__rule .tick{stroke:var(--control);stroke-width:1}
.slider__scale{position:relative;height:1.4em;margin-top:6px;
  font-size:var(--step);color:var(--ink-45);font-variant-numeric:tabular-nums}
.slider__scale span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.slider__scale span:first-child{transform:none}
.slider__scale span:last-child{transform:translateX(-100%)}
.typed{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.typed label{font-size:var(--step);color:var(--ink-70);font-weight:600}
.typed input{width:110px;padding:9px 11px;background:var(--page);
  border:var(--hair) solid var(--control);border-radius:3px;
  font-weight:600;font-variant-numeric:tabular-nums;caret-color:var(--green)}
.typed input:focus{outline:none;border-color:var(--green)}
.typed input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.typed .u{font-size:var(--step);color:var(--ink-70)}

.quote{background:var(--page);border:var(--hair) solid var(--rule-strong);border-radius:4px;overflow:hidden}
.quote__row{display:grid;grid-template-columns:1fr auto;gap:16px;padding:13px 18px;
  border-bottom:var(--hair) solid var(--rule);align-items:baseline}
.quote__row dt{color:var(--ink-70);font-size:.95rem}
.quote__row dd{font-family:"Caveat",cursive;color:var(--pen);font-size:1.42rem;font-weight:600;
  line-height:1;font-variant-numeric:tabular-nums}
.quote__total{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px 18px;
  background:var(--green);color:#fff;align-items:center}
.quote__total dt{font-weight:600}
.quote__total dd{font-size:1.9rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.quote__foot{padding:12px 18px;font-size:var(--step);color:var(--ink-45);
  border-top:var(--hair) solid var(--rule)}
.quote + .btn{margin-top:20px}

/* ==========================================================================
   VISIT TABLE
   ========================================================================== */
.rows{width:100%;border-collapse:collapse;text-align:left;margin-top:clamp(20px,3vw,30px)}
.rows th{font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-45);padding:0 12px 10px;border-bottom:var(--hair) solid var(--rule-strong)}
.rows th:first-child,.rows td:first-child{padding-left:0}
.rows th:last-child,.rows td:last-child{padding-right:0;text-align:right}
.rows th:nth-child(2),.rows td:nth-child(2){text-align:right;width:24%}
.rows th:last-child,.rows td:last-child{width:15%}
.rows td{padding:15px 12px;border-bottom:var(--hair) solid var(--rule);vertical-align:baseline}
.rows tbody tr:last-child td{border-bottom:var(--hair) solid var(--rule-strong)}
.rows .svc{font-weight:600}
.rows .svc span{display:block;font-weight:400;font-size:.9rem;color:var(--ink-70);margin-top:2px}
.rows .val{color:var(--ink-70);font-variant-numeric:tabular-nums;white-space:nowrap}
.rows .min{font-family:"Caveat",cursive;color:var(--pen);font-size:1.26rem;font-weight:600;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.rows tfoot td{padding-top:16px;font-weight:700}
.rows tfoot .min{font-size:1.44rem}
@media (max-width:680px){
  .rows thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .rows tr{display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:14px 0;
    border-bottom:var(--hair) solid var(--rule)}
  .rows td{border:0;padding:0}
  .rows .svc{grid-column:1;grid-row:1}
  .rows .min{grid-column:2;grid-row:1;text-align:right}
  .rows .val{grid-column:1;grid-row:2;font-size:.9rem}
  .rows tfoot td:first-child{grid-column:1}
}

/* ==========================================================================
   WORK PHOTOS
   ========================================================================== */
.work{display:grid;gap:clamp(20px,3vw,30px);margin-top:clamp(24px,3vw,34px)}
@media (min-width:720px){.work{grid-template-columns:repeat(3,minmax(0,1fr))}}
.work img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.work h3{margin-top:14px;font-size:1.02rem;font-weight:700}
.work p{margin-top:5px;color:var(--ink-70);font-size:.95rem}
.work .note{margin-top:8px;font-size:var(--step);color:var(--ink-45)}

/* ==========================================================================
   SEASON GRID
   ========================================================================== */
.cal__wrap{overflow-x:auto;max-width:100%;margin-top:clamp(22px,3vw,32px)}
.cal{border-collapse:collapse;width:100%;table-layout:fixed}
.cal th,.cal td{border:var(--hair) solid var(--rule);padding:0;text-align:center}
.cal thead th{border-color:var(--rule-strong);font-size:.78rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:8px 1px 7px}
.cal thead th.now{background:var(--green);color:#fff;border-color:var(--green)}
.cal tbody th{font-size:.78rem;font-weight:600;color:var(--ink-45);padding:0 6px;text-align:right}
.cal col.wk{width:52px}
.cal td{height:34px}
.cal .mk{display:flex;gap:4px;justify-content:center;align-items:center;height:34px}
.cal i,.legend i{display:block;width:11px;height:11px;flex:none;font-style:normal}
i.mow{background:var(--green)}
i.hedge{background:var(--green);clip-path:polygon(0 0,100% 0,0 100%)}
i.bed{box-shadow:inset 0 0 0 2px var(--green)}
i.leaf{background:var(--green);clip-path:polygon(0 0,100% 0,100% 50%,0 50%)}
.legend{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px;font-size:.95rem}
.legend li{display:flex;align-items:center;gap:9px}
.legend b{font-variant-numeric:tabular-nums}
.legend span{color:var(--ink-70)}
.cal .mo1{display:none}
@media (max-width:640px){
  .cal thead th,.cal tbody th{font-size:.78rem;letter-spacing:0}
  .cal thead .mo{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .cal thead .mo1{display:inline}
  .cal col.wk{width:36px}
  .cal td{height:28px}
  .cal .mk{height:28px;gap:2px}
  .cal i{width:9px;height:9px}
  .legend{gap:8px 18px;font-size:.88rem}
}

/* ==========================================================================
   PLANS
   ========================================================================== */
.plans{width:100%;border-collapse:collapse;text-align:left;margin-top:clamp(20px,3vw,30px)}
.plans th{font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-45);padding:0 14px 10px;border-bottom:var(--hair) solid var(--rule-strong)}
.plans th:first-child,.plans td:first-child{padding-left:0}
.plans th:last-child,.plans td:last-child{padding-right:0;text-align:right}
.plans td{padding:18px 14px;border-bottom:var(--hair) solid var(--rule);vertical-align:baseline}
.plans tbody tr:last-child td{border-bottom:var(--hair) solid var(--rule-strong)}
.plans .plan{font-weight:700;font-size:1.08rem;white-space:nowrap}
.plans .picked{display:block;margin-top:4px;font-size:.78rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.plans .inc{color:var(--ink-70);font-size:.95rem;max-width:40ch}
.plans .freq{color:var(--ink-45);font-size:.92rem;white-space:nowrap}
.plans .rate{font-weight:800;font-size:1.42rem;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:720px){
  .plans thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .plans tr{display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding:18px 0;
    border-bottom:var(--hair) solid var(--rule)}
  .plans td{border:0;padding:0}
  .plans .plan{grid-column:1;grid-row:1}
  .plans .rate{grid-column:2;grid-row:1;text-align:right}
  .plans .inc{grid-column:1/-1;grid-row:2}
  .plans .freq{grid-column:1/-1;grid-row:3}
}

/* ==========================================================================
   CREW
   ========================================================================== */
.crew{display:grid;gap:clamp(20px,3vw,34px);margin-top:clamp(22px,3vw,30px)}
@media (min-width:680px){.crew{grid-template-columns:repeat(2,minmax(0,1fr))}}
.crew li{border-top:var(--hair) solid var(--rule-strong);padding-top:16px}
.crew h3{font-size:1.14rem;font-weight:700}
.crew p{margin-top:6px;color:var(--ink-70);max-width:42ch}
.crew .yrs{margin-top:8px;font-size:var(--step);color:var(--ink-45)}

/* ==========================================================================
   QUOTE FORM
   ========================================================================== */
.form__grid{display:grid;gap:clamp(28px,4vw,52px);margin-top:clamp(24px,3vw,34px)}
@media (min-width:900px){.form__grid{grid-template-columns:minmax(0,1fr) minmax(0,.66fr)}}
.fields{display:grid;gap:20px}
.f label{display:block;font-size:var(--step);font-weight:600;color:var(--ink-70);margin-bottom:6px}
.f input,.f textarea,.f select{
  width:100%;padding:12px 13px;background:var(--page);border:var(--hair) solid var(--control);
  border-radius:3px;caret-color:var(--green);
}
.f textarea{resize:vertical;min-height:88px}
.f select{appearance:none;padding-right:36px;background:var(--page)}
.f.sel{position:relative}
.f.sel svg{position:absolute;right:13px;bottom:17px;width:13px;height:8px;pointer-events:none}
.f.sel svg path{stroke:var(--ink-70);stroke-width:1.5;fill:none}
.f input:focus,.f textarea:focus,.f select:focus{outline:none;border-color:var(--green)}
.f input::placeholder,.f textarea::placeholder{color:var(--ink-45)}
.f .err{display:block;margin-top:6px;font-size:.86rem;color:var(--alert);font-weight:600}
.f .err:empty{display:none}
.f input[aria-invalid="true"],.f textarea[aria-invalid="true"]{border-color:var(--alert)}

.picks{display:grid;gap:0;margin-top:4px}
.picks legend{font-size:var(--step);font-weight:600;color:var(--ink-70);margin-bottom:8px}
.picks label{display:flex;align-items:center;gap:12px;padding:12px 0;
  border-bottom:var(--hair) solid var(--rule);cursor:pointer}
.picks label:first-of-type{border-top:var(--hair) solid var(--rule)}
.picks input{position:absolute;opacity:0;width:0;height:0}
.picks .mark{width:20px;height:20px;flex:none;border:var(--hair) solid var(--control);
  border-radius:3px;position:relative;transition:background-color .16s var(--ease),border-color .16s var(--ease)}
.picks .mark::after{content:"";position:absolute;left:6px;top:3px;width:6px;height:11px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg) scale(.5);
  opacity:0;transition:transform .18s var(--ease),opacity .1s linear}
.picks input:checked + .mark{background:var(--green);border-color:var(--green)}
.picks input:checked + .mark::after{transform:rotate(42deg) scale(1);opacity:1}
.picks input:focus-visible + .mark{outline:2px solid var(--green);outline-offset:3px}
.picks .lbl{font-size:.98rem}

.aside .quote{background:var(--tint)}
.aside .note{margin-top:16px;font-size:var(--step);color:var(--ink-45);line-height:1.55}
.sent{margin-top:20px;padding:14px 16px;border:var(--hair) solid var(--green);
  border-radius:3px;background:rgba(42,107,60,.07);display:none}
.sent.is-on{display:block}
.sent b{display:block;font-weight:700}
.sent span{display:block;margin-top:4px;font-size:.92rem;color:var(--ink-70)}
.disclaim{margin-top:16px;font-size:var(--step);color:var(--ink-45)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.foot{background:var(--tint);border-top:var(--hair) solid var(--rule);
  padding:clamp(34px,4vw,52px) 0 clamp(38px,5vw,60px)}
.foot__grid{display:grid;gap:clamp(20px,3vw,44px)}
@media (min-width:820px){.foot__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.foot p{font-size:.9rem;color:var(--ink-70);line-height:1.6;max-width:64ch}
.foot p + p{margin-top:10px}
.foot strong{color:var(--ink)}
.foot dt{font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-45);margin-top:12px}
.foot dt:first-child{margin-top:0}
.foot dd{font-size:.92rem;color:var(--ink-70)}
.foot__cta{margin-top:20px}
.foot__cta a{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.98rem;
  text-decoration:none;border-bottom:var(--hair) solid var(--green);padding-bottom:3px}
.foot__cta a:hover{color:var(--green-d);border-bottom-color:var(--green-d)}
.foot__cta svg{width:19px;height:10px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}

/* ==========================================================================
   MOTION
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   PRINT
   ========================================================================== */
@media print{
  :root{--tint:#fff}
  body{font-size:10.5pt}
  .site,.skip,.slider,.typed,.units,.picks,.sent,.btn{display:none}
  section{padding:18pt 0;break-inside:avoid}
  section.tinted,.foot{border:0;background:none}
  .quote__total{background:none;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
  .work figure,.cal,.rows tr,.plans tr,.crew li{break-inside:avoid}
  .foot a[href^="http"]::after{content:" (" attr(href) ")"}
}

/* --- sample reviews --------------------------------------------------- */
.reviews{border-bottom:var(--hair) solid var(--rule)}
.reviews__grid{display:grid;gap:28px;margin-top:32px}
.review{display:flex;flex-direction:column;border-top:var(--hair) solid var(--rule-strong);padding-top:24px;min-width:0}
.review__stars{display:flex;gap:4px;color:var(--green);margin-bottom:18px}
.review__stars svg{width:20px;height:20px;fill:currentColor;flex:none}
.review blockquote{margin:0 0 24px}
.review h3{font-size:1.2rem;line-height:1.35;font-weight:700;text-wrap:balance}
.review blockquote p{margin-top:12px;color:var(--ink-70)}
.review figcaption{margin-top:auto;font-size:.94rem}
.review figcaption strong,.review figcaption span{display:block}
.review figcaption span{margin-top:4px;color:var(--ink-70);font-size:.86rem}
@media (min-width:760px){.reviews__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
