/* ============================================================
   D&J Tech Solutions — guide site
   era-residence-inspired: cream / palm green / ink,
   didone serif + script accents + drafting linework
   ============================================================ */

:root{
  --cream:#F0EFEA;
  --cream-2:#E7E5DE;
  --ink:#1C1E1D;
  --green:#232624;
  --green-deep:#191C1B;
  --gold:#CBBC98;
  --sage:#8E9587;
  --line:rgba(28,30,29,.35);
  --line-soft:rgba(28,30,29,.16);
  --serif:"Prata", Didot, "Times New Roman", serif;
  --script:"Great Vibes", cursive;
  --sans:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --mono:"IBM Plex Mono", "SF Mono", Menlo, monospace;
  --rail-w:72px;
  --pad-x:clamp(24px, 7vw, 110px);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
em{font-style:normal}

/* ---------- shared atoms ---------- */
.microlabel{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:500;opacity:.8;
}
.mono{
  font-family:var(--mono);font-size:11px;letter-spacing:.04em;
  font-weight:400;opacity:.85;
}
.lede{font-size:clamp(17px,1.5vw,20px);line-height:1.7}
.section-pad{padding:clamp(60px,8vh,104px) var(--pad-x)}

.sec-head{
  display:flex;align-items:baseline;gap:18px;
  margin-bottom:clamp(32px,4.5vh,56px);
}
.sec-num{
  font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:500;
  line-height:1;
}
.sec-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.sec-line{flex:1;height:1px;background:var(--line-soft);position:relative;top:-4px}
.sec-line::after{
  content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;
  border:1px solid var(--line);transform:rotate(45deg);
}

/* reveal animations */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
.reveal.is-in{opacity:1;transform:none}
.reveal-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.reveal-line em{display:block;transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.65,.2,1)}
.reveal-line.is-in em{transform:none}
.reveal-line:nth-child(2) em{transition-delay:.08s}
.reveal-line:nth-child(3) em{transition-delay:.16s}

/* buttons */
.btn-line{
  display:inline-flex;align-items:center;gap:14px;margin-top:34px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  border-bottom:1px solid var(--line);padding-bottom:8px;
}
.btn-line svg{width:30px;height:10px;transition:transform .4s}
.btn-line:hover svg{transform:translateX(6px)}
.btn-solid{
  display:inline-block;margin-top:30px;padding:20px 44px;
  background:var(--green);color:var(--cream);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  border-radius:999px;transition:background .35s,transform .35s;
}
.btn-solid:hover{background:var(--green-deep);transform:translateY(-2px)}

/* ---------- fixed chrome ---------- */
.chrome{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px var(--pad-x);
  mix-blend-mode:normal;color:var(--cream);
  transition:color .5s;
  pointer-events:none;
}
.chrome.on-light{color:var(--ink)}
.chrome a,.chrome__brand{pointer-events:auto}
.chrome__brand{display:flex;align-items:center;gap:12px}
.chrome__mark{width:38px;height:38px;display:block}
.chrome__mark svg{width:100%;height:100%}
.chrome__name{
  font-family:var(--serif);font-size:15px;letter-spacing:.06em;font-weight:500;
}
.chrome__nav{display:flex;gap:30px;align-items:center}
.chrome__nav a{
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  opacity:.9;transition:opacity .3s;
}
.chrome__nav a:hover{opacity:1}
.chrome__cta{
  border:1px solid currentColor;border-radius:999px;padding:10px 20px;
}

