:root{
  --ever:#4E6E5D; --ever-d:#2F4A3D; --ever-dd:#22362D; --sage:#7A9B8A; --sage-l:#E3EBE5; --sage-ll:#EEF2EC;
  --blue:#5C7FA3; --blue-l:#E4EBF2; --linen:#F5F4F0; --linen-2:#EDEBE3; --ink:#1F201F; --ink-2:#3E4540;
  --paper:#FBFAF6; --leaf:#7DB441;
  --sec:clamp(80px,9vw,124px);
  --serif:'Cardo',Georgia,serif; --sans:'Work Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--linen);color:var(--ink);font-family:var(--sans);font-size:1.075rem;line-height:1.72;padding-bottom:0;overflow-x:hidden}
html{overflow-x:clip}body{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;text-wrap:balance;color:var(--ever-dd)}
p{text-wrap:pretty}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}

/* ---------- leaves (shared) ---------- */
.lf .lu{transform:scale(0);animation:unfurl 1.1s cubic-bezier(.2,.9,.25,1) var(--d) forwards}
.lf .ls{animation:sway var(--sd) ease-in-out var(--sx) infinite alternate}
.lf .lr{transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.lsn{}
@keyframes unfurl{0%{transform:scale(0) rotate(-35deg)}100%{transform:scale(1) rotate(0)}}
@keyframes sway{from{transform:rotate(calc(var(--sa) * -1))}to{transform:rotate(var(--sa))}}
.fig{fill:var(--ever-d)}
.rib{fill:none;stroke:rgba(255,255,255,.4);stroke-width:1.1;stroke-linecap:round}
.static .lf .lu,.mk .lf .lu{transform:none;animation:none}

/* ---------- buttons ---------- */
.btn{--bg:var(--ever);display:inline-flex;align-items:center;gap:.7em;font:600 .92rem/1 var(--sans);letter-spacing:.08em;text-decoration:none;color:var(--paper);
  background:var(--bg);padding:1.15em 1.5em 1.15em 1.6em;border-radius:4px 22px 4px 4px;border:0;cursor:pointer;
  transition:background-color .35s,box-shadow .35s;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.btn:hover{--bg:var(--ever-d);box-shadow:0 10px 26px -12px rgba(34,54,45,.55)}
.btn .bl-i{width:26px;height:17px;transform:rotate(-38deg) scale(.55);transform-origin:2px 50%;transition:transform .55s cubic-bezier(.2,.9,.25,1)}
.btn:hover .bl-i,.btn:focus-visible .bl-i{transform:rotate(-8deg) scale(1)}
.btn.lt{--bg:var(--paper);color:var(--ever-dd)}
.btn.lt:hover{--bg:#fff8;--bg:var(--sage-l)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;transition:background-color .4s,box-shadow .4s}
.hdr.sc{background:color-mix(in srgb,var(--linen) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(78,110,93,.12)}
.hdr .in{display:flex;align-items:center;gap:28px;height:88px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.mk{width:56px;height:58px;overflow:visible}
.brand b{display:block;font:700 1.32rem/1 var(--serif);color:var(--ever-dd);letter-spacing:.01em}
.brand small{display:block;font:500 .66rem/1 var(--sans);letter-spacing:.2em;color:var(--ever);margin-top:6px;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav>li{list-style:none;position:relative}
.nav>li>a,.nav>li>button{display:flex;align-items:center;gap:6px;font:500 .95rem/1 var(--sans);color:var(--ink-2);text-decoration:none;padding:12px 13px;background:none;border:0;cursor:pointer;border-radius:6px;transition:color .25s}
.nav>li>a:hover,.nav>li>button:hover,.nav>li:focus-within>button{color:var(--ever)}
.nav>li>a[aria-current]{color:var(--ever-dd)}
.nav>li>a[aria-current]::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;background:var(--leaf);border-radius:2px}
.nav button svg{width:10px;height:10px;transition:transform .3s}
.dd{position:absolute;top:100%;left:-8px;min-width:250px;background:var(--paper);border-radius:4px 18px 4px 4px;padding:10px;box-shadow:0 22px 50px -20px rgba(34,54,45,.35),0 0 0 1px rgba(78,110,93,.1);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .25s,visibility .25s}
.nav li:hover>.dd,.nav li:focus-within>.dd{opacity:1;visibility:visible;transform:none}
.nav li:hover>button svg,.nav li:focus-within>button svg{transform:rotate(180deg)}
.dd a{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:.95rem;text-decoration:none;color:var(--ink-2);border-radius:4px;transition:background-color .2s,color .2s}
.dd a:hover{background:var(--sage-ll);color:var(--ever-dd)}
.dd a .li{width:20px;height:13px;flex-shrink:0;opacity:.55;transition:opacity .2s,transform .3s}
.dd a:hover .li{opacity:1;transform:rotate(-12deg)}
.hphone{font:600 .98rem/1 var(--sans);color:var(--ever-dd);text-decoration:none;white-space:nowrap;margin-left:10px}
.hphone span{display:block;font:500 .7rem/1 var(--sans);color:var(--sage);margin-bottom:5px;letter-spacing:.02em}
.hdr .btn{padding:.95em 1.15em .95em 1.3em;font-size:.82rem}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:var(--ever-dd);border-radius:2px;transition:transform .35s,opacity .2s}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:23px;right:18px}.burger i:nth-child(3){top:29px}
.open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.open .burger i:nth-child(2){opacity:0}
.open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;padding:10px 0 var(--sec);overflow:hidden}
.hero .in{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(24px,4vw,64px)}
.hero h1{font-size:clamp(3rem,6.1vw,5.9rem);line-height:.98;letter-spacing:-.012em;color:var(--ever-dd);margin-bottom:.42em}
.hero .sub{font:600 clamp(1.1rem,1.5vw,1.3rem)/1.5 var(--sans);color:var(--ink-2);max-width:33ch;margin-bottom:1.1em}
.hero .tag{font-size:.98rem;color:var(--ever);max-width:40ch;margin-bottom:2.1em;display:flex;gap:.7em;align-items:flex-start}
.hero .tag svg{width:16px;height:20px;flex-shrink:0;margin-top:4px}
.hero .copy>*{opacity:0;transform:translateY(18px);animation:rise 1s cubic-bezier(.2,.8,.2,1) forwards}
.hero .copy>:nth-child(1){animation-delay:.15s}.hero .copy>:nth-child(2){animation-delay:.32s}.hero .copy>:nth-child(3){animation-delay:.45s}.hero .copy>:nth-child(4){animation-delay:.6s}
@keyframes rise{to{opacity:1;transform:none}}
.canopy{position:relative;width:min(100%,610px);margin-left:auto}
.canopy::before{content:"";position:absolute;inset:-6% -10% 18% -10%;background:radial-gradient(closest-side,rgba(125,180,65,.18),rgba(122,155,138,.10) 55%,transparent 75%);z-index:-1;animation:phin 2s ease .4s both}
.canopy svg{width:100%;height:auto;overflow:visible;display:block}
.canopy .ph{opacity:0;animation:phin 1.4s ease .25s forwards}
.canopy .ph image{transform-origin:350px 300px;animation:drift 22s ease-in-out infinite alternate}
@keyframes phin{to{opacity:1}}
@keyframes drift{from{transform:scale(1.05) translate(-6px,0)}to{transform:scale(1.12) translate(10px,-8px)}}
.canopy .rim{fill:none;stroke:rgba(78,110,93,.25);stroke-width:1.2}
.hfig{opacity:0;animation:phin 1.2s ease .1s forwards}
.fall{position:absolute;width:30px;height:20px;top:-30px;pointer-events:none;opacity:0;animation:fall var(--t) linear var(--dl) infinite}
@keyframes fall{0%{opacity:0;transform:translate(0,0) rotate(0)}10%{opacity:.85}50%{transform:translate(-60px,45vh) rotate(160deg)}90%{opacity:.7}100%{opacity:0;transform:translate(20px,92vh) rotate(320deg)}}
.ground{position:absolute;left:0;right:0;bottom:-1px;height:70px;color:var(--linen-2)}


/* ---------- hero: full-width photo ---------- */
.hx2{min-height:min(calc(100vh - 88px),860px);display:flex;align-items:center;padding:40px 0 110px;position:relative;overflow:hidden}
.hx2 .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;animation:drift2 26s ease-in-out infinite alternate}
@keyframes drift2{from{transform:scale(1.04)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
.hx2 .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,244,240,.97) 0%,rgba(245,244,240,.9) 34%,rgba(245,244,240,.35) 58%,rgba(245,244,240,0) 75%)}
.hx2 .in{display:block;position:relative;z-index:2}
.hx2 .copy{max-width:640px}
@media (max-width:768px){.hx2 .veil{background:linear-gradient(180deg,rgba(245,244,240,.95) 0%,rgba(245,244,240,.88) 60%,rgba(245,244,240,.4))}}

/* ---------- hero: photo behind a seam of leaves ---------- */
.h6x{position:relative;overflow:hidden;min-height:min(calc(100vh - 88px),860px);display:flex;align-items:center;padding:40px 0 80px}
.seamph{position:absolute;right:0;top:0;height:100%;width:64%;overflow:visible}
.seamph .sim{animation:drift 24s ease-in-out infinite alternate;transform-origin:500px 450px}
.h6x .in{display:block;position:relative;z-index:2}
.h6x .copy{max-width:560px}
@media (max-width:900px){.h6x{display:block;padding-top:10px}.seamph{position:relative;width:100%;height:420px;display:block;margin:20px 0 46px}}

