/* =====================================================================
   Trellis — inner-page design system (services hub + service pages)
   Shared via css_includes: ["tr-inner"]. Homepage keeps its own page_css.
   ===================================================================== */

/* ---------- Shared primitives ---------- */
.tr-sec{padding:clamp(88px,10vw,140px) 0 0}
.tr-head{text-align:center;max-width:860px;margin:0 auto;padding:0 var(--tr-gutter)}
.tr-head .tr-tri{color:var(--tr-terra)}
.tr-head h2{font-size:clamp(32px,3.4vw,48px);margin:14px 0 22px}
.tr-head p:not(.tr-eyebrow){font-size:15px;line-height:1.7;max-width:680px;margin:0 auto;color:rgba(63,73,56,.85)}
.tr-lead{font-family:var(--tr-display);font-weight:300;font-size:clamp(19px,1.5vw,22px)!important;line-height:1.42!important;color:inherit!important}
.tr-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);transition:color .3s,text-decoration-color .3s}
.tr-prose a:hover{color:var(--tr-terra);text-decoration-color:var(--tr-terra)}
.tr-prose a.tr-link,.tr-prose a.tr-btn{text-decoration:none}
.tr-dark .tr-prose a:hover{color:var(--tr-stone);text-decoration-color:var(--tr-stone)}
.tr-qn{display:block;font-family:var(--tr-display);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tr-sage)}
.tr-dark .tr-qn{color:var(--tr-stone)}
.tr-tri--left{margin-left:0!important}
.tr-btn{display:inline-flex;align-items:center;gap:14px;padding:17px 28px;background:var(--tr-terra);color:var(--tr-ivory);font-family:var(--tr-display);font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--tr-ease)}
.tr-btn::before{content:"";position:absolute;inset:0;background:var(--tr-ivory);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--tr-ease);z-index:-1}
.tr-btn:hover{color:var(--tr-olive)}
.tr-btn:hover::before{transform:scaleX(1);transform-origin:left}
.tr-btn span{transition:transform .5s var(--tr-ease)}
.tr-btn:hover span{transform:translateX(5px)}
.tr-btn--onlight::before{background:var(--tr-olive)}
.tr-btn--onlight:hover{color:var(--tr-ivory)}

/* ---------- Inner hero (dark olive, lattice, glow, particles) ---------- */
.tr-ihero{position:relative;min-height:min(88vh,860px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#2b3326;color:var(--tr-ivory)}
.tr-ihero-bg{position:absolute;inset:0;transform:scale(1.12);transition:transform 2.8s var(--tr-ease-out)}
body.tr-loaded .tr-ihero-bg{transform:none}
.tr-ihero-bg::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(245,241,232,.035) 0 1px,transparent 1px 64px),repeating-linear-gradient(-45deg,rgba(245,241,232,.035) 0 1px,transparent 1px 64px)}
.tr-ihero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(216,204,184,.16),transparent 70%),linear-gradient(180deg,rgba(20,26,18,.55) 0%,transparent 30%,transparent 60%,rgba(20,26,18,.75) 100%)}
.tr-ihero-mark{position:absolute;left:50%;top:46%;width:min(70vh,74vw);aspect-ratio:1;transform:translate(-50%,-50%);color:rgba(216,204,184,.22)}
.tr-ihero-mark svg{width:100%;height:100%;display:block;overflow:visible}
.tr-ihero-mark line,.tr-ihero-mark polygon{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--tr-ease-out);transition-delay:calc(.3s + var(--k,0)*.07s)}
body.tr-loaded .tr-ihero-mark line,body.tr-loaded .tr-ihero-mark polygon{stroke-dashoffset:0}
.tr-ihero-mark .tr-core{opacity:0;transform-origin:center;transform:scale(.6);transition:opacity 1.6s ease 1.4s,transform 1.6s var(--tr-ease-out) 1.4s}
body.tr-loaded .tr-ihero-mark .tr-core{opacity:.6;transform:none}
.tr-ihero .tr-particles-wrap{z-index:1}
.tr-ihero-content{position:relative;z-index:2;max-width:960px;padding:calc(var(--tr-header-h) + var(--tr-adminbar) + 56px) var(--tr-gutter) 80px}
.tr-ihero .tr-eyebrow{color:var(--tr-ivory)}
.tr-ihero h1{font-size:clamp(36px,4.3vw,62px);margin:14px auto 24px;max-width:920px}
.tr-ihero-lede{font-family:var(--tr-display);font-weight:300;font-size:clamp(18px,1.5vw,22px);line-height:1.45;max-width:720px;margin:0 auto 16px!important;color:var(--tr-ivory)}
.tr-ihero-sub{font-size:clamp(15px,1.05vw,16.5px);line-height:1.7;max-width:700px;margin:0 auto 34px!important;color:rgba(245,241,232,.78)}
.tr-ihero-ctas{display:flex;gap:34px;justify-content:center;align-items:center;flex-wrap:wrap}
.tr-ihero-trust{margin-top:30px!important;font-family:var(--tr-display);font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tr-stone);opacity:.85}
.tr-h-a,.tr-h-b,.tr-h-c,.tr-h-d{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--tr-ease-out),transform 1.2s var(--tr-ease-out)}
.tr-h-a{transition-delay:.7s}.tr-h-b{transition-delay:.85s}.tr-h-c{transition-delay:1s}.tr-h-d{transition-delay:1.15s}
body.tr-loaded .tr-h-a,body.tr-loaded .tr-h-b,body.tr-loaded .tr-h-c,body.tr-loaded .tr-h-d{opacity:1;transform:none}

