/* Andrade's Tree and Stump Grinding · page layer on top of the premium base */
.hero__title,.title,.quote,.stat b,.rec b,.step__num,.step h3,.pillar h3,.menu a,.form-card__head{font-variation-settings:"opsz" 144}
.hero__title{font-weight:400;letter-spacing:-.035em;font-size:clamp(56px,9.6vw,156px)}
.title{font-weight:400;letter-spacing:-.025em}
.title em,.hero__title .accent{font-weight:300}

/* Brand word */
.brand__word{display:flex;flex-direction:column;line-height:1;font-family:var(--serif);font-size:22px;letter-spacing:-.01em;text-transform:none;font-weight:500}
.brand__word small{font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--bone-3);margin-top:6px;font-weight:400}
.nav__portal{color:var(--bone)!important;letter-spacing:.12em}
@media(max-width:1320px){.nav__portal{display:inline}}
@media(max-width:1100px){.nav .nav__portal{display:none}}

/* Hero triptych: three vertical job clips side by side */
.tri{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;background:var(--bark)}
.tri__panel{position:relative;overflow:hidden}
.tri__panel .media{position:absolute;inset:0}
.tri__panel .media img,.tri__panel .media video{transform:scale(1.03)}
@media(max-width:900px){.tri{grid-template-columns:1fr}.tri__panel--side{display:none}}
.hero__shade{background:linear-gradient(180deg,rgba(12,16,13,.72) 0%,rgba(12,16,13,.3) 30%,rgba(12,16,13,.5) 62%,rgba(12,16,13,.98) 100%)}
.hero__shade::after{background:linear-gradient(90deg,rgba(12,16,13,.78) 0%,rgba(12,16,13,.25) 60%,rgba(12,16,13,.1) 100%)}
.hero__stats--4{grid-template-columns:repeat(4,1fr)}
.stars{font-style:normal;color:var(--amber-2);font-size:.5em;letter-spacing:.08em;vertical-align:middle}
.hero__cta .btn svg{width:15px;height:15px}
@media(max-width:900px){.hero__stats--4{grid-template-columns:1fr 1fr}.hero__stats--4 .stat:nth-child(2){border-right:0;margin-right:0}.hero__stats--4 .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:640px){
  .hero__stats--4{grid-template-columns:1fr 1fr}
  .hero__stats--4 .stat{padding:14px 10px 14px 0;border-bottom:0}
  .hero__stats--4 .stat:nth-child(odd){border-right:1px solid var(--line);margin-right:12px}
  .hero__stats--4 .stat b{font-size:24px}
  .hero__stats--4 .stat span{font-size:9.5px;letter-spacing:.12em}
  .hero__inner{padding-top:calc(var(--nav-h) + 4vh)}
  .hero__cta{margin-bottom:6vh}
  .hero__cta .btn{width:100%;justify-content:center}
}

/* Services list */
.svc{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--line)}
.svc li{display:grid;grid-template-columns:48px 1fr;gap:4px 18px;padding:24px 0;border-bottom:1px solid var(--line)}
.svc span{grid-row:span 2;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--amber);padding-top:9px}
.svc h3{font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);line-height:1.15;margin:0;transition:color .4s}
.svc p{margin:4px 0 0;color:var(--bone-2);font-size:16px;max-width:52ch}
.svc li:hover h3{color:var(--amber-2)}
@media(min-width:960px){.mission__text{position:static}.mission__figure{position:sticky;top:calc(var(--nav-h) + 30px);align-self:start}}

/* Pines band with rings */
.band__img{transform:translate3d(0,var(--py,0),0) scale(1.15);will-change:transform}
.band .media img{opacity:.55}
.band__rings{position:absolute;left:50%;top:50%;width:min(110vmin,1100px);height:min(110vmin,1100px);transform:translate(-50%,-50%);z-index:1;color:var(--amber);opacity:.22;pointer-events:none}
.band__rings circle{fill:none;stroke:currentColor;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 3s var(--ease)}
.band__rings.in circle{stroke-dashoffset:0}