/* ---------- scroll rail ---------- */
.rail{
  position:fixed;left:26px;top:50%;transform:translateY(-50%);z-index:40;
  height:min(52vh,420px);display:flex;gap:10px;align-items:stretch;
  color:var(--ink);transition:color .5s;
}
.rail.on-dark{color:var(--cream)}
.rail__line{width:1px;background:currentColor;opacity:.25;position:relative}
.rail__fill{position:absolute;top:0;left:0;width:100%;background:var(--gold);opacity:1;height:0%}
.rail__stops{list-style:none;display:flex;flex-direction:column;justify-content:space-between}
.rail__stops li{display:flex;align-items:center;gap:8px;cursor:pointer}
.rail__stops i{
  width:5px;height:5px;border:1px solid currentColor;transform:rotate(45deg);
  display:block;transition:background .3s;
}
.rail__stops li.is-active i{background:var(--gold);border-color:var(--gold)}
.rail__stops span{
  font-size:9px;letter-spacing:.18em;opacity:0;transform:translateX(-4px);
  transition:opacity .3s,transform .3s;
}
.rail__stops li.is-active span,.rail__stops li:hover span{opacity:.85;transform:none}
@media(max-width:900px){.rail{display:none}}

/* ---------- hero ---------- */
.hero{
  position:relative;height:100vh;min-height:600px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  overflow:hidden;color:var(--cream);text-align:center;
}
.hero__media{position:absolute;inset:-8% 0}
.hero__media img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.55) translate(9%,-16%);
}
.hero__scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(17,19,18,.22) 0%,rgba(17,19,18,.06) 38%,rgba(17,19,18,.04) 60%,rgba(17,19,18,.42) 100%);
}
.hero__top{
  position:absolute;top:86px;left:var(--pad-x);right:var(--pad-x);
  display:flex;justify-content:space-between;
}
.hero__title{position:relative;z-index:2;margin-top:-4vh}
.hero__line{display:block}
.hero__line--serif{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(40px,8.6vw,120px);
  line-height:.98;letter-spacing:.015em;text-transform:uppercase;
}
.hero__line--script{
  font-family:var(--script);font-weight:400;
  font-size:clamp(44px,6.5vw,96px);
  line-height:.9;margin-top:clamp(6px,1.5vh,18px);
  color:var(--cream);text-transform:none;
  transform:rotate(-3deg);
}
.hero__sub{
  margin-top:clamp(22px,4vh,42px);
  font-size:clamp(14px,1.3vw,17px);line-height:1.75;opacity:.95;
}
.hero__kicker{
  margin-top:26px;display:flex;align-items:center;justify-content:center;gap:20px;
  font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;
}
.hero__rule{display:block;width:64px;height:1px;background:currentColor;opacity:.7}
.hero__status{
  position:absolute;bottom:34px;left:var(--pad-x);right:var(--pad-x);
  display:flex;justify-content:space-between;z-index:2;
}
.hero__scroll{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;z-index:2;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;
}
.hero__scroll svg{width:12px;height:44px;animation:drop 2.2s ease-in-out infinite}
@keyframes drop{0%,100%{transform:translateY(0);opacity:.9}55%{transform:translateY(8px);opacity:.5}}

/* hero title entrance */
.hero__line,.hero__sub,.hero__kicker{opacity:0;transform:translateY(28px)}
body.is-loaded .hero__line,body.is-loaded .hero__sub,body.is-loaded .hero__kicker{
  opacity:1;transform:none;
  transition:opacity 1.1s cubic-bezier(.2,.6,.2,1),transform 1.1s cubic-bezier(.2,.6,.2,1);
}
body.is-loaded .hero__line:nth-child(1){transition-delay:.15s}
body.is-loaded .hero__line:nth-child(2){transition-delay:.3s}
body.is-loaded .hero__line:nth-child(3){transition-delay:.5s}
body.is-loaded .hero__sub{transition-delay:.7s}
body.is-loaded .hero__kicker{transition-delay:.85s}

/* ---------- premise ---------- */
.premise{padding-top:clamp(76px,10vh,130px)}
.premise__title{
  font-family:var(--serif);font-weight:500;text-transform:uppercase;
  font-size:clamp(34px,5.4vw,76px);line-height:1.04;letter-spacing:.01em;
  max-width:20ch;
}
.premise__title-script{line-height:1.3}
.premise__title-script em{
  font-family:var(--script);text-transform:none;
  font-size:clamp(34px,4.6vw,64px);color:var(--sage);
  padding-left:.8em;
}
.premise__grid{
  margin-top:clamp(38px,5vh,64px);
  display:grid;grid-template-columns:1fr;
  gap:clamp(28px,4vw,64px);align-items:center;
}
.premise__copy{max-width:62ch}
.premise__img{position:relative}
.premise__img img{width:100%;height:auto}
.premise__img figcaption{margin-top:12px;display:block}
.premise__img--tall{margin-top:40px}
.arch img{border-radius:999px 999px 0 0}
.premise__copy p+p{margin-top:1.4em}
.premise__copy .lede em{font-family:var(--serif);font-style:italic}