/* ---------- Breadcrumbs ---------- */
.tr-crumbs{border-bottom:1px solid var(--tr-line)}
.tr-crumbs ol{list-style:none;margin:0 auto;max-width:1320px;padding:18px var(--tr-gutter);display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-family:var(--tr-display);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tr-sage)}
.tr-crumbs li{display:flex;align-items:center}
.tr-crumbs li+li::before{content:"";width:5px;height:5px;margin:0 14px;background:var(--tr-terra);transform:rotate(45deg);opacity:.8}
.tr-crumbs a{transition:color .3s}
.tr-crumbs a:hover{color:var(--tr-terra)}
.tr-crumbs [aria-current]{color:var(--tr-olive)}

/* ---------- Quick answer ---------- */
.tr-answer{text-align:center;padding:clamp(80px,9vw,128px) var(--tr-gutter) 0;color:var(--tr-olive)}
.tr-answer .tr-tri{color:var(--tr-terra)}
.tr-answer h2{font-size:clamp(20px,1.6vw,24px)!important;font-weight:400!important;margin:8px 0 24px!important}
.tr-answer-lead{max-width:920px;margin:0 auto;font-family:var(--tr-display);font-weight:300;font-size:clamp(24px,2.6vw,36px);line-height:1.18;letter-spacing:-.015em;text-wrap:balance}
.tr-answer-sub{max-width:720px;margin:28px auto 0!important;font-size:15px;line-height:1.75;color:rgba(63,73,56,.85)}

/* ---------- Editorial topic (sticky side heading + body) ---------- */
.tr-topic{position:relative;display:grid;grid-template-columns:minmax(240px,.82fr) 1.5fr;gap:clamp(32px,6vw,110px);max-width:1320px;margin:clamp(72px,8vw,112px) auto 0;padding:clamp(48px,5vw,72px) var(--tr-gutter) 0;align-items:start}
.tr-topic::before{content:"";position:absolute;top:0;left:var(--tr-gutter);right:var(--tr-gutter);height:1px;background:var(--tr-line)}
.tr-topic--flush{margin-top:0}
.tr-topic--flush::before{display:none}
.tr-topic-side{position:sticky;top:calc(var(--tr-header-h) + var(--tr-adminbar) + 36px)}
.tr-topic-side .tr-qn{color:var(--tr-terra)}
.tr-topic-side h2{font-size:clamp(28px,2.8vw,42px);margin:14px 0 0}
.tr-topic-side .tr-eyebrow{display:block;margin-top:18px}
.tr-topic-body p{font-size:15px;line-height:1.78;color:rgba(63,73,56,.86);margin:0 0 16px;max-width:700px}
.tr-topic-body p.tr-lead{margin-bottom:20px}
.tr-topic-body h3{font-size:clamp(22px,1.9vw,28px);margin:0 0 16px}
.tr-topic-body .tr-link{margin-top:14px}
.tr-callout{font-family:var(--tr-display);font-weight:300;font-size:clamp(19px,1.6vw,24px)!important;line-height:1.38!important;color:var(--tr-olive)!important;border-left:2px solid var(--tr-terra);padding:2px 0 2px 22px;margin:26px 0!important;max-width:680px}
.tr-questions-q{font-family:var(--tr-display);font-weight:300;font-size:clamp(20px,1.7vw,25px);line-height:1.35;color:var(--tr-olive);margin:0 0 10px!important}
.tr-questions-q strong{font-weight:400;color:var(--tr-terra)}