/* Reel */
.reel-sec{padding-bottom:clamp(70px,8vw,120px);overflow:hidden}
.reel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gutter) 24px;scrollbar-width:none;cursor:grab;outline:none}
.reel::-webkit-scrollbar{display:none}
.reel.drag{cursor:grabbing;scroll-snap-type:none}
@media(min-width:1580px){.reel{padding-left:calc((100vw - var(--maxw))/2)}}
.clip{flex:none;width:clamp(230px,22vw,320px);margin:0;scroll-snap-align:start}
.clip__v{position:relative;aspect-ratio:9/16;overflow:hidden;background:var(--bark-3);box-shadow:inset 0 0 0 1px var(--line)}
.clip__v.media{position:relative;inset:auto}
.clip__v::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(transparent,rgba(12,16,13,.7));pointer-events:none;z-index:1}
.clip figcaption{padding:16px 2px 0}
.clip figcaption b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15}
.clip figcaption span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3)}
.clip--more .clip__v{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:30px;background:linear-gradient(160deg,var(--bark-4),var(--bark-2));transition:background .6s}
.clip--more .clip__v::after{display:none}
.clip--more .mark{width:54px;height:54px;margin-bottom:28px}
.clip--more b{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.05}
.clip--more span{margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3)}
.clip--more i{margin-top:34px;width:48px;height:48px;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;transition:border-color .4s,transform .6s var(--ease)}
.clip--more i svg{width:15px;height:15px}
.clip--more:hover i{border-color:var(--amber);transform:translateX(6px)}
.reel-ctl{display:flex;align-items:center;gap:12px;margin-top:22px}
.reel-btn{width:48px;height:48px;border:1px solid var(--line-2);background:transparent;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--bone);transition:border-color .4s}
.reel-btn:hover{border-color:var(--amber)}
.reel-btn svg{width:15px;height:15px}
.reel-btn[data-dir="-1"] svg{transform:rotate(180deg)}
.reel-bar{flex:1;height:1px;background:var(--line);margin-left:16px;position:relative}
.reel-bar i{position:absolute;left:0;top:-1px;height:3px;width:20%;background:var(--amber);transition:left .2s linear}

/* Record numbers */
.rec b{font-variation-settings:"opsz" 144;font-weight:300}

/* Family */
.family{display:grid;grid-template-columns:1fr;gap:56px}
@media(min-width:960px){.family{grid-template-columns:5fr 1fr 6fr}.family__text{grid-column:3;align-self:center}}
.family__fig .frame img{object-position:center 40%}
.sig{font-family:var(--serif);font-style:italic;font-size:30px!important;color:var(--bone)!important;line-height:1.25;margin-top:30px!important}
.sig span{display:block;font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);margin-top:10px}
.facts{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}
.facts li{padding:18px 16px 18px 0;border-bottom:1px solid var(--line)}
.facts span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-3);margin-bottom:6px}
.facts b{font-weight:400;font-size:16px}

/* Reviews */
.score{display:flex;align-items:center;gap:24px}
.score > b{font-family:var(--serif);font-weight:300;font-variation-settings:"opsz" 144;font-size:clamp(80px,9vw,140px);line-height:.85;color:var(--bone);letter-spacing:-.04em}
.score .stars{font-size:22px;display:block;margin-bottom:10px}
.score span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3);line-height:1.9}
.reviews{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media(min-width:900px){.reviews{grid-template-columns:repeat(2,1fr)}.rv--big{grid-column:1/-1}}
.rv{margin:0;padding:40px 36px 40px 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.rv:nth-child(even){border-right:1px solid var(--line)}.rv:nth-child(odd):not(.rv--big){padding-left:36px}}
.rv p{font-family:var(--serif);font-size:clamp(22px,1.9vw,28px);line-height:1.35;margin:0 0 20px;text-wrap:pretty}
.rv--big p{font-size:clamp(28px,3.2vw,48px);line-height:1.18;letter-spacing:-.01em;max-width:28ch}
.rv cite{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3)}
.rv cite b{color:var(--amber);font-weight:500;margin-right:12px}

/* CTA */
.contact-list a.big{font-family:var(--serif);font-size:30px;line-height:1}
.cta .media video,.cta .media img{opacity:.8}

/* Sticky mobile call bar */
.callbar{display:none}
@media(max-width:760px){
  .callbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:800;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:var(--amber);color:var(--bark);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.4);transform:translateY(140%);transition:transform .6s var(--ease)}
  .callbar svg{width:15px;height:15px}
  .callbar.show{transform:none}
  .footer{padding-bottom:110px}
  .facts{grid-template-columns:1fr}
  .score{flex-direction:column;align-items:flex-start;gap:14px}
  .rv{padding-right:0}
}
.footer__legal .row{justify-content:space-between}

/* His logo */
.brand--logo img{height:70px;width:auto;display:block}
.brand--foot img{height:96px}
.loader__logo{position:absolute;left:50%;bottom:56px;transform:translateX(-50%);height:64px;width:auto;opacity:0;animation:logoIn 1s .5s var(--ease) forwards}
@keyframes logoIn{to{opacity:1}}
@media(max-width:640px){.brand--logo img{height:46px}}
.band .media img{object-position:center 30%}
.cta__img{object-position:center 40%}

/* Language toggle */
.lang{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:3px;gap:2px}
.lang button{background:transparent;border:0;border-radius:999px;padding:7px 11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--bone-3);cursor:pointer;line-height:1;transition:background-color .35s,color .35s}
.lang button:hover{color:var(--bone)}
.lang button.on{background:var(--amber);color:var(--bark)}
@media(max-width:640px){.nav__actions{gap:10px}.lang button{padding:8px 10px}}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