/* ---------- numbers (brand green) ---------- */
.theme-brand{background:var(--green);color:var(--cream)}
.theme-brand .sec-line{background:rgba(240,239,234,.18)}
.theme-brand .sec-line::after{border-color:rgba(240,239,234,.5)}
.numbers__title{
  font-family:var(--serif);font-weight:500;text-transform:uppercase;
  font-size:clamp(30px,4.4vw,60px);line-height:1.06;
  max-width:22ch;margin-bottom:clamp(36px,5vh,60px);
}
.numbers__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.6vw,40px);
}
.pricecard{
  position:relative;padding:clamp(28px,3vw,48px);
  border:1px solid rgba(240,239,234,.16);
  display:flex;flex-direction:column;min-height:290px;
}
.pricecard__corners::before,.pricecard__corners::after,
.pricecard__corners{position:absolute;pointer-events:none}
.pricecard__corners{inset:0}
.pricecard__corners::before{
  content:"";top:-1px;left:-1px;width:22px;height:22px;
  border-top:2px solid var(--gold);border-left:2px solid var(--gold);
}
.pricecard__corners::after{
  content:"";bottom:-1px;right:-1px;width:22px;height:22px;
  border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);
}
.pricecard__price{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(44px,4.6vw,68px);line-height:1;margin-top:26px;
}
.pricecard__unit{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.7;margin-top:8px;
}
.pricecard__desc{margin-top:22px;font-size:14.5px;line-height:1.7;opacity:.92;flex:1}
.pricecard__more{
  margin-top:26px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  opacity:.65;transition:opacity .3s;
}
.pricecard__more:hover{opacity:1}
.numbers__combined{
  margin-top:clamp(30px,4vh,48px);text-align:center;
  font-size:clamp(16px,1.5vw,20px);
}
.numbers__combined strong{font-family:var(--serif);font-size:1.35em;font-weight:500;color:var(--gold)}

/* ---------- photo bands ---------- */
.band{
  position:relative;height:62vh;min-height:400px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:var(--cream);
}
.band--short{height:50vh}
.band__media{position:absolute;inset:-10% 0}
.band__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.band::after{content:"";position:absolute;inset:0;background:rgba(17,19,18,.32)}
.band__caption{position:relative;z-index:2;display:flex;flex-direction:column;gap:18px;align-items:center}
.band__script{
  font-family:var(--script);font-weight:400;
  font-size:clamp(36px,5.2vw,72px);line-height:1;
}
.band__meta{opacity:.75}

/* ---------- build ---------- */
.build__grid{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(40px,6vw,100px);align-items:start;
}
.build__title,.care__title{
  font-family:var(--serif);font-weight:500;text-transform:uppercase;
  font-size:clamp(32px,4.6vw,64px);line-height:1.05;margin-bottom:30px;
}
.speclist{list-style:none;margin-top:clamp(30px,4vh,48px)}
.speclist li{
  display:grid;grid-template-columns:120px 1fr;gap:18px;
  padding:20px 0;border-top:1px solid var(--line-soft);
  font-size:15px;line-height:1.65;
}
.speclist li:last-child{border-bottom:1px solid var(--line-soft)}
.speclist__key{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  padding-top:4px;
}
.build__schematic{position:sticky;top:12vh;}
.schematic{width:100%;height:auto;color:var(--ink)}
.schematic path,.schematic circle{
  stroke:currentColor;stroke-width:1.3;
}
.schematic .dim{opacity:.45;stroke-width:1}
.schematic__note{
  position:absolute;color:var(--ink);
  background:var(--cream);padding:3px 8px;border:1px solid var(--line-soft);
}
.schematic__note--a{top:34%;right:-2%}
.schematic__note--b{top:80%;left:6%}
.schematic__note--c{bottom:-4%;right:4%;opacity:.6}
.theme-dark .schematic{color:var(--cream)}