/* Ruled index list (numbered) */
.tr-index{list-style:none;padding:0;margin:24px 0 30px;display:grid;grid-template-columns:repeat(var(--cols,2),1fr);column-gap:clamp(20px,2.4vw,36px);counter-reset:ix;border-bottom:1px solid var(--tr-line)}
.tr-index li{counter-increment:ix;display:flex;gap:14px;align-items:baseline;padding:13px 0;border-top:1px solid var(--tr-line);font-family:var(--tr-display);font-weight:300;font-size:16px;line-height:1.35;color:var(--tr-olive);transition:color .3s,padding-left .45s var(--tr-ease)}
.tr-index li::before{content:counter(ix,decimal-leading-zero);flex:none;font-size:10px;font-weight:500;letter-spacing:.16em;color:var(--tr-terra);transform:translateY(-1px)}
.tr-index li:hover{color:var(--tr-terra);padding-left:6px}
.tr-index--marks li::before{content:"";width:6px;height:6px;background:var(--tr-terra);transform:rotate(45deg) translateY(-2px)}
.tr-index--3{--cols:3}
.tr-index--4{--cols:4}

/* Statement list (large lines with marker) */
.tr-statements{list-style:none;padding:0;margin:8px 0 30px}
.tr-statements li{position:relative;padding:18px 0 18px 30px;border-top:1px solid var(--tr-line);font-family:var(--tr-display);font-weight:300;font-size:clamp(18px,1.5vw,22px);line-height:1.38;color:var(--tr-olive)}
.tr-statements li:last-child{border-bottom:1px solid var(--tr-line)}
.tr-statements li::before{content:"";position:absolute;left:2px;top:29px;width:7px;height:7px;background:var(--tr-terra);transform:rotate(45deg)}