/* hero leaf edge: real vine */
.v2s .stem2{fill:#3B5A47;clip-path:inset(0 0 100% 0);animation:stemDown 2.2s cubic-bezier(.5,0,.3,1) .2s forwards}
@keyframes stemDown{to{clip-path:inset(0 0 0 0)}}
.v2s .pet{fill:none;stroke:#3B5A47;stroke-width:2.4;stroke-linecap:round;opacity:0;animation:phin .3s ease var(--d) forwards}
.v2s .tdr{fill:none;stroke:#4E6E5D;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:140;stroke-dashoffset:140;animation:tdr 1.4s ease var(--d) forwards}
@keyframes tdr{to{stroke-dashoffset:0}}

/* ---------- services: flip tags ---------- */
.o3.h3x3 .tg a.h3x-flip{clip-path:none;background:none;box-shadow:none;padding:0;width:clamp(150px,13vw,188px);height:clamp(190px,15vw,220px);perspective:900px;display:block}
.o3.h3x3 .tg a.h3x-flip::after{display:none}
.h3x-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,.8,.25,1)}
.h3x-f,.h3x-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;clip-path:polygon(22% 0,78% 0,100% 16%,100% 100%,0 100%,0 16%)}
.h3x-f{background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px 14px 20px;box-shadow:inset 0 0 0 1px rgba(78,110,93,.25);
  font:400 clamp(1.1rem,1.5vw,1.4rem)/1.15 var(--serif);color:var(--ever-dd);text-align:center}