/* ---------- care ---------- */
.care{background:var(--cream-2)}
.care__grid{
  display:grid;grid-template-columns:.9fr 1.1fr;
  gap:clamp(40px,6vw,110px);align-items:start;
}
.care__terminal{position:sticky;top:14vh}
.care__terminal figcaption{margin-top:14px}
.term{
  background:#141715;color:#DBDAD2;
  border:1px solid rgba(28,30,29,.25);
  box-shadow:0 30px 60px -30px rgba(20,22,21,.45);
}
.term__bar{
  display:flex;align-items:center;gap:7px;
  padding:13px 16px;border-bottom:1px solid rgba(240,239,234,.1);
}
.term__bar i{
  width:10px;height:10px;border-radius:50%;
  border:1px solid rgba(240,239,234,.45);
}
.term__title{margin-left:10px;opacity:.6}
.term__body{padding:26px 26px 30px;font-size:12.5px;line-height:2.15}
.term__line{
  opacity:0;transform:translateY(6px);
  transition:opacity .5s ease,transform .5s ease;
}
.care__terminal.is-in .term__line{opacity:1;transform:none}
.care__terminal.is-in .term__line:nth-child(1){transition-delay:.1s}
.care__terminal.is-in .term__line:nth-child(2){transition-delay:.35s}
.care__terminal.is-in .term__line:nth-child(3){transition-delay:.6s}
.care__terminal.is-in .term__line:nth-child(4){transition-delay:.85s}
.care__terminal.is-in .term__line:nth-child(5){transition-delay:1.1s}
.care__terminal.is-in .term__line:nth-child(6){transition-delay:1.35s}
.care__terminal.is-in .term__line:nth-child(7){transition-delay:1.6s}
.care__terminal.is-in .term__line:nth-child(8){transition-delay:1.95s}
.care__terminal.is-in .term__line:nth-child(9){transition-delay:2.3s}
.term__dim{color:rgba(219,218,210,.5)}
.term__ok{color:#9FAF9C}
.term__gold{color:var(--gold)}
.term__cursor{animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.care__split{
  margin-top:34px;padding:26px 30px;border-left:2px solid var(--gold);
  background:rgba(203,188,152,.1);font-size:15px;
}
.care__ads{margin-top:44px;padding-top:30px;border-top:1px solid var(--line-soft)}
.care__ads p{margin-top:12px;font-size:15px;max-width:52ch}

/* ---------- journey ---------- */
.journey{background:var(--cream);text-align:center;height:230vh;position:relative}
.journey__pin{
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  padding:0 var(--pad-x);
}
.journey__title{
  font-family:var(--serif);font-weight:500;text-transform:uppercase;
  font-size:clamp(34px,4.8vw,68px);line-height:1.04;
}
.journey__script{display:block;position:relative;z-index:2;margin:-.35em 0}
.journey__script em{
  font-family:var(--script);text-transform:none;color:var(--gold);
  font-size:clamp(44px,5.6vw,84px);display:inline-block;transform:rotate(-5deg);
}
.journey__map{margin-top:clamp(28px,4vh,52px);overflow-x:auto}
.journey__svg{min-width:900px;width:100%;height:auto;color:var(--ink)}
.journey__svg .route{stroke-width:2.2;stroke-linecap:round}
.jdot{fill:currentColor;stroke:none}
.jname{
  font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.14em;
  fill:currentColor;
}
.jtime{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  fill:currentColor;opacity:.65;
}

/* ---------- ownership (dark) ---------- */
.theme-dark{background:var(--green-deep);color:var(--cream)}
.theme-dark .sec-line{background:rgba(240,239,234,.16)}
.theme-dark .sec-line::after{border-color:rgba(240,239,234,.5)}
.own__title{
  font-family:var(--serif);font-weight:500;text-transform:uppercase;
  font-size:clamp(34px,5vw,70px);line-height:1.05;margin-bottom:clamp(36px,5vh,60px);
}
.own__title-script{line-height:1.3}
.own__title-script em{
  font-family:var(--script);text-transform:none;color:var(--gold);
  font-size:clamp(34px,4.2vw,58px);padding-left:.6em;
}
.own__grid{
  display:grid;grid-template-columns:.95fr 1.05fr;
  gap:clamp(40px,6vw,110px);align-items:start;
}
.own__tree{
  position:sticky;top:12vh;
  display:flex;flex-direction:column;align-items:center;
  --tree-line:rgba(240,239,234,.3);
}
.tree__you{
  width:118px;height:118px;border-radius:50%;
  border:1px solid rgba(240,239,234,.6);
  display:flex;align-items:center;justify-content:center;
}
.tree__you span{
  font-family:var(--script);font-size:clamp(30px,2.8vw,42px);color:var(--gold);
  transform:translateY(-4px);
}
.tree__trunk{width:1px;height:44px;background:var(--tree-line)}
.own__tree{--tg:clamp(48px,6vw,90px)}
.tree__grid{
  position:relative;width:100%;
  display:grid;grid-template-columns:1fr 1fr;
  gap:26px var(--tg);
  padding-top:26px;
}
/* distributor line between column centers + center drop from trunk */
.tree__grid::before{
  content:"";position:absolute;top:0;
  left:calc(25% - var(--tg)/4);right:calc(25% - var(--tg)/4);
  border-top:1px solid var(--tree-line);
}
.tree__grid::after{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;
  background:var(--tree-line);
}
.tree__box{
  position:relative;
  border:1px solid rgba(240,239,234,.45);
  padding:18px 14px 16px;text-align:center;
  display:flex;flex-direction:column;gap:7px;align-items:center;
  background:var(--green-deep);
}
.tree__box .microlabel{opacity:1;white-space:nowrap}
.tree__role{opacity:.55;font-size:10px}
/* vertical stubs above every box */
.tree__grid .tree__box::before{
  content:"";position:absolute;top:-27px;left:50%;width:1px;height:26px;
  background:var(--tree-line);
}
.tree__box--wide{
  margin-top:26px;min-width:56%;position:relative;
}
.tree__box--wide::before{
  content:"";position:absolute;top:-27px;left:50%;width:1px;height:26px;
  background:var(--tree-line);
}
.tree__caption{margin-top:26px;opacity:.6}
.own__copy .lede{margin-bottom:1.4em}
.own__copy p+p{margin-top:1.4em}
.own__quote{
  margin-top:44px;padding:34px 38px;border:1px solid rgba(240,239,234,.2);position:relative;
}
.own__quote::before{
  content:"”";position:absolute;top:-30px;left:24px;
  font-family:var(--serif);font-size:84px;color:var(--gold);line-height:1;
}
.own__quote p{font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.6vw,21px);line-height:1.6}

/* ---------- summary ---------- */
.summary{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,110px);align-items:center}
.summary .sec-head{grid-column:1/-1}
.summary__sheet{position:relative;padding:clamp(30px,3.6vw,56px);border:1px solid var(--line-soft);background:#F6F4EC}
.summary__list{list-style:none}
.summary__list li{
  display:flex;align-items:baseline;gap:14px;padding:16px 0;font-size:15px;
}
.summary__list .dots{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-4px)}
.summary__price{font-family:var(--serif);font-size:19px;font-weight:500;white-space:nowrap}
.summary__total{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:22px !important}
.summary__total .summary__price{color:var(--green);font-size:24px}
.summary__notes{list-style:none;margin-top:30px;padding-top:24px;border-top:1px solid var(--line-soft)}
.summary__notes li{
  font-size:13.5px;padding:6px 0 6px 22px;position:relative;opacity:.85;
}
.summary__notes li::before{
  content:"";position:absolute;left:2px;top:14px;width:6px;height:6px;
  border:1px solid var(--gold);transform:rotate(45deg);
}
.summary__title{
  font-family:var(--serif);font-weight:500;text-transform:uppercase;
  font-size:clamp(36px,5vw,72px);line-height:1.02;
}
.summary__title-script{line-height:1.3}
.summary__title-script em{
  font-family:var(--script);text-transform:none;color:var(--sage);
  font-size:clamp(40px,5vw,72px);padding-left:.4em;
}
.summary__cta p{margin-top:22px;max-width:44ch}