/* Pair of panels (e.g. AEO / GEO) */
.tr-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,36px);max-width:1320px;margin:clamp(72px,8vw,112px) auto 0;padding:0 var(--tr-gutter)}
.tr-pair-card{border:1px solid var(--tr-line);padding:clamp(28px,3.4vw,52px);background:var(--tr-ivory-2);position:relative;overflow:hidden;transition:background-color .6s ease}
.tr-pair-card:hover{background:#fff}
.tr-pair-card .tr-big{display:block;font-family:var(--tr-display);font-weight:200;font-size:clamp(64px,7vw,108px);line-height:.85;letter-spacing:-.035em;color:transparent;-webkit-text-stroke:1px var(--tr-sage);margin-bottom:26px;transition:color .8s var(--tr-ease),-webkit-text-stroke-color .8s var(--tr-ease)}
.tr-pair-card:hover .tr-big{color:var(--tr-terra);-webkit-text-stroke-color:var(--tr-terra)}
.tr-pair-card h2{font-size:clamp(26px,2.4vw,36px);margin:10px 0 16px}
.tr-pair-card p{font-size:14.5px;line-height:1.75;color:rgba(63,73,56,.86);margin:0 0 14px}
.tr-pair-card .tr-index{margin-bottom:22px}

/* ---------- Service rows (hub) ---------- */
.tr-svcs{max-width:1320px;margin:clamp(48px,5vw,72px) auto 0;padding:0 var(--tr-gutter);border-bottom:1px solid var(--tr-line)}
.tr-svc{display:grid;grid-template-columns:120px minmax(220px,.9fr) 1.6fr;gap:clamp(24px,4vw,64px);padding:clamp(40px,4.4vw,64px) 0;border-top:1px solid var(--tr-line);align-items:start;scroll-margin-top:calc(var(--tr-header-h) + var(--tr-adminbar) + 16px)}
.tr-svc-mark{display:flex;flex-direction:column;gap:18px}
.tr-svc-mark .tr-qn{color:var(--tr-terra)}
.tr-svc .tr-glyph{width:88px;height:88px;color:var(--tr-sage);transition:color .6s ease,transform 1s var(--tr-ease-out)}
.tr-svc .tr-glyph svg{width:100%;height:100%;overflow:visible}
.tr-svc .tr-glyph svg *{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--tr-ease-out);transition-delay:calc(.2s + var(--k,0)*.06s)}
.tr-svc.is-in .tr-glyph svg *{stroke-dashoffset:0}
.tr-svc:hover .tr-glyph{color:var(--tr-terra);transform:scale(1.06)}
.tr-svc-title h2{font-size:clamp(28px,2.6vw,40px);margin:0 0 14px}
.tr-svc-title h3{font-family:var(--tr-display);font-weight:400;font-size:clamp(16px,1.25vw,19px);line-height:1.4;color:var(--tr-sage);margin:0;letter-spacing:0}
.tr-svc-body p{font-size:15px;line-height:1.78;color:rgba(63,73,56,.86);margin:0 0 15px;max-width:700px}
.tr-svc-body p:first-child{font-family:var(--tr-display);font-weight:300;font-size:clamp(18px,1.45vw,21px);line-height:1.45;color:var(--tr-olive)}
.tr-svc-body .tr-link{margin-top:12px}

/* ---------- Dark flow panels (expanding inset) ---------- */
.tr-expand{padding:clamp(88px,10vw,140px) 0 0}
.tr-expand-media{position:relative;overflow:hidden;color:var(--tr-ivory);clip-path:inset(0 calc((1 - var(--p,1)) * var(--tr-gutter)))}
.tr-expand-media--flow{padding:clamp(88px,9vw,140px) 0}
.tr-expand-bg{position:absolute;inset:-12% 0;will-change:transform}
.tone-olive{background:var(--tr-olive)}
.tone-olive .tr-expand-bg{background:radial-gradient(ellipse 60% 55% at 50% 30%,rgba(216,204,184,.16),transparent 70%),repeating-linear-gradient(45deg,rgba(245,241,232,.035) 0 1px,transparent 1px 56px),repeating-linear-gradient(-45deg,rgba(245,241,232,.035) 0 1px,transparent 1px 56px)}
.tone-olive--alt .tr-expand-bg{background:radial-gradient(ellipse 50% 60% at 85% 20%,rgba(196,122,74,.2),rgba(196,122,74,.08) 40%,transparent 70%),radial-gradient(ellipse 60% 60% at 10% 90%,rgba(122,128,98,.4),transparent 70%),repeating-linear-gradient(90deg,rgba(245,241,232,.04) 0 1px,transparent 1px 96px)}
.tone-photo{background:#1c2219}
.tone-photo .tr-expand-bg{background:none;inset:-10% 0}
.tr-section-photo{position:absolute;left:0;top:50%;width:100%;height:auto;aspect-ratio:1932/814;transform:translateY(-50%);object-fit:cover;display:block;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.tr-section-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(14,26,16,.74) 0%,rgba(20,34,22,.52) 35%,rgba(20,34,22,.56) 65%,rgba(12,22,14,.84) 100%)}
.tr-section-shade::before{content:"";position:absolute;inset:0;background:rgba(22,36,20,.56)}
.tr-section-shade::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,10,.82) 0%,rgba(10,18,10,.35) 18%,transparent 34%,transparent 66%,rgba(10,18,10,.35) 82%,rgba(10,18,10,.82) 100%),linear-gradient(180deg,transparent 45%,rgba(10,18,10,.55) 75%,rgba(8,14,8,.92) 100%)}
.tr-expand .tr-particles-wrap{z-index:1}
.tr-expand .tr-eyebrow{color:var(--tr-stone)}
.tr-flow-in{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 var(--tr-gutter)}
.tr-flow-head{text-align:center;max-width:860px;margin:0 auto}
.tr-flow-head h2{font-size:clamp(34px,3.6vw,52px);margin:14px 0 0}
.tr-flow-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);max-width:1000px;margin:clamp(40px,4vw,56px) auto 0;font-size:15px;line-height:1.75;color:rgba(245,241,232,.82)}
.tr-flow-cols p{margin-bottom:16px}
.tr-flow-cols > div:first-child p:first-child{font-family:var(--tr-display);font-weight:300;font-size:clamp(19px,1.5vw,22px);line-height:1.45;color:var(--tr-ivory)}
.tr-flow-close{text-align:center;max-width:720px;margin:clamp(48px,5vw,72px) auto 0;font-family:var(--tr-display);font-weight:300;font-size:clamp(20px,1.8vw,26px);line-height:1.35;color:var(--tr-ivory)}
.tr-flow-close span{display:block;color:var(--tr-stone);font-size:.78em;margin-bottom:6px}
.tr-grid3{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,5vw,72px);border-top:1px solid rgba(245,241,232,.16)}
.tr-grid3 > div{padding:30px 28px 30px;border-right:1px solid rgba(245,241,232,.16);border-bottom:1px solid rgba(245,241,232,.16)}
.tr-grid3 > div:nth-child(3n){border-right:0}
.tr-grid3 > div:nth-child(3n+1){padding-left:0}
.tr-grid3 h3{font-size:clamp(19px,1.5vw,22px);margin:12px 0 10px;line-height:1.25}
.tr-grid3 p{font-size:13.8px;line-height:1.68;color:rgba(245,241,232,.75)}