.h3x-f::after{content:"";position:absolute;inset:6px;clip-path:inherit;border:1px dashed rgba(78,110,93,.28);pointer-events:none}
.h3x-b{transform:rotateY(180deg);background-size:cover;background-position:center}
.h3x-b::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,54,45,0) 35%,rgba(34,54,45,.85))}
.h3x-b::after{content:attr(data-t);position:absolute;left:10px;right:10px;bottom:16px;text-align:center;font:400 clamp(1.05rem,1.4vw,1.3rem)/1.15 var(--serif);color:#F3F5EF}
.h3x-flip:hover .h3x-in,.h3x-flip:focus-visible .h3x-in,.h3x-flip.on .h3x-in{transform:rotateY(180deg)}
.h3x-flip .hole{z-index:2}
@media (max-width:1024px){.o3.h3x3 .tg a.h3x-flip{width:calc((50vw - 70px)/3)}}
@media (max-width:768px){.o3.h3x3 .tg a.h3x-flip{width:calc((100vw - 60px)/3);height:170px}.h3x-f{font-size:1rem;padding:26px 6px 14px}.h3x-b::after{font-size:.95rem}}

/* ---------- stories ---------- */
.stories{background:var(--linen-2);padding:var(--sec) 0}
.vine-wrap{position:relative;padding-left:clamp(56px,8vw,120px)}
.vine{position:absolute;left:0;top:0;width:clamp(56px,8vw,120px);height:100%;overflow:visible;pointer-events:none}
.vine path.st{fill:none;stroke:var(--ever);stroke-width:2.2;stroke-linecap:round}
.vine path.st0{fill:none;stroke:rgba(78,110,93,.14);stroke-width:2.2;stroke-linecap:round}
.vine .node .lu{transform:scale(0);animation:none;transition:transform 1s cubic-bezier(.2,.9,.25,1)}
.vine .node.on .lu{transform:scale(1)}
.vine .bud{fill:var(--linen-2);stroke:var(--ever);stroke-width:2;transition:fill .5s}
.vine .node.on .bud{fill:var(--leaf)}
.story{display:grid;gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(34px,4vw,56px) 0}
.story+.story{border-top:1px solid rgba(78,110,93,.13)}
.story.img{grid-template-columns:1.08fr .92fr}
.story.img.flip .tx{order:2}
.story.txt{grid-template-columns:.78fr 1.22fr;align-items:start}
.story h2{font-size:clamp(2.1rem,3.6vw,3.25rem);margin-bottom:.55em;color:var(--ever-dd)}
.story.txt h2{position:sticky;top:120px}
.story p{max-width:60ch;color:var(--ink-2)}
.story p+p{margin-top:1.05em}
.blob{position:relative}
.blob .fr{border-radius:58% 42% 52% 48%/46% 54% 46% 54%;overflow:hidden;animation:morph 16s ease-in-out infinite alternate;box-shadow:0 30px 60px -36px rgba(34,54,45,.5);aspect-ratio:5/4}
.blob.tall .fr{aspect-ratio:4/5.4;max-width:420px;margin-inline:auto}
.blob .fr img{width:100%;height:100%;object-fit:cover}
@keyframes morph{0%{border-radius:58% 42% 52% 48%/46% 54% 46% 54%}50%{border-radius:44% 56% 40% 60%/58% 42% 58% 42%}100%{border-radius:52% 48% 62% 38%/42% 58% 44% 56%}}
.blob .perch{position:absolute;width:110px;height:70px;overflow:visible;pointer-events:none}
.blob .perch.p1{top:-14px;right:8%}
.blob .perch.p2{bottom:-10px;left:4%}

/* ---------- stories: stepping stones on the vine ---------- */
.gv-box{position:relative}
.gv{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.gv .g0{fill:none;stroke:rgba(78,110,93,.14);stroke-width:2.4;stroke-linecap:round}
.gv .g1{fill:none;stroke:var(--ever);stroke-width:2.4;stroke-linecap:round}
.gv .g2{fill:none;stroke:#B5D65A;stroke-width:3.4;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(181,214,90,.9));animation:sap 7s linear infinite}
.gv .gnode .lu{transform:scale(0);animation:none;transition:transform 1s cubic-bezier(.2,.9,.25,1)}
.gv .gnode.on .lu{transform:scale(1)}
.gv .bud{fill:var(--linen-2);stroke:var(--ever);stroke-width:2;transition:fill .5s}
.gv .gnode.on .bud{fill:var(--leaf)}
.st-opt{background:var(--linen-2);padding:var(--sec) 0;position:relative;overflow:clip}
.st-opt>.wrap{position:relative;z-index:1}
.st-opt h2{font-size:clamp(2.1rem,3.6vw,3.25rem);margin-bottom:.55em;color:var(--ever-dd)}
.st-opt p{color:var(--ink-2)}
.st-opt p+p{margin-top:1.05em}
.st-opt .tx{position:relative;z-index:1}

.stone{position:relative;width:min(68%,780px);padding:clamp(40px,5vw,76px) clamp(36px,5vw,80px);z-index:1}
.stone::before{content:"";position:absolute;inset:-9% -7%;background:var(--t);border-radius:34% 30% 36% 28%/40% 36% 42% 34%;animation:stoneM 14s ease-in-out var(--d) infinite alternate;z-index:-1;box-shadow:0 30px 60px -44px rgba(34,54,45,.4)}
@keyframes stoneM{0%{border-radius:34% 30% 36% 28%/40% 36% 42% 34%}50%{border-radius:28% 36% 30% 34%/36% 42% 34% 40%}100%{border-radius:32% 28% 34% 32%/42% 34% 40% 38%}}
.stone.sR{margin-left:auto}
.stone+.stone{margin-top:clamp(40px,5vw,80px)}
.stone .vn{position:absolute;left:0;top:0;width:100%;height:100%}
.pebble{position:absolute;width:clamp(200px,22vw,300px);top:50%;transform:translateY(-50%) rotate(-4deg)}
.stone.sL .pebble{right:calc(-1 * clamp(150px,20vw,280px))}
.stone.sR .pebble{left:calc(-1 * clamp(150px,20vw,280px))}
.pebble img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:46% 54% 50% 50%/52% 46% 54% 48%;animation:morph 10s ease-in-out infinite alternate;border:8px solid var(--linen-2);box-shadow:0 26px 50px -30px rgba(34,54,45,.5)}
.stone:last-child .pebble img{aspect-ratio:4/5}
.stone p{max-width:58ch}
@media (max-width:900px){.stone{width:auto;margin-left:0!important}.pebble{position:relative;top:0;left:auto!important;right:auto!important;transform:rotate(-3deg);margin:24px auto 0}.stone .vn{left:-30px;width:1px}}

/* ---------- why ---------- */
.why{background:var(--ever-dd);color:#E7EDE8;padding:var(--sec) 0;position:relative;overflow:hidden}
.why::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 78% 50%,rgba(122,155,138,.22),transparent 70%)}
.why .in{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,96px);align-items:center}
.why h2{color:#F3F5EF;font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:.6em}
.why p{color:#CBD8CF;max-width:56ch}
.why p+p{margin-top:1.05em}
.why p:last-child{color:#F3F5EF}
.split{width:min(100%,520px);height:auto;margin-inline:auto;display:block;overflow:visible}
.split .fig{fill:#DCE6DF}
.split .half{transition:transform .2s linear}
.split .lf .lu{transform:none;animation:none}
.seam{position:absolute;left:50%;top:6%;bottom:6%;width:2px;background:linear-gradient(transparent,rgba(181,214,90,.5),transparent);opacity:var(--seam,1);transform:translateX(-50%)}
.why .art{position:relative}

/* why: bare tree buds and blooms (amber to green) as you scroll */
.why .split .half{transform:none!important}.why .seam{display:none}

/* ---------- rebuild ---------- */
.rebuild{padding:var(--sec) 0;position:relative}
.rebuild .in{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(30px,6vw,90px);align-items:start}
.sprout{position:sticky;top:110px}
.sprout .fr{border-radius:50% 50% 14px 14px/34% 34% 14px 14px;overflow:hidden;aspect-ratio:4/4.6;box-shadow:0 30px 70px -40px rgba(34,54,45,.55)}
.sprout .fr img{width:100%;height:100%;object-fit:cover;object-position:38% 50%;transform:scale(1.08);transition:transform .2s linear}
.rebuild h2{font-size:clamp(2.3rem,4.2vw,3.7rem);margin-bottom:.7em}
.stem{position:relative;padding-left:58px}
.stem svg.sline{position:absolute;left:0;top:0;width:40px;height:100%;overflow:visible}
.stem svg.sline path{fill:none;stroke:var(--ever);stroke-width:2.2;stroke-linecap:round}
.stem svg.sline path.bg{stroke:rgba(78,110,93,.14)}
.stem p{color:var(--ink-2);max-width:58ch;position:relative}
.stem p+p{margin-top:1.4em}
.stem .pair{position:absolute;left:-58px;top:.5em;width:40px;height:30px;overflow:visible}
.stem .pair .lu{transform:scale(0);animation:none;transition:transform .9s cubic-bezier(.2,.9,.25,1)}
.stem p.on .pair .lu{transform:scale(1)}

/* ---------- bio ---------- */
.bio{background:var(--sage-ll);padding:var(--sec) 0;position:relative}
.bio .in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,96px);align-items:start}
.portrait{position:sticky;top:110px}
.portrait .fr{border-radius:6px 120px 6px 6px;overflow:hidden;aspect-ratio:4/5.4;box-shadow:0 36px 80px -44px rgba(34,54,45,.6)}
.portrait .fr img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.branch{position:absolute;width:56%;bottom:-50px;right:-7%;overflow:visible;pointer-events:none;transform:scaleY(-1)}
.branch .twig{fill:none;stroke:var(--ever-d);stroke-width:3;stroke-linecap:round}
.bio h2{font-size:clamp(2.6rem,4.8vw,4.2rem);margin-bottom:.45em}
.bio h3{font-size:clamp(1.6rem,2.4vw,2.05rem);margin:1.6em 0 .55em;color:var(--ever-d)}
.bio p{color:var(--ink-2);max-width:60ch}
.bio p+p{margin-top:1.05em}
.bio .btn{margin-top:2.2em}
.bmore{position:relative;z-index:1;margin-top:clamp(56px,6vw,90px);padding-top:clamp(40px,4vw,56px);border-top:1px solid rgba(220,230,223,.16)}
.bmore>*{max-width:none}
.bmore h3{margin:0 auto .8em!important;text-align:center}
.bmore p{max-width:none}
.bmore p+p{margin-top:1.05em}
.bmore .btn{display:flex;width:max-content;margin:2.2em auto 0}

.ibox{position:relative;background:var(--paper);border-radius:6px 64px 6px 6px;padding:clamp(28px,3.4vw,46px) clamp(26px,3.4vw,48px);box-shadow:0 34px 70px -44px rgba(34,54,45,.45),0 0 0 1px rgba(78,110,93,.08);margin-bottom:.4em}
.ibox h2{margin-bottom:.4em}
.ibox p{max-width:none}
.ibl{position:absolute;top:-20px;right:58px;width:60px;height:40px;transform-origin:2px 50%;rotate:-60deg;animation:sway 3.6s ease-in-out infinite alternate;--sa:7deg}
.ibl.b{right:22px;top:-8px;width:46px;height:30px;rotate:-20deg;animation-duration:4.4s;animation-delay:-1.6s}

/* ---------- services ---------- */
.svc{padding:var(--sec) 0;position:relative;overflow:hidden}
.svc .grid{display:grid;grid-template-columns:1fr minmax(260px,.82fr) 1fr;align-items:end;gap:clamp(16px,3vw,40px)}
.svc h2{font-size:clamp(2.1rem,3.6vw,3.1rem);margin-bottom:.8em}
.svc .col.r{text-align:right}
.svc .col.r h2{font-size:clamp(1.8rem,2.7vw,2.45rem)}
.svc .col h2{min-height:2.3em;display:flex;align-items:flex-end}.svc .col.r h2{justify-content:flex-end}
.svc ul{list-style:none}
.svc li+li{margin-top:6px}
.svc li a{display:flex;align-items:center;gap:16px;padding:16px 4px;text-decoration:none;color:var(--ever-dd);font:400 clamp(1.45rem,2.1vw,1.85rem)/1.15 var(--serif);border-bottom:1px solid rgba(78,110,93,.16);position:relative;transition:color .3s}
.svc .col.r li a{flex-direction:row-reverse}
.svc li a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--leaf);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.svc .col.r li a::after{transform-origin:right}
.svc li a:hover::after,.svc li a:focus-visible::after{transform:scaleX(1)}
.svc li a:hover{color:var(--ever)}
.svc li .li{width:46px;height:30px;flex-shrink:0;transition:transform .7s cubic-bezier(.2,.9,.25,1)}
.svc .col.l li .li{transform:rotate(200deg)}
.svc .col.l li a:hover .li{transform:rotate(170deg) scale(1.15)}
.svc .col.r li a:hover .li{transform:rotate(-30deg) scale(1.15)}
.stree{width:100%;height:auto;overflow:visible;display:block}
.stree .lf .lu{transform:none;animation:none}
.stree g.sl,.stree g.sr{transition:filter .5s,transform .7s cubic-bezier(.2,.9,.25,1);transform-origin:50px 60px}
.svc.hl .stree g.sl{transform:rotate(-3deg);filter:saturate(1.35) brightness(1.08)}
.svc.hr .stree g.sr{transform:rotate(3deg);filter:saturate(1.35) brightness(1.08)}


/* ---------- services: tags hanging from a branch ---------- */
.o3{padding:var(--sec) 0 calc(var(--sec) + 20px);background:var(--linen);overflow:hidden;--hh:clamp(96px,8.6vw,124px)}
.o3b{position:relative}
.twig3{position:absolute;left:-60px;right:-60px;top:calc(var(--hh) + 4px);width:calc(100% + 120px);height:90px;overflow:visible}
.twig3 .tw{fill:none;stroke:#6B4F38;stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.twig3 .tw2{fill:none;stroke:#6B4F38;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.twig3 .lf .lu{transform:none;animation:none}
.o3g{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.o3c h2{height:var(--hh);display:flex;align-items:flex-end;justify-content:center;text-align:center;font-size:clamp(2.1rem,3.6vw,3.1rem);margin-bottom:46px}
.o3c.cc h2{font-size:clamp(1.8rem,2.8vw,2.5rem)}
.o3c ul{list-style:none;display:flex;justify-content:space-around;gap:14px}
.tg{position:relative;display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;animation:swing var(--s) ease-in-out var(--d) infinite alternate}
@keyframes swing{from{transform:rotate(-2.6deg)}to{transform:rotate(2.6deg)}}
.tg:hover{animation-play-state:paused}
.str{width:2px;height:var(--l);background:linear-gradient(#8A6B4E,#B39878)}
.tg a{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:clamp(150px,13vw,188px);padding:34px 16px 26px;text-decoration:none;
  background:var(--paper);color:var(--ever-dd);clip-path:polygon(22% 0,78% 0,100% 16%,100% 100%,0 100%,0 16%);
  box-shadow:inset 0 0 0 1px rgba(78,110,93,.25);transition:background-color .45s,color .45s;
  font:400 clamp(1.15rem,1.5vw,1.4rem)/1.15 var(--serif);text-align:center}
.tg a::after{content:"";position:absolute;inset:6px;clip-path:inherit;border:1px dashed rgba(78,110,93,.28);pointer-events:none}
.tg .hole{position:absolute;top:12px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--linen);box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.tg .tl{width:44px;height:28px;transform:rotate(-30deg);transition:transform .7s cubic-bezier(.2,.9,.25,1)}
.tg a:hover,.tg a:focus-visible{background:var(--ever);color:#F3F5EF}
.tg a:hover .tl,.tg a:focus-visible .tl{transform:rotate(-8deg) scale(1.2)}
.tg a:hover::after{border-color:rgba(243,245,239,.35)}

@media (min-width:769px){
  .o3g{grid-template-areas:"ha ha" "hc hc" "ua uc";row-gap:0}
  .o3c{display:contents}
  .o3c:not(.cc) h2{grid-area:ha}
  .o3c.cc h2{grid-area:hc;margin-top:.15em}
  .o3c:not(.cc) ul{grid-area:ua}
  .o3c.cc ul{grid-area:uc}
  .o3c h2,.o3c.cc h2{height:auto;justify-content:center;text-align:center;margin-bottom:0}
  .o3c ul{margin-top:76px}
  .twig3{top:var(--tw,140px)}
}
@media (max-width:1024px){.o3c ul{flex-wrap:nowrap;justify-content:space-between;gap:6px}.tg a{width:calc((50vw - 70px)/3);padding:30px 6px 18px;font-size:1.05rem}}
@media (max-width:768px){
  .o3g{grid-template-columns:1fr;gap:56px}.twig3{display:none}
  .o3c h2,.o3c.cc h2{height:auto;justify-content:center;text-align:center;margin-bottom:0}
  .o3c ul{position:relative;padding-top:22px;justify-content:space-between}
  .o3c ul::before{content:"";position:absolute;left:-30px;right:-30px;top:16px;height:5px;border-radius:6px;background:#3B5A47;transform:rotate(-.8deg)}
  .tg a{width:calc((100vw - 60px)/3)}.tg .tl{width:34px;height:22px}
}

/* services: the same real vine as the hero edge, grows when in view */
.twig3.hv{overflow:visible}
.hv .hvs{fill:#3B5A47;clip-path:inset(0 100% 0 0);transition:clip-path 2.4s cubic-bezier(.5,0,.3,1)}
.hv .hvp{fill:none;stroke:#3B5A47;stroke-width:2.4;stroke-linecap:round;opacity:0;transition:opacity .3s ease var(--d)}
.hv .hvt{fill:none;stroke:#4E6E5D;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;transition:stroke-dashoffset 1.4s ease var(--d)}
.hv .hvl .lu{animation:none;transform:scale(0);transition:transform .9s cubic-bezier(.2,.9,.25,1) var(--d)}
.hv.grow .hvs{clip-path:inset(0 0 0 0)}
.hv.grow .hvp{opacity:1}
.hv.grow .hvt{stroke-dashoffset:0}
.hv.grow .hvl .lu{transform:scale(1)}

/* ---------- final cta ---------- */
.cta{background:var(--ever-dd);color:#E7EDE8;position:relative;padding:0 0 var(--sec)}
.cta .photo{position:relative;height:clamp(300px,42vw,520px);overflow:hidden}
.cta .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.cta .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,54,45,0) 30%,rgba(34,54,45,.75) 70%,rgba(34,54,45,1))}
.cta .wave{position:absolute;left:0;right:0;width:100%;height:80px;bottom:-1px;color:var(--ever-dd);z-index:1}
.cta .wave.top{top:-1px;bottom:auto;color:var(--linen);transform:scaleY(-1)}
.cta .in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,90px);align-items:start;margin-top:clamp(-140px,-10vw,-60px);position:relative;z-index:2}
.cta h2{color:#F3F5EF;font-size:clamp(2.4rem,4.4vw,3.9rem);margin-bottom:.6em}
.cta p{color:#CBD8CF;max-width:56ch}
.cta p+p{margin-top:1.05em}
.cta h3{color:#F3F5EF;font-size:clamp(1.6rem,2.4vw,2rem);margin:1.7em 0 .5em}
.cta .em a{color:#F3F5EF;text-decoration:none;background:linear-gradient(var(--leaf),var(--leaf)) 0 100%/100% 2px no-repeat;padding-bottom:2px;transition:background-size .3s}
.cta .em a:hover{background-size:100% 100%;color:var(--ever-dd)}
.form{background:var(--paper);color:var(--ink);border-radius:6px 64px 6px 6px;padding:clamp(28px,3.4vw,46px);box-shadow:0 40px 80px -40px rgba(0,0,0,.5);position:relative}
.form .mkf{position:absolute;top:-34px;right:34px;width:78px;height:80px;overflow:visible}
.form label{display:block;font:500 .86rem/1.3 var(--sans);color:var(--ever-d);margin-bottom:7px}
.form .f{margin-bottom:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form input,.form textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--linen);border:1px solid rgba(78,110,93,.22);border-radius:4px;padding:13px 14px;transition:border-color .25s,box-shadow .25s,background-color .25s}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--ever);background:#fff;box-shadow:0 0 0 3px rgba(125,180,65,.22)}
.form .btn{width:100%;justify-content:center;margin-top:6px}

/* ---------- footer ---------- */
.ftr{background:#1B2B24;color:#AFC1B5;padding:56px 0 34px;font-size:.88rem}
.ftr .top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid rgba(175,193,181,.15)}
.ftr .fig{fill:#DCE6DF}.ftr .brand b{color:#EEF2EC}.ftr .brand small{color:#9FB8A8}
.ftr .soc{display:flex;align-items:center;gap:14px}
.ftr .soc a{width:42px;height:42px;display:grid;place-items:center;border-radius:4px 14px 4px 4px;border:1px solid rgba(175,193,181,.28);transition:background-color .3s,border-color .3s}
.ftr .soc a.pt{width:auto;height:42px;padding:0 14px;display:inline-flex}.ftr .soc a:hover{background:rgba(125,180,65,.16);border-color:var(--leaf)}
.ftr .soc svg{width:19px;height:19px;fill:none;stroke:#DCE6DF;stroke-width:1.7}
.pt{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:4px;border:1px dashed rgba(175,193,181,.35);color:#C9D6CD;text-decoration:none;font-size:.78rem}
.ftr .cred{padding:24px 0 6px;color:#C9D6CD;max-width:80ch}
.ftr .cred a{color:#EEF2EC;text-decoration:none;white-space:nowrap}
.ftr .bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;font-size:.8rem}
.ftr .bot nav{display:flex;gap:18px}
.ftr .bot a{color:#AFC1B5;text-decoration:none}
.ftr .bot a:hover{color:#EEF2EC}
a[href^="tel:"],a[href^="mailto:"]{text-decoration:none}


/* ---------- continuous ambient motion ---------- */
.stories,.bio,.svc,.o3,.rebuild{position:relative;overflow:hidden}
.stories>.wrap,.bio>.wrap,.svc>.wrap,.o3>.wrap,.rebuild>.wrap{position:relative;z-index:1}
.shade{position:absolute;pointer-events:none;z-index:0;width:min(52vw,720px);color:var(--ever-dd);opacity:.075;filter:blur(7px);
  transform-origin:100% 0;animation:shadeSway 11s ease-in-out infinite alternate}
.shade .lf .lu{transform:none;animation:none}
.shade .lf .ls{animation-duration:calc(var(--sd) * .8)}
.shade.s1{top:-40px;right:-60px}
.shade.s2{top:-30px;left:-80px;transform:scaleX(-1);animation-name:shadeSwayM;transform-origin:0 0}
.shade.s3{bottom:-60px;right:-40px;transform:scaleY(-1);animation-name:shadeSwayV;transform-origin:100% 100%}
.shade.s5{bottom:20px;left:-120px;top:auto;transform:scale(-1,-1);animation-name:shadeSwayXY;transform-origin:50% 50%}
@keyframes shadeSwayXY{from{transform:scale(-1,-1) rotate(-3deg)}to{transform:scale(-1,-1) rotate(3.5deg) translate(-26px,10px)}}
.shade.s4{top:-50px;left:-70px;transform:scaleX(-1);animation-name:shadeSwayM;transform-origin:0 0;opacity:.06}
@keyframes shadeSway{from{transform:rotate(-1.6deg) translate(0,0)}to{transform:rotate(2.2deg) translate(-14px,6px)}}
@keyframes shadeSwayM{from{transform:scaleX(-1) rotate(-1.6deg)}to{transform:scaleX(-1) rotate(2.2deg) translate(-14px,6px)}}
@keyframes shadeSwayV{from{transform:scaleY(-1) rotate(-1.4deg)}to{transform:scaleY(-1) rotate(2deg) translate(-12px,-6px)}}
.mote{position:absolute;bottom:-12px;width:var(--sz);height:var(--sz);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(214,236,140,.95),rgba(181,214,90,.35) 45%,transparent 70%);
  animation:moteUp var(--t) linear var(--dl) infinite}
@keyframes moteUp{0%{transform:translate(0,0);opacity:0}12%{opacity:.85}50%{transform:translate(var(--x),-50vh)}85%{opacity:.6}100%{transform:translate(calc(var(--x) * -.5),-100vh);opacity:0}}
.why .motes,.cta .motes{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cta .motes{z-index:1}
.canopy::before{animation:phin 2s ease .4s both,breathe 7s ease-in-out 2.4s infinite alternate}
@keyframes breathe{from{opacity:1;transform:scale(1)}to{opacity:.7;transform:scale(1.05)}}
.cta .photo img{animation:kb 30s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.1) translate(-1.5%,-1%)}}
.sprout .fr{position:relative}
.sprout .fr::after{content:"";position:absolute;inset:-20%;pointer-events:none;mix-blend-mode:soft-light;
  background:radial-gradient(30% 22% at 30% 30%,rgba(255,250,210,.55),transparent 70%),radial-gradient(26% 20% at 70% 60%,rgba(255,250,210,.4),transparent 70%);
  animation:glint 12s ease-in-out infinite alternate}
@keyframes glint{from{transform:translate(-6%,-4%)}to{transform:translate(8%,6%)}}
.stree .fig{animation:none}
.stree .sl,.stree .sr{animation:crownB 6s ease-in-out infinite alternate}
.stree .sr{animation-delay:-3s}
@keyframes crownB{from{scale:1}to{scale:1.018}}
.btn .bl-i{animation:btnLeaf 3.4s ease-in-out infinite alternate}
@keyframes btnLeaf{from{rotate:-6deg}to{rotate:6deg}}
.portrait .fr img{animation:kb2 26s ease-in-out infinite alternate}
@keyframes kb2{from{transform:scale(1)}to{transform:scale(1.045)}}
@media (max-width:768px){.shade{width:90vw;opacity:.06}}


/* ---------- alive layer ---------- */
.drift{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}
.dl{position:absolute;top:-40px;width:var(--sz);height:calc(var(--sz) * .64);opacity:0;animation:driftDown var(--t) linear var(--dl) infinite;filter:drop-shadow(0 4px 4px rgba(34,54,45,.18))}
@keyframes driftDown{0%{transform:translate(0,0) rotate(0);opacity:0}6%{opacity:.9}25%{transform:translate(var(--sw),25vh) rotate(120deg)}50%{transform:translate(calc(var(--sw) * -.6),50vh) rotate(200deg)}75%{transform:translate(var(--sw),75vh) rotate(290deg)}92%{opacity:.85}100%{transform:translate(0,108vh) rotate(380deg);opacity:0}}
.bfl{position:absolute;left:0;top:0;width:610px;height:740px;transform-origin:0 0;transform:scale(var(--k,1));pointer-events:none;z-index:3}
.bf{position:absolute;left:0;top:0;width:58px;height:50px;offset-rotate:auto 90deg;animation:fly 26s linear infinite}
.bf.b1{offset-path:path("M300 40C470 -30 680 120 600 290S420 470 300 430 40 380 20 230 150 90 300 40Z")}
.bf.b2{width:42px;height:36px;offset-path:path("M520 120C640 220 560 380 430 360S220 250 160 330 60 520 210 560 520 460 560 330 420 40 520 120Z");animation-duration:21s;animation-delay:-8s}
.bf svg{width:100%;height:100%;overflow:visible;animation:bob 1.8s ease-in-out infinite alternate}
.bf .wl,.bf .wr{animation:flap .28s ease-in-out infinite alternate}
.bf.b2 .wl,.bf.b2 .wr{animation-duration:.22s}
@keyframes flap{from{transform:scaleX(1)}to{transform:scaleX(.28)}}
@keyframes fly{to{offset-distance:100%}}
@keyframes bob{from{transform:translateY(-3px)}to{transform:translateY(3px)}}
.glint{animation:glint2 9s ease-in-out 2.5s infinite}
@keyframes glint2{0%{transform:translateX(0)}55%,100%{transform:translateX(900px)}}
.vine path.sap,.stem svg.sline path.sap{fill:none;stroke:#B5D65A;stroke-width:3.4;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(181,214,90,.9));stroke-dasharray:46 2400;animation:sap 7s linear infinite}
.stem svg.sline path.sap{stroke-dasharray:30 1400;animation-duration:5s}
@keyframes sap{from{stroke-dashoffset:46}to{stroke-dashoffset:-2400}}
.shade{opacity:.13;filter:blur(4px)}
@keyframes shadeSway{from{transform:rotate(-3deg) translate(0,0)}to{transform:rotate(3.5deg) translate(-26px,10px)}}
@keyframes shadeSwayM{from{transform:scaleX(-1) rotate(-3deg)}to{transform:scaleX(-1) rotate(3.5deg) translate(-26px,10px)}}
@keyframes shadeSwayV{from{transform:scaleY(-1) rotate(-3deg)}to{transform:scaleY(-1) rotate(3.2deg) translate(-22px,-10px)}}
.shade{animation-duration:7s}
.mote{animation:moteUp var(--t) linear var(--dl) infinite,twinkle 2.6s ease-in-out infinite alternate}
@keyframes twinkle{from{filter:brightness(.6)}to{filter:brightness(1.5)}}
.blob .fr{animation-duration:9s}
@media (max-width:1300px){.drift{display:none}}


/* ---------- bio: dark evergreen, glow + fireflies ---------- */
.b4{background:var(--ever-dd);color:#E7EDE8}
.b4 h2,.b4 h3{color:#F3F5EF}
.b4 h3{color:#C2DC64}
.b4 p{color:#CBD8CF}
.b4 .ibox h2{color:var(--ever-dd)}
.b4 .ibox p{color:var(--ink-2)}
.b4 .shade{color:#C2DC64;opacity:.05}
.b4 .bmore .btn{--bg:var(--paper);color:var(--ever-dd)}
.b4 .bmore .btn:hover{--bg:#DCE6DF}
.p4 .fr{position:relative;z-index:1;box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.halo{position:absolute;inset:-12% -16%;background:radial-gradient(closest-side,rgba(181,214,90,.28),rgba(122,155,138,.12) 60%,transparent);animation:breathe 6s ease-in-out infinite alternate;z-index:0}
.p4 .branch{z-index:2}
.p4 .branch{bottom:62px}
.b4 .pcap{position:relative;z-index:2;margin:24px 0 0;text-align:center;font:400 clamp(1.15rem,1.5vw,1.35rem)/1.3 var(--serif);letter-spacing:.02em;color:#F3F5EF}
@media (max-width:900px){.b4 .pcap{margin-bottom:44px}}
.ffs{position:absolute;inset:-10%;pointer-events:none;z-index:3}
.ff{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#F4FFB8,rgba(194,220,100,.5) 50%,transparent 70%);animation:ffly var(--t) ease-in-out var(--dl) infinite alternate}
@keyframes ffly{0%{transform:translate(0,0);opacity:.15}50%{opacity:1}100%{transform:translate(var(--x),var(--y));opacity:.25}}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .hdr .hphone span{display:none}
  .nav>li>a,.nav>li>button{padding:12px 9px}
  .hdr .btn{display:none}
}
@media (max-width:1024px){
  .hero .in{grid-template-columns:1fr 1fr}
  .svc .grid{grid-template-columns:1fr 1fr}
  .svc .tree-c{grid-column:1/-1;order:-1;width:min(340px,70%);margin:0 auto 10px}
  .svc .col.r{text-align:left}
  .svc .col.r h2{justify-content:flex-start}
  .svc .col.r li a{flex-direction:row}
  .svc .col.r li .li{transform:rotate(200deg)}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .hdr .in{height:74px}
  .burger{display:block}
  .hphone{display:none}
  .nav{position:fixed;inset:74px 0 0 0;background:var(--linen);flex-direction:column;align-items:stretch;gap:0;padding:14px 22px 40px;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility .3s}
  .open .nav{opacity:1;visibility:visible;transform:none}
  .nav>li>a,.nav>li>button{font-size:1.15rem;padding:16px 4px;width:100%;justify-content:space-between;border-bottom:1px solid rgba(78,110,93,.12);border-radius:0}
  .nav>li>a[aria-current]::after{display:none}
  .dd{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:none;padding:0 0 6px 10px;display:none;min-width:0}
  .nav li.sub-open>.dd{display:block}
  .nav li:hover>.dd{display:none}
  .nav li.sub-open:hover>.dd{display:block}
  .nav .mphone{display:block}
  .nav .mphone a{display:block;padding:20px 4px 6px;font:600 1.15rem var(--sans);color:var(--ever-dd);text-decoration:none}
}
.nav .mphone{display:none}
@media (max-width:768px){
  .hero{padding-top:0}
  .fall{display:none}
  .hero .in{grid-template-columns:1fr;gap:18px}
  .canopy{width:min(100%,440px);margin:0 auto}
  .story.img,.story.txt{grid-template-columns:1fr}
  .story.img.flip .tx{order:0}
  .story.txt h2{position:static}
  .blob .fr{aspect-ratio:4/3.4}
  .why .in,.rebuild .in,.bio .in,.cta .in{grid-template-columns:1fr}
  .why .art{order:-1}
  .split{width:min(100%,340px)}
  .sprout,.portrait{position:relative;top:0}
  .sprout .fr{aspect-ratio:4/3.6}
  .portrait{max-width:440px}
  .branch{right:-6%;width:56%;bottom:-44px}
  .svc .grid{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .cta .in{margin-top:-40px}
  .ftr .top{flex-direction:column;align-items:flex-start}
}
@media (max-width:480px){
  .wrap{width:calc(100% - 36px)}
  body{font-size:1.02rem}
  .hero h1{font-size:2.75rem}
  .vine-wrap{padding-left:44px}
  .vine{width:44px}
  .brand b{font-size:1.15rem}
  .mk{width:46px;height:48px}
}
@media (hover:none) and (pointer:coarse){
  .ftr,.ftr .bot,.brand small,.form label,.pt,.hphone span{font-size:max(14px,.88rem)}
  .ftr .bot{font-size:14px}
}

/* ===== soft focus glow backgrounds (from B option) ===== */
.sg-sec{position:relative;isolation:isolate}
.abg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.abp{position:absolute;display:block}
.abp svg{display:block;width:100%;height:auto;overflow:visible}
.dr1{animation:dr1 26s ease-in-out infinite alternate;transform-origin:70% 85%;transform-box:view-box}
.abp:nth-child(even) .dr1{animation-duration:32s;animation-direction:alternate-reverse}
@keyframes dr1{from{transform:rotate(-2deg) scale(1)}to{transform:rotate(3deg) scale(1.05)}}
.stories.sg-sec{background:linear-gradient(180deg,#FBFAF6,#F5F8F5 50%,#FBF9F4)!important}
.rebuild.sg-sec{background:linear-gradient(180deg,#F7F9FC,#EEF3F8)!important}
.o3.sg-sec{background:#FFFBF8!important}
@media (max-width:768px){.abp{width:120vw!important}}

/* ===== Rebuild (from C): the light comes back together ===== */
.rebuild.rbc{overflow:clip!important;isolation:isolate;padding:var(--sec) 0}
.rbc-orb{position:absolute;top:8%;left:50%;width:min(80vmin,820px);aspect-ratio:1;margin-left:calc(min(80vmin,820px) / -2);border-radius:50%;z-index:-1;pointer-events:none;
 background:radial-gradient(closest-side,rgba(255,226,170,.75),rgba(255,226,170,.25) 50%,rgba(255,226,170,0));transform:translateX(calc(var(--mg,1) * 30vw * var(--dir)));transition:transform .2s linear}
.rbc-orb.a{--dir:-1}.rbc-orb.b{--dir:1;background:radial-gradient(closest-side,rgba(205,225,240,.85),rgba(205,225,240,.25) 50%,rgba(205,225,240,0))}
.rbc-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:start}
.rbc-l{position:sticky;top:120px}
.rbc .rbc-l h2{margin-bottom:34px}
.rbc-ph{margin:0;aspect-ratio:4/4.6;border-radius:22px;overflow:hidden;box-shadow:0 50px 80px -50px rgba(31,32,31,.5)}
.rbc-ph img{width:100%;height:100%;object-fit:cover;display:block}
.rbc-r{position:relative;display:flex;flex-direction:column;gap:26px;padding-top:0}
.rbc-r::before{content:"";position:absolute;left:31px;top:30px;bottom:30px;width:1px;background:linear-gradient(rgba(201,160,74,0),rgba(201,160,74,.7) 15%,rgba(201,160,74,.7) 85%,rgba(201,160,74,0));transform-origin:top;transform:scaleY(var(--rl,0))}
.rbc-s{position:relative;padding:30px 34px 30px 72px;background:rgba(255,253,249,.62);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 30px 60px -44px rgba(60,40,20,.4);border-radius:20px;margin-left:calc(var(--s) * 7%)}
.rbc-s p{margin:0}
/* How I Help: soft glow fades out at the section bottom (no hard cut) */
.o3.sg-sec .abg{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 62%,transparent 100%)}
.o3.sg-sec{background:linear-gradient(180deg,#FFFBF8 0,#FFFBF8 50%,#F5F4F0 100%)!important}
.rbc-dot{position:absolute;left:24px;top:38px;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle,#FFF4D6 0 30%,#E9C877 60%,rgba(233,200,119,0) 72%);box-shadow:0 0 18px 4px rgba(233,200,119,.55)}
.rbc-fz{opacity:0;filter:blur(14px);transform:scale(1.03);transition:opacity 1.3s cubic-bezier(.22,.8,.2,1),filter 1.4s cubic-bezier(.22,.8,.2,1),transform 1.5s cubic-bezier(.22,.8,.2,1)}
.rbc-fz.seen{opacity:1;filter:none;transform:none}
@media (max-width:1024px){.rbc-g{grid-template-columns:1fr}.rbc-l{position:relative;top:0}.rbc-ph{max-width:520px}.rbc-r{padding-top:0}}
@media (max-width:768px){.rbc-s{padding:24px 22px 24px 58px;margin-left:0}.rbc-dot{left:20px;top:31px}.rbc-r::before{left:27px}}

/* ===== 50px standard section padding (top and bottom) ===== */
:root{--sec:50px}
.stories,.why,.rebuild,.rebuild.rbc,.bio,.o3,.cta{padding-top:50px!important;padding-bottom:50px!important}
.hero{padding-top:50px!important;padding-bottom:50px!important}
.cta{padding-top:0!important}
.why{min-height:0!important}

/* ====================================================================
 * WordPress additions (everything above this line is mockup A's own
 * <style> block, verbatim). Inner pages reuse the homepage's classes;
 * these rules only fit WordPress output into them.
 * ==================================================================== */

/* ---------- Services / Specialties: dead parents, they only open their dropdown (Marco 2026-10-11) ---------- */
@media (hover:hover){.nav>li>button{cursor:default}}

/* ---------- safety nets ---------- */
/* .rbc-fz cards (Rebuild, closing cards, LP phases) only show once the reveal script adds
   .seen. If the script never runs, they still appear after 8s (Critical Lesson #9). */
@keyframes forceVisible{to{opacity:1;filter:none;transform:none}}
.rbc-fz:not(.seen){animation:forceVisible 0s 8s forwards}
.container{width:min(1240px,100% - 48px);margin-inline:auto}

/* ---------- WPForms in the mockup's form card ---------- */
.form-wp .wpforms-container{margin:0!important;padding:0!important}
.form-wp .wpforms-container .wpforms-form .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.form-wp .wpforms-container .wpforms-form .wpforms-field{padding:0!important;margin:0 0 18px!important;grid-column:1/-1;clear:none!important}
.form-wp .wpforms-container .wpforms-form .wpforms-field[id$="-field_1-container"],.form-wp .wpforms-container .wpforms-form .wpforms-field[id$="-field_2-container"]{grid-column:auto}
.form-wp .wpforms-container .wpforms-form .wpforms-field-row,.form-wp .wpforms-container .wpforms-form .wpforms-field-medium,.form-wp .wpforms-container .wpforms-form .wpforms-field-large{max-width:none!important;width:100%!important}
.form-wp .wpforms-container .wpforms-form .wpforms-field-label,.form-wp .wpforms-container .wpforms-form .tpa-human-check label{display:block!important;font:500 .86rem/1.3 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;opacity:1!important;color:var(--ever-d)!important;margin:0 0 7px!important;padding:0!important}
.form-wp .wpforms-container .wpforms-form .wpforms-required-label{display:none!important}
.form-wp .wpforms-container .wpforms-form input[type=text],.form-wp .wpforms-container .wpforms-form input[type=email],.form-wp .wpforms-container .wpforms-form input[type=tel],.form-wp .wpforms-container .wpforms-form textarea,.form-wp .wpforms-container .wpforms-form .tpa-human-check input{
  width:100%!important;max-width:none!important;height:auto!important;font:400 1rem/1.4 var(--sans)!important;color:var(--ink)!important;background:var(--linen)!important;
  border:1px solid rgba(78,110,93,.22)!important;border-radius:4px!important;padding:13px 14px!important;box-shadow:none!important;transition:border-color .25s,box-shadow .25s,background-color .25s}
.form-wp .wpforms-container .wpforms-form textarea{min-height:120px!important;resize:vertical}
.form-wp .wpforms-container .wpforms-form input:focus,.form-wp .wpforms-container .wpforms-form textarea:focus{outline:none!important;border-color:var(--ever)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(125,180,65,.22)!important}
.form-wp .wpforms-container .wpforms-form .tpa-human-check{margin:0 0 18px}
.form-wp .wpforms-container .wpforms-form .wpforms-submit-container{padding:6px 0 0!important;margin:0!important}
.form-wp .wpforms-container .wpforms-form button.wpforms-submit{--bg:var(--ever);width:100%!important;display:inline-flex!important;align-items:center;justify-content:center;gap:.7em;height:auto!important;
  font:600 .92rem/1 var(--sans)!important;letter-spacing:.08em!important;text-transform:none!important;color:var(--paper)!important;background:var(--bg)!important;padding:1.15em 1.5em 1.15em 1.6em!important;
  border:0!important;border-radius:4px 22px 4px 4px!important;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.06)!important;transition:background-color .35s,box-shadow .35s}
.form-wp .wpforms-container .wpforms-form button.wpforms-submit::after{content:""!important;display:block!important;position:static!important;margin-left:.45em!important;inset:auto!important;opacity:1!important;width:26px!important;height:17px!important;flex-shrink:0;transform:rotate(-38deg) scale(.55);transform-origin:2px 50%;transition:transform .55s cubic-bezier(.2,.9,.25,1);
  background:linear-gradient(45deg,#4E8E3A,#9FCB4A)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -16 50 32'%3E%3Cpath d='M0 0C9 -10.5 27 -13 44 -1.5C29 9.5 10 9.5 0 0Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -16 50 32'%3E%3Cpath d='M0 0C9 -10.5 27 -13 44 -1.5C29 9.5 10 9.5 0 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
.form-wp .wpforms-container .wpforms-form button.wpforms-submit:hover{--bg:var(--ever-d);box-shadow:0 10px 26px -12px rgba(34,54,45,.55)!important}
.form-wp .wpforms-container .wpforms-form button.wpforms-submit:hover::after,.form-wp .wpforms-container .wpforms-form button.wpforms-submit:focus-visible::after{transform:rotate(-8deg) scale(1)}
.form-wp .wpforms-container .wpforms-form label.wpforms-error,.form-wp .wpforms-container .wpforms-form em.wpforms-error{display:block;font:500 .82rem/1.3 var(--sans)!important;color:#A33A2C!important;margin-top:6px!important}
.form-wp .wpforms-confirmation-container-full,.form-wp .wpforms-confirmation-container{background:var(--sage-ll)!important;border:1px solid rgba(78,110,93,.25)!important;color:var(--ever-dd)!important;border-radius:4px 22px 4px 4px;padding:22px 24px!important;margin:0!important}
.form-wp .wpforms-confirmation-container-full p,.form-wp .wpforms-confirmation-container p{color:var(--ever-dd)!important;margin:0}
@media (max-width:768px){.form-wp .wpforms-container .wpforms-form .wpforms-field-container{grid-template-columns:1fr}.form-wp .wpforms-container .wpforms-form .wpforms-field[id$="-field_1-container"],.form-wp .wpforms-container .wpforms-form .wpforms-field[id$="-field_2-container"]{grid-column:1/-1}}
@media (hover:none) and (pointer:coarse){.form-wp .wpforms-container .wpforms-form .wpforms-field-label,.form-wp .wpforms-container .wpforms-form .tpa-human-check label{font-size:max(14px,.88rem)!important}}

a[href^="tel:"]{white-space:nowrap}

/* ---------- the logo mark sits inside the form card (Marco 2026-10-11) ---------- */
.form .mkf{position:relative;top:auto;right:auto;display:block;width:64px;height:66px;margin:-8px auto 12px}

/* ---------- inner-page hero: the homepage hero, shorter ---------- */
/* The title stays in the linen space left of the photo: the photo is 56% wide and
   the copy column ends 28px short of where it starts, at every width. */
.inner-hero.h6x{min-height:min(calc(78vh - 88px),640px)}
.inner-hero .seamph{width:56%}
/* the homepage's swaying leaf shadow, on the left over the linen (Marco 2026-10-11) */
.inner-hero .shade.s2{top:-50px;left:-120px;width:min(48vw,680px);z-index:0;transform-origin:50% 0;animation-name:ihShade;opacity:.15}
@keyframes ihShade{from{transform:scaleX(-1) rotate(-3deg)}to{transform:scaleX(-1) rotate(3.5deg) translate(-26px,10px)}}
@media (max-width:900px){.inner-hero .shade.s2{width:110vw;left:-30vw;top:auto;bottom:0;opacity:.1}}
.inner-hero .wrap.in{z-index:2}
.inner-hero h1{font-size:clamp(2.3rem,4.1vw,4.4rem);overflow-wrap:break-word;hyphens:manual}
.inner-hero .copy{max-width:min(560px,calc(44vw - max(24px,(100vw - 1240px) / 2) - 28px))}
.inner-hero .inner-meta{margin:0}
@media (max-width:900px){.inner-hero .seamph{width:100%;height:340px}.inner-hero .copy{max-width:none}}

/* ---------- inner pages: the section above the closing section fades into it (no hard cut) ---------- */
body:not(.home) main>section:has(+ .cta){position:relative}
body:not(.home) main>section:has(+ .cta)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:min(260px,40%);background:linear-gradient(180deg,rgba(245,244,240,0),#F5F4F0);pointer-events:none;z-index:0}
body:not(.home) main>section:has(+ .cta)>.abg{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 55%,transparent 100%)}
body:not(.home) main>section.inner-close:has(+ .cta){background:linear-gradient(180deg,#F7F9FC 0,#EEF3F8 45%,#F5F4F0 100%)!important}
body:not(.home) main>section.inner-close:has(+ .cta) .rbc-orb{-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 85%);mask-image:linear-gradient(180deg,#000 40%,transparent 85%)}

/* ---------- inner-page stones ---------- */
.inner-stones .stone{width:min(74%,840px)}
.inner-stones .stone::before{inset:-6% -5%;border-radius:15% 12% 17% 11%/12% 16% 11% 17%;animation-name:stoneMi}
@keyframes stoneMi{0%{border-radius:15% 12% 17% 11%/12% 16% 11% 17%}50%{border-radius:11% 16% 12% 15%/16% 11% 15% 12%}100%{border-radius:13% 11% 15% 14%/15% 12% 16% 13%}}
/* body photos (pebbles) bigger than the homepage's (Marco 2026-10-11) */
.inner-stones .stone.has-peb{width:min(58%,700px)}
.inner-stones .pebble{width:clamp(270px,29vw,420px)}
.inner-stones .stone.sL .pebble{right:calc(-1 * clamp(210px,25vw,360px))}
.inner-stones .stone.sR .pebble{left:calc(-1 * clamp(210px,25vw,360px))}
.inner-stones .pebble img{aspect-ratio:1/1!important}
@media (max-width:900px){.inner-stones .pebble{width:min(86%,400px)}}
.st-opt h3{font-size:clamp(1.5rem,2.2vw,1.95rem);margin:1.25em 0 .45em;color:var(--ever-d)}
.st-opt h2+h3{margin-top:.2em}
.st-opt .tx ul,.b4 .bio-tx ul,.plain-card ul,.faq-a-body ul,.close-card ul{list-style:none;margin:1em 0 0;padding:0}
.st-opt .tx li,.b4 .bio-tx li,.plain-card li,.faq-a-body li,.close-card li{position:relative;padding-left:30px;color:var(--ink-2)}
.st-opt .tx li+li,.b4 .bio-tx li+li,.plain-card li+li,.faq-a-body li+li,.close-card li+li{margin-top:.45em}
.st-opt .tx li::before,.b4 .bio-tx li::before,.plain-card li::before,.faq-a-body li::before,.close-card li::before{content:"";position:absolute;left:2px;top:.62em;width:17px;height:10px;border-radius:0 100% 0 100%;background:linear-gradient(135deg,#4D8E41,#9FCB4A);transform:rotate(-24deg)}
.st-opt .tx ul+p,.st-opt .tx p+ul,.plain-card ul+p{margin-top:1.05em}
.st-opt .tx a:not(.btn),.plain-card a:not(.btn),.faq-a-body a,.close-card a:not(.btn),.faq-intro a{color:var(--ever-d);text-decoration:none;background:linear-gradient(var(--leaf),var(--leaf)) 0 100%/100% 2px no-repeat;padding-bottom:1px;transition:background-size .3s,color .3s}
.st-opt .tx a:not(.btn):hover,.plain-card a:not(.btn):hover,.faq-a-body a:hover,.close-card a:not(.btn):hover,.faq-intro a:hover{background-size:100% 100%;color:var(--ever-dd)}
.svc-btn{margin-top:1.5em!important}
.inner-stones--after{background:linear-gradient(180deg,#F7F9FC,#EEF3F8)!important}
@media (max-width:900px){.inner-stones .stone,.inner-stones .stone.has-peb{width:auto}}

/* ---------- inner-page bio band (About) ---------- */
.inner-bio .bio-tx>h2:first-child{margin-top:0}
.b4 .bio-tx h2{font-size:clamp(2.4rem,4.4vw,3.8rem)}
.b4 .bio-tx li{color:#CBD8CF}
.b4 .bio-tx a:not(.btn){color:#F3F5EF;text-decoration:none;background:linear-gradient(var(--leaf),var(--leaf)) 0 100%/100% 2px no-repeat}
.b4 .bio-tx ul+p,.b4 .bio-tx p+ul{margin-top:1.05em}

/* About bio copy as an accordion (Marco 2026-10-11, option 4) */
.bio-acc{margin-top:.6em}
.bio-acc-r{border-top:1px solid rgba(220,230,223,.16)}
.bio-acc-r:last-child{border-bottom:1px solid rgba(220,230,223,.16)}
.b4 .bio-acc h3{margin:0}
.bio-acc h3 button{display:flex;align-items:center;gap:14px;width:100%;padding:20px 4px;background:none;border:0;cursor:pointer;text-align:left;font:400 clamp(1.4rem,2vw,1.8rem)/1.2 var(--serif);color:#C2DC64}
.bio-acc h3 button:focus-visible{outline:2px solid #C2DC64;outline-offset:2px}
.bio-acc-leaf{width:30px;height:19px;flex-shrink:0;transform:rotate(-42deg) scale(.7);transition:transform .6s cubic-bezier(.2,.9,.25,1)}
.bio-acc-r.open .bio-acc-leaf,.bio-acc h3 button:hover .bio-acc-leaf{transform:rotate(-6deg) scale(1.05)}
.bio-acc h3 span{flex:1}
.bio-acc h3 i{width:14px;height:14px;flex-shrink:0;border-radius:50%;border:2px solid #C2DC64;transition:background-color .4s,border-color .4s}
.bio-acc-r.open h3 i{background:#7DB441;border-color:#7DB441}
.bio-acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.3,.8,.25,1)}
.bio-acc-r.open .bio-acc-a{grid-template-rows:1fr}
.bio-acc-a>div{overflow:hidden}
.bio-acc-b{padding:0 4px 24px 48px}
.bio-acc-b p+p,.bio-acc-b ul+p,.bio-acc-b p+ul{margin-top:1em}
@media (max-width:768px){.bio-acc-b{padding-left:4px}}

/* ---------- closing section: the Rebuild's glass card ---------- */
.inner-close .close-card{max-width:900px;margin:0 auto!important;padding:clamp(34px,4.4vw,60px) clamp(28px,4.4vw,64px) clamp(34px,4.4vw,60px) clamp(64px,7vw,104px)}
.inner-close .close-card .rbc-dot{left:clamp(26px,3vw,44px);top:clamp(46px,5vw,72px)}
.inner-close .close-card h2{font-size:clamp(2.1rem,3.8vw,3.3rem);margin-bottom:.55em}
.inner-close .close-card p{color:var(--ink-2)}
.inner-close .close-card p+p{margin-top:1.05em}
.inner-close .close-card .rbc-r{display:none}
@media (max-width:768px){.inner-close .close-card{padding:30px 22px 30px 54px}.inner-close .close-card .rbc-dot{left:18px;top:42px}}

/* ---------- generic reading column (legal, thank you, single posts) ---------- */
.inner-plain .plain-card{max-width:920px;margin:0 auto;padding:clamp(32px,4.4vw,64px) clamp(26px,4.6vw,72px)}
.plain-card h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:1.4em 0 .5em}
.plain-card h3{font-size:clamp(1.4rem,2.2vw,1.8rem);margin:1.3em 0 .45em;color:var(--ever-d)}
.plain-card>:first-child,.plain-card>.ibl+.ibl+*{margin-top:0}
.plain-card p{color:var(--ink-2)}
.plain-card p+p{margin-top:1.05em}
.plain-card .nf p+p{margin-top:1.6em}

/* ---------- FAQ: paper cards under the growing vine ---------- */
.faq-sec .wrap{width:min(1000px,100% - 48px)}
.faq-intro{margin-bottom:clamp(46px,6vw,80px)}
.faq-intro p{color:var(--ink-2)}
.faq-intro p+p{margin-top:1em}
.faq-grp+.faq-grp{margin-top:clamp(56px,7vw,100px)}
.faq-grp h2{text-align:center;font-size:clamp(2.1rem,3.6vw,3.1rem);margin-bottom:.5em}
.faq-vine{position:relative;height:74px;margin:0 -30px 22px}
.faq-vine .twig3{position:absolute;left:0;right:0;top:0;width:100%;height:74px}
.faq-list{display:flex;flex-direction:column;gap:16px}
.faq-item{background:var(--paper);border-radius:6px 40px 6px 6px;box-shadow:0 26px 54px -42px rgba(34,54,45,.5),0 0 0 1px rgba(78,110,93,.09);transition:box-shadow .45s,transform .45s}
.faq-item:hover{box-shadow:0 30px 60px -38px rgba(34,54,45,.55),0 0 0 1px rgba(78,110,93,.16)}
.faq-item.open{box-shadow:0 34px 70px -40px rgba(34,54,45,.6),0 0 0 1px rgba(125,180,65,.4)}
.faq-h{margin:0;font-size:inherit;line-height:inherit}
.faq-q{display:flex;align-items:center;gap:16px;width:100%;padding:22px 26px;background:none;border:0;cursor:pointer;text-align:left;
  font:400 clamp(1.22rem,1.8vw,1.5rem)/1.25 var(--serif);color:var(--ever-dd)}
.faq-q:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:6px 40px 6px 6px}
.faq-q .tl{width:38px;height:24px;flex-shrink:0;transform:rotate(-42deg) scale(.68);transition:transform .65s cubic-bezier(.2,.9,.25,1)}
.faq-item:hover .faq-q .tl{transform:rotate(-24deg) scale(.86)}
.faq-item.open .faq-q .tl{transform:rotate(-6deg) scale(1.08)}
.faq-qt{flex:1}
.faq-pm{width:15px;height:15px;flex-shrink:0;border-radius:50%;border:2px solid var(--ever);background:var(--paper);transition:background-color .45s,border-color .45s,transform .45s}
.faq-item.open .faq-pm{background:var(--leaf);border-color:var(--leaf);transform:scale(1.15)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.3,.8,.25,1)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a-in{overflow:hidden}
.faq-a-body{padding:0 34px 28px 80px;color:var(--ink-2);font-size:1.08rem;line-height:1.8}
.faq-a-body p+p{margin-top:.9em}
@media (max-width:768px){.faq-q{padding:20px 18px;gap:12px}.faq-q .tl{width:30px;height:19px}.faq-a-body{padding:0 20px 24px 22px}.faq-vine{margin:0 -18px 14px;height:60px}}

/* ---------- Contact: the homepage's closing section, no photo ---------- */
.contact-cta{padding-top:clamp(64px,8vw,110px)!important}
.contact-cta .in{margin-top:0}
.contact-copy p{color:#CBD8CF}
.contact-copy p+p{margin-top:1.05em}
.contact-lines{list-style:none;margin:1.6em 0 0;padding:0;display:grid;gap:20px}
.contact-lines li{display:flex;flex-direction:column;gap:4px}
.contact-lines .cl-k{font:500 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#9FB8A8}
.contact-lines a,.contact-lines li>span:last-child{font:400 clamp(1.35rem,2vw,1.7rem)/1.3 var(--serif);color:#F3F5EF;text-decoration:none}
.contact-lines a{width:max-content;max-width:100%;background:linear-gradient(var(--leaf),var(--leaf)) 0 100%/100% 2px no-repeat;padding-bottom:2px;transition:background-size .3s,color .3s}
.contact-lines a:hover{background-size:100% 100%;color:var(--ever-dd)}
@media (hover:none) and (pointer:coarse){.contact-lines .cl-k{font-size:14px}}

/* ---------- blog ---------- */
.post-meta{font:500 .82rem/1.3 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--ever)!important;margin-bottom:.8em}
.st-opt .tx .blog-card__title a{text-decoration:none;color:inherit;background:none;padding:0;transition:color .3s}
.st-opt .tx .blog-card__title a:hover{color:var(--ever)}
.row-link{margin-top:1.2em!important}
.row-link a{font:600 .88rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.pagination{padding:0 0 50px}
.pagination ul{list-style:none;display:flex;gap:8px;justify-content:center;margin:0;padding:0}
.pagination a,.pagination span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:4px 14px 4px 4px;border:1px solid rgba(78,110,93,.22);text-decoration:none;color:var(--ever-dd)}
.pagination .current{background:var(--ever);color:var(--paper);border-color:var(--ever)}
.single-body{max-width:820px!important}
.single-body .back-link{margin-bottom:1.6em}
.single-body .back-link a{font:600 .82rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:none!important}
.single-body>p:nth-of-type(2)::first-letter{float:left;font:400 4.2em/.8 var(--serif);color:var(--ever);margin:.06em .1em 0 0}
.single-body blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--leaf)}
.single-body blockquote p{font:italic 400 clamp(1.4rem,2.2vw,1.75rem)/1.4 var(--serif);color:var(--ever-dd)}
@media (hover:none) and (pointer:coarse){.post-meta{font-size:14px!important}}

/* ====================================================================
 * Landing page additions (the homepage's stylesheet + the WordPress
 * additions are above this line).
 * ==================================================================== */
.lp-tp{scroll-padding-top:100px}
.lp-hdr .burger{display:none!important}
.lp-hdr .lp-nav{gap:2px}
.lp-hdr .lp-nav a{white-space:nowrap}

/* hero */
.lp-hero .seamph{width:56%}
.lp-hero .copy{max-width:min(580px,calc(44vw - max(24px,(100vw - 1240px) / 2) - 28px))}
.lp-hero h1{font-size:clamp(2.4rem,4.4vw,4.8rem)}
@media (max-width:900px){.lp-hero .seamph{width:100%}.lp-hero .copy{max-width:none}}
.lp-hero .tag{margin-bottom:1.6em}
.lp-hero .sub{font-weight:400}
.lp-hero-act{opacity:0;transform:translateY(18px);animation:rise 1s cubic-bezier(.2,.8,.2,1) .7s forwards}
.lp-bold{font:600 1.05rem/1.4 var(--sans);color:var(--ever-dd);margin-bottom:.9em}
.lp-badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:1.8em 0 0;padding:0}
.lp-badges li{display:flex;align-items:center;gap:8px;font:500 .86rem/1.3 var(--sans);color:var(--ever-d)}
.lp-badges svg{width:22px;height:14px;flex-shrink:0;transform:rotate(-24deg)}
.lp-eyebrow{font:600 .78rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ever);margin-bottom:.8em}

/* stones */
.lp-stones .stone{width:min(70%,820px)}
.lp-acts{margin-top:1.6em!important}

/* process: the Rebuild's glass steps */
.lp-process .rbc-l h2{font-size:clamp(2.3rem,4.2vw,3.7rem)}
.lp-step h3{font-size:clamp(1.45rem,2vw,1.8rem);margin:0 0 .4em;color:var(--ever-dd)}
.lp-step p+p{margin-top:.7em!important}
.lp-step p strong{color:var(--ever-d)}
.lp-step-n{position:absolute;right:26px;top:18px;font:400 2.6rem/1 var(--serif);color:rgba(78,110,93,.22)}
.lp-process .lp-acts{margin-left:72px!important}
@media (max-width:768px){.lp-process .lp-acts{margin-left:0!important}.lp-step-n{right:18px;font-size:2.1rem}}

/* trust + bio band */
.lp-trust .in>div:last-child>h2{margin-bottom:.2em}
.lp-trust h3:first-of-type{margin-top:1em}
.lp-bio-full{position:relative;z-index:1;margin-top:clamp(48px,5vw,80px)}
.lp-bio-full .lp-bio-card{max-width:none}
.lp-bio-full .lp-bio-card p{max-width:none}

/* FAQ */
.lp-faq .faq-grp h2{margin-bottom:.5em}

/* CTA 2 */
.lp-cta2{text-align:center;padding:clamp(70px,8vw,110px) 0!important}
.lp-cta2 h2{font-size:clamp(2.2rem,4vw,3.4rem);max-width:18em;margin:0 auto}
.lp-cta2 .lp-kicker{font:400 1.02rem/1.4 var(--sans);color:var(--ever);margin-bottom:.8em}
.lp-cta2 .lp-acts{display:flex;justify-content:center}

/* form section */
.lp-form .lp-next{list-style:none;counter-reset:nx;margin:0;padding:0;display:grid;gap:14px}
.lp-form .lp-next li{counter-increment:nx;display:flex;gap:14px;align-items:flex-start;color:#CBD8CF}
.lp-form .lp-next li::before{content:counter(nx);flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:600 .9rem/1 var(--sans);color:var(--ever-dd);background:var(--leaf);margin-top:1px}
.lp-form .lp-next strong{color:#F3F5EF}
.lp-form .lp-next a{color:#F3F5EF}
.lp-assurances{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:2.2em;padding-top:1.8em;border-top:1px solid rgba(220,230,223,.16)}
.lp-assurances h4{font:600 .82rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#C2DC64;margin-bottom:.5em}
.lp-assurances p{font-size:.95rem}
.lp-card-t{color:var(--ever-dd)!important;margin:0 0 .8em!important}

/* phones: the anchors as 2x2 pills under the logo row */
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .lp-hdr .in{flex-wrap:wrap;height:auto;row-gap:8px;padding:10px 0}
  .lp-hdr .lp-nav{position:static;inset:auto;opacity:1;visibility:visible;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;padding:0 0 4px;background:none;overflow:visible;order:5}
  .lp-hdr .lp-nav>li>a{justify-content:center;font-size:.92rem;padding:10px 8px;border:1px solid rgba(78,110,93,.25);border-radius:4px 14px 4px 4px;background:var(--paper)}
  .lp-hdr .hphone{display:block;margin-left:auto;font-size:.92rem}
  .lp-assurances{grid-template-columns:1fr}
  .lp-stones .stone{width:auto}
}
@media (hover:none) and (pointer:coarse){.lp-badges li,.lp-eyebrow,.lp-assurances h4{font-size:max(14px,.86rem)}}