/* ---------- footer ---------- */
.footer{background:var(--cream);border-top:1px solid var(--line-soft);padding:34px var(--pad-x)}
.footer__row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer__mark{width:30px;height:30px;color:var(--ink)}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .premise__grid{grid-template-columns:1fr}
  .premise__img--tall{margin-top:0;max-width:400px}
  .build__grid,.care__grid,.own__grid,.summary{grid-template-columns:1fr}
  .build__schematic,.care__terminal,.own__tree{position:static;max-width:560px;margin:0 auto}
  .numbers__grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .pricecard{min-height:0}
}
@media(max-width:700px){
  .chrome__nav a:not(.chrome__cta){display:none}
  .tree__box .microlabel{white-space:normal;font-size:9px;letter-spacing:.14em}
  .hero__status{display:none}
  .premise__grid{grid-template-columns:1fr}
  .premise__img{max-width:340px}
  .hero__top{top:76px}
  .speclist li{grid-template-columns:1fr;gap:6px}
}

@media(max-width:700px){
  .journey{height:auto}
  .journey__pin{position:static;height:auto;padding:70px var(--pad-x)}
}

/* test harness (?flat=1): fixed pixel heights for full-page capture */
.flat .journey{height:auto}
.flat .journey__pin{position:static;height:auto;padding:110px var(--pad-x)}
.flat .hero{height:880px;min-height:0}
.flat .band{height:460px;min-height:0}
.flat .band--short{height:380px}
.flat .section-pad{padding-top:90px;padding-bottom:90px}
.flat .build__schematic,.flat .care__terminal,.flat .own__tree{position:relative;top:0}
.flat .hero__line,.flat .hero__sub,.flat .hero__kicker{opacity:1;transform:none}
.flat .hero__title{margin-top:-40px}
.flat .premise__img--tall{margin-top:140px}
.flat .hero__top{top:86px}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-line em,.hero__line,.hero__sub,.hero__kicker{opacity:1 !important;transform:none !important;transition:none !important}
  .s-draw{stroke-dashoffset:0 !important;stroke-dasharray:none !important}
  [data-parallax]{transform:none !important}
}


/* ---------- staff sign-in ----------
   Discreet on purpose: this is for us, not for customers. It leads to the
   Access-gated quote builder, so a curious visitor gets a login, not our tools. */
.chrome__team{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  opacity:.55;border-bottom:1px solid transparent;padding-bottom:3px;
  transition:opacity .25s ease,border-color .25s ease;
}
.chrome__team:hover,.chrome__team:focus-visible{opacity:1;border-bottom-color:var(--gold);}


/* ---------- the pact: agent-driven, human-confirmed ----------
   The single clearest statement of what a client is buying. Set apart from the
   spec list on purpose — this is the paragraph people quote back to us. */
.pact{
  margin-top:34px;padding:26px 28px;
  border:1px solid var(--line-soft);border-left:2px solid var(--gold);
  background:rgba(203,188,152,.07);
  display:flex;flex-direction:column;gap:13px;
}
.pact__label{color:var(--ink);opacity:.75}
.pact__lead{
  font-family:var(--serif);font-size:clamp(20px,2.1vw,26px);line-height:1.28;
  letter-spacing:-.01em;
}
.pact p{font-size:15.5px;line-height:1.7}
.pact__close{border-top:1px solid var(--line-soft);padding-top:13px;margin-top:2px}