/* ---------- Scroll-driven 5-step timeline (dark) ---------- */
.tr-steps{list-style:none;padding:0;margin:clamp(56px,6vw,88px) 0 0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.tr-steps::before,.tr-steps::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(245,241,232,.16)}
.tr-steps::after{background:var(--tr-terra);transform:scaleX(0);transform-origin:left;transition:transform 2.6s var(--tr-ease-out) .4s}
.tr-steps.is-in::after{transform:scaleX(1)}
.tr-step{position:relative;padding:36px 28px 0 0}
.tr-step::before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;background:var(--tr-terra);transform:rotate(45deg) scale(0);transition:transform .6s var(--tr-ease-out)}
.tr-steps.is-in .tr-step::before{transform:rotate(45deg) scale(1)}
.tr-step h3{font-size:clamp(24px,2.2vw,32px);margin:14px 0 14px}
.tr-step p{font-size:13.5px;line-height:1.65;color:rgba(245,241,232,.75)}
.tr-steps.is-scrolly::after{transform:scaleX(var(--sp,0));transition:none}
.tr-steps.is-scrolly .tr-step::before{transition:transform .6s var(--tr-ease-out),box-shadow .6s ease;transform:rotate(45deg) scale(.55)}
.tr-steps.is-scrolly .tr-step.is-on::before{transform:rotate(45deg) scale(1.25);box-shadow:0 0 0 5px rgba(196,122,74,.16),0 0 18px rgba(196,122,74,.55)}
.tr-steps.is-scrolly .tr-step > *{opacity:.32;transform:translateY(16px);transition:opacity .8s var(--tr-ease-out),transform .9s var(--tr-ease-out)}
.tr-steps.is-scrolly .tr-step > :nth-child(2){transition-delay:.06s}
.tr-steps.is-scrolly .tr-step > :nth-child(3){transition-delay:.12s}
.tr-steps.is-scrolly .tr-step.is-on > *{opacity:1;transform:none}
.tr-steps.is-scrolly .tr-step.is-on .tr-qn{color:var(--tr-terra)}
.tr-step::after{content:attr(data-n);position:absolute;right:14%;top:18px;font-family:var(--tr-display);font-weight:200;font-size:clamp(70px,7vw,118px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(245,241,232,.12);pointer-events:none;opacity:0;transform:translateY(24px) scale(.94);transition:opacity 1s var(--tr-ease-out),transform 1.2s var(--tr-ease-out)}
.tr-steps.is-scrolly .tr-step.is-on::after{opacity:1;transform:none}
.tr-comet{position:absolute;top:0;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#F2C9A8;box-shadow:0 0 0 4px rgba(196,122,74,.25),0 0 22px 6px rgba(196,122,74,.55);transform:translateX(var(--cx,0px));opacity:var(--co,0);pointer-events:none;z-index:2;transition:opacity .4s ease}

/* ---------- Step grid (light, e.g. 9-step process) ---------- */
.tr-stepgrid{list-style:none;padding:0;margin:clamp(48px,5vw,72px) auto 0;max-width:1320px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--tr-line);counter-reset:sg}
.tr-stepgrid li{counter-increment:sg;position:relative;padding:clamp(28px,3vw,44px) clamp(22px,2.4vw,36px) clamp(30px,3vw,44px);border-right:1px solid var(--tr-line);border-bottom:1px solid var(--tr-line);overflow:hidden;transition:background-color .5s ease}
.tr-stepgrid li:nth-child(3n){border-right:0}
.tr-stepgrid li:hover{background:var(--tr-ivory-2)}
.tr-stepgrid li::after{content:counter(sg,decimal-leading-zero);position:absolute;right:18px;top:8px;font-family:var(--tr-display);font-weight:200;font-size:clamp(64px,6vw,96px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(63,73,56,.12);transition:-webkit-text-stroke-color .6s ease}
.tr-stepgrid li:hover::after{-webkit-text-stroke-color:rgba(196,122,74,.45)}
.tr-stepgrid .tr-qn{color:var(--tr-terra)}
.tr-stepgrid h3{font-size:clamp(22px,1.9vw,28px);margin:12px 0 12px;position:relative}
.tr-stepgrid p{font-size:14px;line-height:1.7;color:rgba(63,73,56,.84);position:relative;max-width:360px}

/* ---------- Photo banner ---------- */
.tr-banner{padding:clamp(88px,10vw,140px) var(--tr-gutter) 0}
.tr-banner-in{position:relative;min-height:clamp(480px,46vw,640px);background:var(--tr-olive);color:var(--tr-ivory);overflow:hidden;display:flex;align-items:flex-end}
.tr-banner-bg{position:absolute;inset:-12% 0;background:var(--tr-olive)}
.tr-banner-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;display:block}
.tr-banner-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(20,26,18,.94) 0%,rgba(22,28,20,.86) 30%,rgba(24,30,21,.5) 52%,rgba(24,30,21,.12) 72%,transparent 100%),linear-gradient(180deg,transparent 55%,rgba(18,23,16,.55) 100%)}
.tr-banner-content{position:relative;z-index:2;padding:clamp(28px,3.4vw,52px);max-width:760px}
.tr-banner-content p:not(.tr-eyebrow){font-size:15px;line-height:1.75;color:rgba(245,241,232,.84);margin-bottom:14px;max-width:620px}
.tr-banner .tr-eyebrow{color:var(--tr-ivory)}
.tr-banner h2{font-size:clamp(30px,3.2vw,46px);margin:12px 0 24px}
.tr-banner .tr-link{margin-top:14px}

/* ---------- FAQ ---------- */
.tr-faqs{display:grid;grid-template-columns:minmax(260px,.75fr) 1.5fr;gap:clamp(32px,6vw,110px);padding-left:var(--tr-gutter);padding-right:var(--tr-gutter);max-width:1320px;margin:0 auto;align-items:start}
.tr-faq-side{position:sticky;top:calc(var(--tr-header-h) + var(--tr-adminbar) + 40px)}
.tr-faq-side .tr-tri{color:var(--tr-terra)}
.tr-faq-side h2{font-size:clamp(32px,3.2vw,46px);margin:14px 0 20px}
.tr-faq-side p:not(.tr-eyebrow){font-size:14.5px;line-height:1.7;color:rgba(63,73,56,.85);margin-bottom:28px;max-width:340px}
.tr-faq{border-top:1px solid var(--tr-line)}
.tr-faq:last-child{border-bottom:1px solid var(--tr-line)}
.tr-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;cursor:pointer}
.tr-faq summary::-webkit-details-marker{display:none}
.tr-faq summary h3{font-size:clamp(18px,1.5vw,22px);font-weight:300;line-height:1.3;transition:color .3s}
.tr-faq summary:hover h3{color:var(--tr-terra)}
.tr-plus{position:relative;flex:none;width:14px;height:14px}
.tr-plus::before,.tr-plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .5s var(--tr-ease)}
.tr-plus::after{transform:rotate(90deg)}
.tr-faq[open] .tr-plus::after{transform:rotate(0)}
.tr-faq[open] .tr-plus::before{transform:rotate(180deg)}
.tr-faq-a{overflow:hidden}
.tr-faq-a p{padding:0 56px 28px 0;font-size:14.5px;line-height:1.75;color:rgba(63,73,56,.85)}

/* ---------- Final CTA ---------- */
.tr-final .tr-expand-media{padding:clamp(96px,10vw,150px) 0}
.tr-final-in{text-align:center;max-width:860px}
.tr-final h2{font-size:clamp(40px,5vw,72px);margin:14px 0 26px}
.tr-final-lead{font-family:var(--tr-display);font-weight:300;font-size:clamp(19px,1.6vw,23px);line-height:1.45;color:var(--tr-ivory);max-width:680px;margin:0 auto 16px!important}
.tr-final-in p{font-size:15px;line-height:1.7;color:rgba(245,241,232,.8);max-width:620px;margin:0 auto 36px}
.tr-final-in .tr-btn{margin-bottom:30px}
.tr-final-email{display:inline-block;font-family:var(--tr-display);font-weight:300;font-size:clamp(20px,1.8vw,26px);border-bottom:1px solid rgba(245,241,232,.35);padding-bottom:4px;transition:color .3s,border-color .3s}
.tr-final-email:hover{color:var(--tr-terra);border-color:var(--tr-terra)}
.tr-final-note{font-size:13.5px!important;margin-bottom:12px!important}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .tr-steps{grid-template-columns:1fr;gap:0;padding-left:28px}
  .tr-steps::before,.tr-steps::after{top:0;bottom:0;left:0;right:auto;width:1px;height:auto}
  .tr-steps::after{transform:scaleY(0);transform-origin:top}
  .tr-steps.is-in::after{transform:scaleY(1)}
  .tr-steps.is-scrolly::after{transform:scaleY(var(--sp,0))}
  .tr-step{padding:0 0 36px}
  .tr-step::before{left:-32px;top:6px}
  .tr-step::after{right:0;top:0;font-size:64px}
  .tr-comet{left:0;transform:translateY(var(--cy,0px))}
  .tr-svc{grid-template-columns:90px 1fr}
  .tr-svc-body{grid-column:2}
  .tr-index--4{--cols:2}
}
@media (max-width:900px){
  .tr-topic,.tr-faqs{grid-template-columns:1fr}
  .tr-topic-side,.tr-faq-side{position:static}
  .tr-pair{grid-template-columns:1fr}
  .tr-flow-cols{grid-template-columns:1fr}
  .tr-grid3{grid-template-columns:1fr 1fr}
  .tr-grid3 > div{padding-left:0!important;padding-right:20px;border-right:0}
  .tr-stepgrid{grid-template-columns:1fr 1fr}
  .tr-stepgrid li{border-right:0}
  .tr-stepgrid li:nth-child(odd){border-right:1px solid var(--tr-line)}
  .tr-index--3{--cols:2}
}
@media (max-width:600px){
  .tr-svc{grid-template-columns:1fr}
  .tr-svc-body{grid-column:auto}
  .tr-svc .tr-glyph{width:64px;height:64px}
  .tr-grid3,.tr-stepgrid{grid-template-columns:1fr}
  .tr-stepgrid li{border-right:0!important}
  .tr-index,.tr-index--3,.tr-index--4{--cols:1}
}
@media (prefers-reduced-motion:reduce){.tr-steps.is-scrolly .tr-step > *{opacity:1!important;transform:none!important}.tr-comet{display:none}}
