/* ============================================================================
   NEST REALTY ADVISORS — shared stylesheet
   ----------------------------------------------------------------------------
   One file for every page. Edit here once.

   PALETTE. The five Benjamin Moore colors on the brand sheet, at the hex
   values printed on it. These are the paints the office is finished in, so
   the screen and the wall are the same numbers:

     Hunter Green    2041-10   #2F4A2F   dark surfaces, headings, the mark
     Louisburg Green HC-113    #9C9E87   soft green, ornament, the leaf
     Simply White    OC-117    #F7F5EE   page ground
     Manchester Tan  HC-81     #DBD2BC   warm neutral ground, accents on dark
     Branchport Tan  HC-72     #60514A   small type, captions, footer

   The nest in the mark is its own gold, sampled from the logo artwork
   (#AC8E66). It is artwork, not a UI color: it appears in the logo files and
   nowhere else, so nothing on the page competes with the mark.

   TYPE, matching the brand sheet's three roles:
     NEST            Libre Baskerville   (serif; the sheet's Bakersfield / Libre Baskerville)
     REALTY ADVISORS Jost                (geometric sans; the sheet's Euphamia / Century Gothic)
     tagline         Pinyon Script       (the sheet's Zapfino / Snell Roundhand)
   All three are open-license and served from this domain. See fonts/LICENSES.txt.
   ========================================================================= */

/* ---------- fonts, served from this origin ---------- */
@font-face{font-family:"Libre Baskerville";src:url(fonts/libre-baskerville-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url(fonts/libre-baskerville-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Baskerville";src:url(fonts/libre-baskerville-400i.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Jost;src:url(fonts/jost-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Jost;src:url(fonts/jost-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Pinyon Script";src:url(fonts/pinyon-script-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --hunter:#2F4A2F;         /* 2041-10 */
  --hunter-deep:#233823;    /* derived, for the notice register */
  --hunter-soft:#3A5A3A;    /* derived, for hovers on dark */
  --louisburg:#9C9E87;      /* HC-113 */
  --louisburg-wash:#E9EAE2; /* derived, the pale band */
  --louisburg-ink:#66685A;  /* derived, for small type: 5.2:1 on Simply White */
  --manchester:#DBD2BC;     /* HC-81 */
  --simply:#F7F5EE;         /* OC-117 */
  --branchport:#60514A;     /* HC-72 */
  --nest:#AC8E66;           /* the nest in the mark; logo files only */
  --paper:#FDFCF7;          /* derived, a lift off Simply White for fields and cards */
  --ink:#1C2A1C;            /* derived from Hunter Green */
  --ink-soft:#56624F;

  --rule:rgba(47,74,47,.17);
  --rule-tan:rgba(96,81,74,.38);      /* Branchport hairline on light */
  --rule-rev:rgba(219,210,188,.3);    /* Manchester hairline on dark */

  --serif:"Libre Baskerville",Baskerville,"Times New Roman",serif;
  --sans:Jost,"Century Gothic",Futura,"Helvetica Neue",Arial,sans-serif;
  --script:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;

  --measure:33rem;
  --gutter:clamp(1.35rem,5vw,4.5rem);
  --bandpad:clamp(3.75rem,9vw,7.5rem);
  --shell:62rem;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.25rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{margin:0;background:var(--simply);color:var(--ink);font-family:var(--serif);
  font-weight:400;font-size:clamp(1rem,.35vw + .9rem,1.0625rem);line-height:1.78;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"kern" 1,"liga" 1,"onum" 1,"calt" 1}

img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
::selection{background:var(--manchester);color:var(--hunter-deep)}
:focus-visible{outline:2px solid var(--branchport);outline-offset:3px;border-radius:1px}
.band--dark :focus-visible,.band--deep :focus-visible,.hero :focus-visible,.bar :focus-visible,.status :focus-visible,.strip :focus-visible{outline-color:var(--manchester)}

.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:60;background:var(--simply);
  color:var(--hunter);padding:.7rem 1rem;font-family:var(--sans);font-size:.8rem}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- layout ---------- */
.wrap{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--wide{max-width:74rem}
.band{padding-block:var(--bandpad);position:relative}
.band--tight{padding-block:clamp(2.75rem,6vw,4.5rem)}
.band--wash{background:var(--louisburg-wash)}
.band--sand{background:var(--manchester)}
.band--dark{background:var(--hunter);color:var(--simply)}
.band--deep{background:var(--hunter-deep);color:var(--simply)}
.band>*{position:relative;z-index:1}

/* paper grain — one noise tile, multiplied at low strength */
.band::before,.foot::before{content:"";position:absolute;inset:0;pointer-events:none;
  opacity:.5;mix-blend-mode:multiply;background-repeat:repeat;background-size:170px 170px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='170' height='170' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.band--dark::before,.band--deep::before{opacity:.34;mix-blend-mode:overlay}

/* ---------- type ---------- */
h1,h2,h3,h4{font-feature-settings:"kern" 1,"liga" 1,"lnum" 1}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.9vw,2.35rem);
  line-height:1.22;letter-spacing:-.004em;margin:0 0 1.35rem;max-width:29rem;
  text-wrap:balance}
h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2vw,1.55rem);
  line-height:1.3;margin:0 0 .9rem;text-wrap:balance}
h4{font-family:var(--serif);font-weight:400;font-size:1.24rem;line-height:1.3;
  margin:0;color:var(--hunter)}
.band--dark h3,.band--deep h3,.band--dark h4,.band--deep h4{color:var(--simply)}
p{max-width:var(--measure)}
.lede{max-width:var(--measure);font-size:1.22em;line-height:1.6;font-weight:400;
  text-wrap:balance}
.head{max-width:var(--measure)}
.note{font-family:var(--sans);font-size:.775rem;line-height:1.65;color:var(--branchport);
  max-width:44rem;margin-top:2.25rem}
.band--dark .note,.band--deep .note{color:var(--manchester)}
cite{display:block;font-family:var(--sans);font-style:normal;font-size:.7rem;
  letter-spacing:.05em;color:var(--branchport);margin-top:.7rem}
.dropcap::first-letter{float:left;font-family:var(--serif);font-weight:400;
  font-size:3.9em;line-height:.76;margin:.02em .11em 0 0;color:var(--hunter);
  font-feature-settings:"lnum" 1}
.pull{margin:2.5rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--rule);
  max-width:var(--measure)}
.pull p{margin:0;font-size:1.15em;line-height:1.6;font-style:italic;font-weight:400;
  color:var(--hunter)}
blockquote.pull{margin-left:0;margin-right:0}

/* ---------- the building, photographed ----------
   One photograph of 2610 Walbert, used on Contact and For agents. The frame
   holds its shape before the file arrives, so nothing below it jumps. */
.place{margin:clamp(2rem,5vw,3rem) 0 0}
.place img{display:block;width:100%;height:auto;aspect-ratio:1800/784;object-fit:cover;
  background:var(--louisburg-wash)}
.place figcaption{font-family:var(--sans);font-size:.82rem;line-height:1.5;
  color:var(--ink-soft);margin-top:.8rem;max-width:var(--measure);text-wrap:pretty}
.band--dark .place img,.band--deep .place img{background:var(--hunter-deep)}
.band--dark .place figcaption,.band--deep .place figcaption{color:var(--manchester)}
.tnum{font-feature-settings:"kern" 1,"tnum" 1}

/* ---------- the logo slot ----------
   Two files, swapped in place. Everything on every page points here, so
   replacing them changes the mark site-wide. See brand-logo/README.txt. */
.logo{display:block}
.logo img{width:100%;height:auto}

/* ---------- ornament ---------- */
.orn{display:flex;align-items:center;justify-content:center;gap:1rem;
  margin:clamp(3rem,7vw,4.5rem) auto 0;max-width:22rem}
.orn span{flex:1;height:1px;background:var(--rule)}
.orn svg{width:6.4rem;height:auto;flex:0 0 auto;overflow:visible}
.band--dark .orn span,.band--wash .orn span,.band--deep .orn span{background:var(--rule-tan)}

/* ---------- sticky bar ---------- */
.bar{position:fixed;inset:0 0 auto;z-index:50;background:rgba(47,74,47,.97);
  color:var(--simply);border-bottom:1px solid var(--rule-rev);
  transform:translateY(-100%);transition:transform .4s var(--ease);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bar.is-up,.bar.is-pinned{transform:none}
.bar__in{max-width:var(--shell);margin-inline:auto;padding:.55rem var(--gutter);
  display:flex;align-items:center;gap:1.5rem}
.bar__id{display:flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:auto}
.bar__id .logo{width:2.1rem;flex:0 0 auto}
.bar__name{font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;line-height:1.3;color:var(--simply)}
.bar__name span{display:block;color:var(--manchester);letter-spacing:.2em;font-weight:400;font-size:.61rem}
.bar__links{display:flex;align-items:center;gap:1.3rem;font-family:var(--sans);font-size:.775rem}
.bar__links a{text-decoration:none;color:var(--simply);padding-block:.3rem;
  white-space:nowrap;border-bottom:1px solid transparent}
.bar__links a:hover,.bar__links a[aria-current=page]{border-bottom-color:var(--manchester)}
.bar__links a[aria-current=page]{color:var(--manchester)}
.bar__links .cta{border:1px solid var(--manchester);border-radius:2px;padding:.42rem .85rem;
  color:var(--manchester)}
.bar__links .cta:hover{background:var(--manchester);color:var(--hunter-deep)}
.bar__short{display:none}
@media (max-width:52rem){
  .bar__hide{display:none}
  .bar__name{display:none}
  .bar__long{display:none}
  .bar__short{display:inline}
  .bar__in{gap:.85rem}
  .bar__links{gap:.95rem;font-size:.74rem}
}

/* ---------- masthead ---------- */
.hero{background:var(--hunter);color:var(--simply);text-align:center;position:relative;
  overflow:hidden;padding-block:clamp(3rem,8vh,5rem) clamp(3rem,7vh,4.5rem)}
.hero--page{padding-block:clamp(5.5rem,12vh,7rem) clamp(2.75rem,6vh,4rem);text-align:left}
.hero__rings{position:absolute;left:50%;bottom:-56%;width:min(148%,62rem);aspect-ratio:1;
  transform:translateX(-50%);border-radius:50%;border:1px solid rgba(219,210,188,.12);
  pointer-events:none}
.hero__rings::before{content:"";position:absolute;inset:9%;border-radius:50%;
  border:1px solid rgba(219,210,188,.09)}
.hero__in{max-width:40rem;margin-inline:auto;padding-inline:var(--gutter);position:relative}
.hero--page .hero__in{max-width:var(--shell);margin-inline:auto}
.hero__mark{width:clamp(7rem,20vw,10rem);margin:0 auto clamp(1.5rem,3.5vw,2.15rem)}

.wordmark{margin:0;font-family:var(--serif);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.4rem,10vw,4.6rem);line-height:1;letter-spacing:.17em;
  text-indent:.17em;color:var(--simply)}
.wordmark span{display:block;margin-top:1.05rem;font-family:var(--sans);font-weight:400;
  text-transform:uppercase;font-size:clamp(.72rem,2.3vw,.95rem);
  letter-spacing:.34em;text-indent:.34em;color:var(--manchester)}

.rule{display:flex;align-items:center;justify-content:center;gap:.65rem;
  margin:clamp(1.6rem,4vw,2.2rem) 0}
.rule span{width:2.5rem;height:1px;background:var(--manchester)}
.rule svg{width:.38rem;height:.38rem;fill:var(--manchester);flex:0 0 auto}

.hero__tag{max-width:none;margin:0;font-family:var(--script);font-style:normal;
  font-size:clamp(1.9rem,5.5vw,2.55rem);line-height:1.25;font-weight:400;color:var(--simply)}
.hero__where{max-width:none;margin:1.5rem 0 0;font-family:var(--sans);font-size:.775rem;
  line-height:1.9;letter-spacing:.1em;text-transform:uppercase;color:var(--manchester)}
.hero__acts{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;
  margin-top:clamp(1.9rem,4.5vw,2.5rem)}
.hero--page .hero__acts{justify-content:flex-start}
.band .hero__acts{justify-content:flex-start;margin-top:1.75rem}
.hero__acts a{font-family:var(--sans);font-size:.8rem;letter-spacing:.05em;
  text-decoration:none;padding:.75rem 1.4rem;border-radius:2px;
  border:1px solid var(--manchester);
  transition:background .25s var(--ease),color .25s var(--ease)}
.hero__acts a:first-child{background:var(--manchester);color:var(--hunter-deep)}
.hero__acts a:first-child:hover{background:var(--simply);border-color:var(--simply)}
.hero__acts a+a{color:var(--manchester)}
.hero__acts a+a:hover{background:rgba(219,210,188,.14)}
/* The same action row on a LIGHT band. The hero rules paint the second button
   Manchester Tan on transparent, which on Simply White is invisible - the text
   was in the box, you just could not see it. On light bands the first button
   is Hunter Green with light text and the rest are Hunter outlines. */
.band:not(.band--dark):not(.band--deep) .hero__acts a{border-color:var(--hunter);color:var(--hunter)}
.band:not(.band--dark):not(.band--deep) .hero__acts a:first-child{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}
.band:not(.band--dark):not(.band--deep) .hero__acts a:first-child:hover{background:var(--hunter-soft);border-color:var(--hunter-soft);color:var(--simply)}
.band:not(.band--dark):not(.band--deep) .hero__acts a+a{color:var(--hunter)}
.band:not(.band--dark):not(.band--deep) .hero__acts a+a:hover{background:var(--louisburg-wash)}
/* and no entrance fade for action rows that are not in the hero */
.js .band .hero__acts{opacity:1;transform:none;animation:none}

.kicker{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--manchester);margin:0 0 1rem}
.hero--page h1{margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(2.1rem,5.5vw,3.5rem);line-height:1.12;letter-spacing:-.008em;
  max-width:24rem;text-wrap:balance}
.hero--page .lede{color:rgba(247,245,238,.88);margin-top:1.5rem}

/* ---------- birds ----------
   Each bird is its own small absolutely-positioned SVG rather than shapes
   inside one stretched sky. A single full-bleed SVG with
   preserveAspectRatio="none" scales x and y differently, which inflates the
   stroke and turns a bird into a smear — which is exactly what the first
   version did. Fixed viewBox per bird, sized in px, keeps the line weight
   honest at any viewport.

   Two wings rotating about the body, not a morphing path: better supported,
   and at this size a distant bird really is just two moving strokes. */
.sky{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.bird{position:absolute;left:0;opacity:0;will-change:transform,opacity;
  animation-name:cross;animation-timing-function:linear;animation-iteration-count:infinite}
.bird svg{width:100%;height:auto;overflow:visible}
.bird path{fill:none;stroke:var(--manchester);stroke-width:1.3;stroke-linecap:round}
.bird .wingL,.bird .wingR{transform-box:view-box;transform-origin:20px 11px;
  animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.bird .wingL{animation-name:flapL}
.bird .wingR{animation-name:flapR}
@keyframes cross{
  0%   {opacity:0;   transform:translate(-14vw,2vh)}
  9%   {opacity:.62}
  46%  {              transform:translate(46vw,-1vh)}
  84%  {opacity:.44}
  100% {opacity:0;   transform:translate(118vw,-7vh)}
}
@keyframes flapL{0%,100%{transform:rotate(17deg)}50%{transform:rotate(-27deg)}}
@keyframes flapR{0%,100%{transform:rotate(-17deg)}50%{transform:rotate(27deg)}}

/* ---------- buttons & links ---------- */
.btn{font-family:var(--sans);font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;
  background:var(--manchester);color:var(--hunter-deep);border:1px solid var(--manchester);
  border-radius:2px;padding:.8rem 1.6rem;cursor:pointer;text-decoration:none;
  display:inline-block;transition:background .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{background:var(--simply);border-color:var(--simply)}
.btn[disabled]{opacity:.65;cursor:default}
.btn--ghost{background:none;color:var(--hunter);border-color:var(--hunter)}
.btn--ghost:hover{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}
.linkout{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);
  font-size:.78rem;letter-spacing:.04em;text-decoration:none;color:var(--hunter);
  border:1px solid var(--rule-tan);border-radius:2px;padding:.7rem 1.2rem;
  background:var(--paper);transition:background .25s var(--ease),color .25s var(--ease)}
.linkout svg{width:.85em;height:.85em;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.linkout:hover{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}

/* ---------- ledger ---------- */
.ledger{list-style:none;margin:clamp(2.75rem,6vw,4rem) 0 0;padding:0;
  border-top:1px solid var(--rule)}
.ledger>li{padding-block:clamp(1.75rem,3.5vw,2.5rem);border-bottom:1px solid var(--rule)}
.ledger__row{display:grid;gap:1.5rem}
@media (min-width:56rem){
  .ledger__row{grid-template-columns:1fr 1px 18rem;gap:0 3rem;align-items:start}
  .ledger__div{background:var(--rule-tan);align-self:stretch}
}
@media (max-width:55.99rem){.ledger__div{display:none}}
.ledger h3,.ledger h4{font-size:1rem;margin-bottom:.7rem}
.ledger p{margin:0;max-width:30rem;font-size:.985em}
.ledger__cost{font-family:var(--sans);font-size:.8rem;line-height:1.7;color:var(--branchport)}
.ledger__cost b{display:block;font-weight:500;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--hunter);margin-bottom:.5rem}
@media (max-width:55.99rem){
  .ledger__cost{border-left:2px solid var(--rule-tan);padding-left:1.1rem}
}

/* ---------- generic grids ---------- */
.commit{list-style:none;margin:clamp(2.5rem,5.5vw,3.5rem) 0 0;padding:0;
  display:grid;gap:2.25rem 3.5rem}
@media (min-width:48rem){.commit{grid-template-columns:1fr 1fr}}
.commit h3,.commit h4{font-size:1.12rem;margin-bottom:.5rem}
.commit p{margin:0;font-size:.94em;color:var(--ink-soft)}
.band--dark .commit p,.band--deep .commit p{color:rgba(247,245,238,.86)}

.stages{list-style:none;margin:clamp(2.5rem,5.5vw,3.5rem) 0 0;padding:0;
  counter-reset:s;border-top:1px solid var(--rule)}
.stages>li{counter-increment:s;display:grid;gap:.35rem 2rem;
  padding-block:clamp(1.6rem,3vw,2.1rem);border-bottom:1px solid var(--rule)}
@media (min-width:44rem){.stages>li{grid-template-columns:8.5rem 1fr}}
.stages h3::before,.stages h4::before{content:counter(s);font-family:var(--sans);font-size:.72rem;
  color:var(--branchport);margin-right:.75rem;vertical-align:.28em}
.stages p{margin:.45rem 0 0;font-size:.96em}

.services{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.1rem 2.5rem;
  font-size:.99em}
@media (min-width:38rem){.services{grid-template-columns:1fr 1fr}}
.services li{padding-block:.6rem;border-bottom:1px solid var(--rule)}

.offer{list-style:none;margin:clamp(2.25rem,5vw,3rem) 0 0;padding:0;
  display:grid;gap:0 3.25rem;font-size:.96em}
@media (min-width:44rem){.offer{grid-template-columns:1fr 1fr}}
.offer li{padding:.85rem 0 .85rem 1.4rem;border-bottom:1px solid var(--rule-rev);
  position:relative;color:rgba(247,245,238,.92)}
.offer li::before{content:"";position:absolute;left:0;top:1.55em;width:.55rem;height:1px;
  background:var(--manchester)}

.sources{list-style:none;margin:clamp(2.25rem,5vw,3rem) 0 0;padding:0;
  display:grid;gap:1px;background:var(--rule)}
@media (min-width:46rem){.sources{grid-template-columns:1fr 1fr}}
.sources a{display:block;height:100%;background:var(--simply);padding:1.5rem 1.6rem;
  text-decoration:none;transition:background .2s var(--ease)}
.sources a:hover{background:var(--paper)}
.sources__name{display:block;font-size:1.05rem;color:var(--hunter)}
.sources__what{display:block;font-size:.855em;line-height:1.65;color:var(--ink-soft);margin-top:.5rem}
.sources__host{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.09em;
  color:var(--branchport);margin-top:.8rem}

/* ---------- cards ---------- */
.cards{display:grid;gap:1px;background:var(--rule);margin-top:clamp(2.5rem,6vw,3.5rem)}
@media (min-width:46rem){.cards--3{grid-template-columns:repeat(3,1fr)}
                         .cards--2{grid-template-columns:repeat(2,1fr)}}
.card{background:var(--simply);padding:clamp(1.5rem,3vw,2.1rem)}
.card h3,.card h4{font-size:1rem;margin-bottom:.6rem}
.card p{margin:0;font-size:.92em;color:var(--ink-soft)}
.card__n{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--branchport);margin-bottom:.9rem}
.band--dark .card__n,.band--deep .card__n,.card[style*="hunter"] .card__n{color:var(--manchester)}

/* ---------- disclosure strip ---------- */
.strip{background:var(--hunter-deep);color:var(--simply);
  border-block:1px solid rgba(219,210,188,.22)}
.strip__in{display:flex;align-items:baseline;gap:.65rem 1rem;flex-wrap:wrap;
  padding-block:.95rem}
.strip p{margin:0;max-width:none;font-family:var(--sans);font-size:.79rem;
  line-height:1.7;color:rgba(247,245,238,.88)}
.strip a{color:var(--manchester);white-space:nowrap;text-underline-offset:.22em}
.strip a:hover{color:var(--simply)}

/* ---------- status / notice block ---------- */
.status{background:var(--hunter-deep);color:var(--simply);
  padding-block:clamp(2.75rem,6vw,4.25rem)}
.status__grid{display:grid;gap:.9rem 3.5rem}
@media (min-width:52rem){.status__grid{grid-template-columns:13rem 1fr}}
.status h3{margin:.45rem 0 0;font-family:var(--sans);font-weight:500;font-size:.73rem;
  letter-spacing:.15em;text-transform:uppercase;line-height:1.5;color:var(--manchester)}
.status p{font-size:.97em;color:rgba(247,245,238,.9);margin:0 0 1.1rem}
.status p:last-child{margin-bottom:0}
.status strong{color:var(--simply);font-weight:700}
.status a{color:var(--manchester);text-underline-offset:.2em}

.chip{font:inherit;color:var(--manchester);background:none;border:0;padding:0;cursor:pointer;
  border-bottom:1px dotted var(--rule-tan);display:inline-flex;align-items:baseline;gap:.3em}
.chip__ico{width:.82em;height:.82em;flex:0 0 auto;align-self:center;opacity:.75}
.chip__ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.chip .tick{display:none}
.chip.is-copied .copy{display:none}
.chip.is-copied .tick{display:block}
.chip.is-copied{color:var(--louisburg-ink);border-bottom-color:transparent}

/* ---------- forms ---------- */
.form{margin-top:clamp(2.5rem,6vw,3.75rem)}
.fgrid{display:grid;gap:1.15rem 1.5rem}
@media (min-width:40rem){.fgrid{grid-template-columns:1fr 1fr}}
.f{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.f--wide{grid-column:1/-1}
label{font-family:var(--sans);font-size:.72rem;letter-spacing:.075em;color:var(--manchester)}
.opt{color:rgba(247,245,238,.68);letter-spacing:.02em}
input[type=text],input[type=email],input[type=tel],select,textarea{
  font-family:var(--serif);font-size:1rem;color:var(--ink);background:var(--paper);
  border:1px solid transparent;border-radius:2px;padding:.7rem .85rem;width:100%;
  transition:box-shadow .2s var(--ease)}
textarea{min-height:7.5rem;resize:vertical;line-height:1.6}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 2px var(--manchester)}
.notify input:focus{box-shadow:0 0 0 2px var(--hunter)}
::placeholder{color:var(--louisburg-ink);opacity:1}
select{appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--branchport) 50%),linear-gradient(135deg,var(--branchport) 50%,transparent 50%);
  background-position:calc(100% - 1.15rem) 1.15rem,calc(100% - .8rem) 1.15rem;
  background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;padding-right:2.4rem}
fieldset{grid-column:1/-1;border:0;margin:.35rem 0 0;padding:0;min-width:0}
legend{font-family:var(--sans);font-size:.72rem;letter-spacing:.075em;color:var(--manchester);padding:0}
.checks{display:grid;gap:.55rem 1.5rem;margin-top:.8rem}
@media (min-width:40rem){.checks{grid-template-columns:1fr 1fr}}
.check{display:flex;gap:.65rem;align-items:flex-start;font-family:var(--serif);
  font-size:.92rem;letter-spacing:0;line-height:1.5;color:rgba(247,245,238,.92);cursor:pointer}
.check input{flex:0 0 auto;margin:.28rem 0 0;accent-color:var(--manchester);width:.95rem;height:.95rem}
.consent{margin-top:1.9rem;padding-top:1.5rem;border-top:1px solid var(--rule-rev)}
.consent .check{font-size:.855rem;color:rgba(247,245,238,.85);max-width:42rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.9rem}
.acts__note{font-family:var(--sans);font-size:.735rem;line-height:1.6;color:var(--manchester);
  max-width:22rem}
.msg{display:none;font-family:var(--sans);font-size:.82rem;line-height:1.65;
  margin:1.5rem 0 0;padding:.85rem 1.1rem;border-left:2px solid var(--louisburg-ink);
  background:rgba(156,158,135,.16);max-width:36rem}
.msg.is-shown{display:block}
.msg.is-error{border-left-color:var(--branchport);background:rgba(96,81,74,.10)}
.notify label,.notify legend,.notify .opt{color:var(--branchport)}
.notify input[type=email]{border-color:var(--rule)}
.notify .btn{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}
.notify .btn:hover{background:var(--hunter-deep);border-color:var(--hunter-deep)}
.notify .msg{color:var(--ink)}
.notify__form{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;
  margin-top:1.9rem;max-width:31rem}
.notify__form .f{flex:1 1 15rem}

/* ---------- footer ---------- */
.foot{background:var(--simply);border-top:1px solid var(--rule);position:relative;
  padding-block:clamp(3rem,7vw,4.5rem)}
.foot>*{position:relative;z-index:1}
.foot__grid{display:grid;gap:2.75rem 4rem}
@media (min-width:52rem){.foot__grid{grid-template-columns:13rem 1fr;align-items:start}}
.foot__logo{width:11rem;max-width:60vw}
.foot__logo img{width:100%;height:auto;display:block}
.foot__office{margin:1rem 0 0;font-family:var(--sans);font-size:.8rem;line-height:1.7;color:var(--branchport)}
.foot__office a{color:var(--hunter);text-decoration:none;font-weight:600}
.foot__office a:hover{text-decoration:underline}
.ph-digits{color:var(--louisburg-ink)}
.badge{width:11rem;max-width:60vw;aspect-ratio:1;border-radius:50%;
  border:1px solid var(--rule-tan);display:grid;place-items:center;text-align:center;
  padding:1.5rem}
.badge .logo{width:3.8rem;margin:0 auto .8rem}
.badge__t{font-family:var(--sans);font-size:.6rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;line-height:1.7;color:var(--hunter)}
.badge__t span{display:block;color:var(--branchport);font-weight:400;letter-spacing:.14em}
.footnav{margin:1.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;
  gap:.45rem;font-family:var(--sans);font-size:.75rem}
.footnav a{color:var(--branchport);text-underline-offset:.2em}
.footnav a:hover{color:var(--hunter)}
.legal p{max-width:46rem;font-family:var(--sans);font-size:.775rem;line-height:1.75;
  color:var(--branchport);margin:0 0 1.15rem}
.legal strong{color:var(--hunter);font-weight:500}
.legal a{color:var(--branchport);text-underline-offset:.18em}
.eho{display:flex;align-items:center;gap:.55rem;margin-bottom:1.5rem!important;
  font-size:.68rem!important;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hunter)!important}
.eho svg{width:1.05rem;height:1.05rem;flex:0 0 auto}
.legal hr{border:0;border-top:1px solid var(--rule);margin:2rem 0 1.5rem}
.legal .chip{color:var(--branchport);border-bottom-color:var(--rule)}
.legal .chip.is-copied{color:var(--hunter)}
.colophon{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--rule);
  font-family:var(--sans);font-size:.68rem;line-height:1.8;color:var(--branchport);max-width:40rem}
.colophon em{font-family:var(--serif);font-size:1.08em}
.colophon em.sans{font-family:var(--sans);font-style:normal;font-size:1.05em}
.colophon em.script{font-family:var(--script);font-style:normal;font-size:1.45em;line-height:1}

/* ---------- motion ---------- */
.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.is-in{opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .hero__mark,.js .wordmark,.js .rule,.js .hero__tag,.js .hero__where,.js .hero__acts,
.js .hero--page .kicker,.js .hero--page h1,.js .hero--page .lede{
  opacity:0;transform:translateY(10px);animation:rise .85s var(--ease) forwards}
.js .wordmark,.js .hero--page h1{animation-delay:.1s}
.js .rule{animation-delay:.22s}
.js .hero__tag,.js .hero--page .lede{animation-delay:.3s}
.js .hero__where{animation-delay:.4s}
.js .hero__acts{animation-delay:.48s}
@keyframes rise{to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .js .hero__mark,.js .wordmark,.js .rule,.js .hero__tag,.js .hero__where,.js .hero__acts,
  .js .hero--page .kicker,.js .hero--page h1,.js .hero--page .lede,
  .js .reveal{opacity:1!important;transform:none!important;animation:none!important}
  .bar{transition:none}
  .sky{display:none}
}

/* ============================================================================
   INTERACTIVE COMPONENTS
   ========================================================================= */

/* ---------- build board ----------
   The real roll-out checklist, with its real status. Publishing this is the
   point: a firm that promises transparency and then hides its own progress
   has already broken the promise on its own website. */
.board{margin-top:clamp(2.5rem,6vw,3.5rem)}
.board__bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.board__f{font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;background:none;color:var(--branchport);cursor:pointer;
  border:1px solid var(--rule);border-radius:2px;padding:.5rem .9rem;
  transition:background .2s var(--ease),color .2s var(--ease)}
.board__f:hover{border-color:var(--rule-tan)}
.board__f[aria-pressed=true]{background:var(--hunter);color:var(--simply);
  border-color:var(--hunter)}
.board__meter{height:6px;background:var(--rule);border-radius:3px;overflow:hidden;
  margin-bottom:.7rem}
.board__fill{height:100%;width:0;background:var(--louisburg-ink);
  transition:width .9s var(--ease)}
.board__count{font-family:var(--sans);font-size:.75rem;color:var(--branchport);
  margin:0 0 1.75rem;max-width:none}
.board__count b{color:var(--hunter);font-weight:500}
.board__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.board__item{display:grid;gap:.2rem 1.25rem;padding-block:.95rem;
  border-bottom:1px solid var(--rule);align-items:baseline}
@media (min-width:46rem){.board__item{grid-template-columns:1.4rem 1fr 9rem 7rem}}
.board__item[hidden]{display:none}
.board__dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--rule);
  flex:0 0 auto;margin-top:.55rem}
.board__item.is-done .board__dot{background:var(--louisburg-ink)}
.board__item.is-now .board__dot{background:var(--hunter)}
.board__task{font-size:.985em;margin:0;max-width:none}
.board__item.is-done .board__task{color:var(--ink-soft)}
.board__meta{font-family:var(--sans);font-size:.7rem;letter-spacing:.05em;
  color:var(--branchport)}
.board__state{font-family:var(--sans);font-size:.64rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--branchport)}
.board__item.is-done .board__state{color:var(--louisburg-ink)}
.board__item.is-now .board__state{color:var(--hunter);font-weight:500}

/* ---------- campaign stepper ---------- */
.chapters{margin-top:clamp(2.5rem,6vw,3.5rem)}
.chapters__track{display:flex;gap:0;border-bottom:1px solid var(--rule);
  overflow-x:auto;scrollbar-width:none}
.chapters__track::-webkit-scrollbar{display:none}
.chapters__tab{flex:1 0 auto;min-width:7.5rem;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--branchport);padding:.85rem .6rem;border-bottom:2px solid transparent;
  transition:color .2s var(--ease),border-color .2s var(--ease)}
.chapters__tab:hover{color:var(--hunter)}
.chapters__tab[aria-selected=true]{color:var(--hunter);border-bottom-color:var(--hunter)}
.chapters__tab b{display:block;font-weight:400;font-size:1.5rem;font-family:var(--serif);
  color:var(--branchport);line-height:1;margin-bottom:.3rem;transition:color .2s var(--ease)}
.chapters__tab[aria-selected=true] b{color:var(--hunter)}
.chapters__panel{padding-top:clamp(1.75rem,4vw,2.5rem);display:grid;gap:1.75rem 3rem}
@media (min-width:52rem){.chapters__panel{grid-template-columns:1fr 16rem}}
.chapters__panel[hidden]{display:none}
.chapters__say{font-family:var(--serif);font-weight:400;
  font-size:clamp(1.5rem,3.4vw,2.05rem);line-height:1.2;color:var(--hunter);
  margin:0 0 1rem;max-width:none;text-wrap:balance}
.chapters__side{font-family:var(--sans);font-size:.75rem;line-height:1.7;
  color:var(--branchport);border-left:1px solid var(--rule-tan);padding-left:1.25rem}
.chapters__side dt{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hunter);margin-top:1rem}
.chapters__side dt:first-child{margin-top:0}
.chapters__side dd{margin:.25rem 0 0}

/* ---------- promise ---------- */
.promise{list-style:none;margin:clamp(2.5rem,6vw,3.5rem) 0 0;padding:0;
  display:grid;gap:1px;background:var(--rule-rev)}
@media (min-width:44rem){.promise{grid-template-columns:1fr 1fr}}
@media (min-width:64rem){.promise{grid-template-columns:repeat(3,1fr)}}
.promise li{background:var(--hunter);padding:clamp(1.5rem,3vw,2rem);
  transition:background .3s var(--ease)}
.promise li:hover{background:var(--hunter-soft)}
.promise h3,.promise h4{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--manchester);margin-bottom:.75rem}
.promise p{margin:0;font-size:.94em;color:rgba(247,245,238,.88)}

/* ---------- tiers ---------- */
.tiers{display:grid;gap:1px;background:var(--rule);margin-top:clamp(2.5rem,6vw,3.5rem)}
@media (min-width:52rem){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{background:var(--simply);padding:clamp(1.6rem,3vw,2.2rem);display:flex;
  flex-direction:column}
.tier--mark{background:var(--paper);box-shadow:inset 0 3px 0 var(--hunter)}
.tier__n{font-family:var(--sans);font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--branchport);margin:0 0 .8rem;max-width:none}
.tier h3,.tier h4{font-size:1.3rem;margin-bottom:.7rem}
.tier p{margin:0 0 1.1rem;font-size:.92em;color:var(--ink-soft)}
.tier ul{list-style:none;margin:auto 0 0;padding:1.1rem 0 0;border-top:1px solid var(--rule);
  font-family:var(--sans);font-size:.76rem;line-height:1.65;color:var(--branchport)}
.tier li{padding-left:1rem;position:relative;margin-bottom:.45rem}
.tier li::before{content:"";position:absolute;left:0;top:.6em;width:.4rem;height:1px;
  background:var(--louisburg)}

/* ---------- countdown ---------- */
.count{display:flex;flex-wrap:wrap;gap:1.25rem 2.5rem;margin-top:1.75rem;
  padding-top:1.5rem;border-top:1px solid var(--rule-rev)}
.count div{min-width:4.5rem}
.count b{display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,5vw,2.9rem);line-height:1;color:var(--manchester);
  font-feature-settings:"lnum" 1,"tnum" 1}
.count span{display:block;font-family:var(--sans);font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(247,245,238,.7);margin-top:.5rem}


/* ---------- palette strip ---------- */
.swatches{display:grid;gap:1px;background:var(--rule);margin-top:clamp(2.25rem,5vw,3rem)}
@media (min-width:40rem){.swatches{grid-template-columns:repeat(3,1fr)}}
@media (min-width:60rem){.swatches{grid-template-columns:repeat(5,1fr)}}
.sw{padding:0;background:var(--simply)}
.sw__chip{height:7rem}
.sw__t{padding:1rem 1.1rem;font-family:var(--sans);font-size:.72rem;line-height:1.6;
  color:var(--branchport)}
.sw__t b{display:block;font-weight:500;color:var(--hunter);font-size:.78rem;
  letter-spacing:.02em;margin-bottom:.15rem}

/* ============================================================================
   PRINT
   Brokerage pages get printed. The commitments, the ledger and the advisor
   promise are the sort of thing someone puts in front of a spouse or an
   attorney, and a screen layout printed raw wastes half a ream on dark
   backgrounds and navigation nobody can click on paper.
   ========================================================================= */
@media print{
  :root{--hunter:#1C2A1C;--simply:#fff}
  body{background:#fff;color:#000;font-size:10.5pt;line-height:1.5}
  .bar,.sky,.strip,.skip,.hero__rings,.hero__acts,.board__bar,.board__meter,
  .plate__poster,.plate__tools,.orn,.footnav,.notify__form,.form,.msg,
  .chapters__track,.count{display:none!important}
  .band::before,.foot::before{display:none}
  .band,.band--dark,.band--deep,.band--wash,.band--sand,.status,.hero{
    background:#fff!important;color:#000!important;padding-block:0!important;
    border:0!important}
  .hero{text-align:left;padding-top:0!important}
  .wordmark,.hero--page h1{color:#000!important;font-size:22pt!important}
  .wordmark span,.kicker,.hero__where{color:#444!important}
  h2{font-size:15pt;margin-top:18pt;page-break-after:avoid}
  h3,h4{page-break-after:avoid;color:#000!important}
  p,li{orphans:3;widows:3}
  .ledger>li,.commit li,.stages>li,.promise li,.card,.tier,.board__item{
    page-break-inside:avoid;background:#fff!important;color:#000!important}
  .promise li,.card,.tier{border:1px solid #bbb}
  .ledger__cost,.note,.legal p,.sources__what,.chapters__side{color:#333!important}
  .ledger__div{display:none}
  .chapters__panel[hidden]{display:grid!important}   /* print every chapter */
  a{text-decoration:none;color:#000}
  /* a printed link with no address is a dead end */
  main a[href^="http"]::after{content:" (" attr(href) ")";font-size:8.5pt;color:#555;
    word-break:break-all}
  .badge{border-color:#bbb}
  .foot{border-top:1px solid #999;padding-top:12pt}
  @page{margin:16mm}
}



/* ============================================================================
   THE CREED — progressive disclosure
   ----------------------------------------------------------------------------
   Density is not really about word count. It is about whether a reader can
   get the point WITHOUT reading. So each commitment is built in three layers:

     1. the name            — one word
     2. the claim           — one sentence, set large
     3. the price           — one fragment

   and the argument, the citation and the qualifications sit behind a
   disclosure the reader opens only if they want them. A skimmer now takes
   the whole section in about 120 words instead of 500, and nobody who
   wants the proof is denied it. Native <details>, so it works with
   JavaScript off and screen readers announce it correctly.
   ========================================================================= */
.creed{list-style:none;margin:clamp(2.75rem,6vw,4rem) 0 0;padding:0;
  border-top:1px solid var(--rule)}
.creed>li{padding-block:clamp(1.9rem,4vw,2.75rem);border-bottom:1px solid var(--rule)}
.creed__row{display:grid;gap:.75rem 3rem}
@media (min-width:52rem){.creed__row{grid-template-columns:10rem 1fr;gap:0 3rem}}
.creed__name{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.2;
  color:var(--hunter);margin:0}
.creed__say{font-size:1.2em;line-height:1.45;font-weight:400;margin:0;max-width:27rem;
  text-wrap:balance}
.creed__cost{font-family:var(--sans);font-size:.78rem;line-height:1.65;color:var(--branchport);
  margin:1rem 0 0;max-width:27rem}
.creed__cost b{font-weight:500;font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--hunter);margin-right:.6rem}

.more{margin-top:1.1rem;max-width:30rem}
.more summary{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;
  font-family:var(--sans);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--branchport);list-style:none;padding:.25rem 0}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"";width:.5rem;height:.5rem;flex:0 0 auto;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);transition:transform .25s var(--ease)}
.more[open] summary::before{transform:rotate(-135deg) translate(-2px,-2px)}
.more summary:hover{color:var(--hunter)}
.more__body{padding-top:.9rem}
.more__body p{margin:0 0 .8rem;font-size:.94em;max-width:none}
.more__body p:last-child{margin-bottom:0}
.more__body cite{margin-top:.6rem}
@media (prefers-reduced-motion:reduce){.more summary::before{transition:none}}

/* the closing line — the whole argument in three words */
.holdus{margin:clamp(3rem,7vw,4.5rem) 0 0;padding-top:clamp(2rem,4vw,2.75rem);
  border-top:1px solid var(--rule-tan);text-align:center}
.holdus p{margin:0 auto;max-width:34rem;font-size:1.1em;color:var(--ink)}
.holdus b{display:block;margin-top:1.25rem;font-family:var(--serif);font-weight:400;
  font-style:italic;font-size:clamp(1.9rem,5vw,2.9rem);line-height:1.1;color:var(--hunter)}
.band--dark .holdus p{color:rgba(247,245,238,.86)}
.band--dark .holdus b{color:var(--manchester)}

/* the eight, compressed to claim-plus-disclosure */
.eight{list-style:none;margin:clamp(2.5rem,5.5vw,3.5rem) 0 0;padding:0;
  display:grid;gap:1.75rem 3.5rem}
@media (min-width:48rem){.eight{grid-template-columns:1fr 1fr}}
.eight h3,.eight h4{font-size:1.08rem;margin-bottom:.4rem}
.eight p{margin:0;font-size:.96em;color:var(--ink-soft)}
.eight .more{margin-top:.7rem}

/* ---------- the advisor door ----------
   A staff entrance, not a call to action. It is deliberately quiet: a client
   who sees a prominent "sign in" wonders whether they were supposed to have
   an account, and that is a worse outcome than an advisor taking two seconds
   to find the link in the footer. */
.bar__door{display:inline-flex;align-items:center;gap:.45rem;color:rgba(247,245,238,.62)!important;
  border-left:1px solid var(--rule-rev);padding-left:1.3rem;margin-left:.2rem}
.bar__door svg{width:.85em;height:.85em;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bar__door:hover{color:var(--manchester)!important;border-bottom-color:transparent!important}
.door{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;
  font-family:var(--sans);font-size:.74rem;letter-spacing:.06em;text-decoration:none;
  color:var(--hunter);border:1px solid var(--rule-tan);border-radius:2px;
  padding:.6rem 1rem;background:var(--paper);
  transition:background .25s var(--ease),color .25s var(--ease)}
.door svg{width:.9em;height:.9em;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.door:hover{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}

/* ============================================================================
   HOME PAGE — the two-minute version
   ----------------------------------------------------------------------------
   One thing to read, one thing to do. The seller's-net calculator carries the
   firm's first promise (our numbers, in plain figures, before you ask), so it
   sits in the masthead rather than a footnote. Everything below it is one
   screen each: three doors, five words, the map, the broker, the questions.
   ========================================================================= */
.hero--home{text-align:left;padding-block:clamp(4.5rem,9vh,6rem) clamp(3rem,7vh,4.5rem)}
.hero__home{position:relative;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter);
  display:grid;gap:clamp(2.5rem,5vw,4rem);align-items:center}
@media (min-width:62rem){.hero__home{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.hero__say{max-width:34rem}
.lockup{display:inline-flex;align-items:center;gap:.9rem;text-decoration:none;margin-bottom:clamp(1.75rem,4vw,2.5rem)}
.lockup .logo{width:3.6rem;flex:0 0 auto}
/* The home hero carries the full logo, reversed for the green field. Sized
   to be the first thing on the page without crowding the headline; the mark's
   own tagline does the cursive work the old hero__tag did. */
.hero__logo{display:block;width:clamp(150px,15vw,210px);margin:0 0 clamp(1.2rem,2.5vw,1.8rem);text-decoration:none}
.hero__logo img{width:100%;height:auto;display:block}
.js .hero--home .hero__logo{opacity:0;transform:translateY(10px);animation:rise .85s var(--ease) forwards}
@media (prefers-reduced-motion:reduce){.js .hero--home .hero__logo{opacity:1!important;transform:none!important;animation:none!important}}
.bar__id .logo{width:2.7rem}
.logo--full{width:11rem;margin:0 0 1rem}
@media (max-width:52rem){.hero__logo{width:min(44vw,180px)}}
.lockup__t{font-family:var(--serif);font-size:1.15rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--simply);line-height:1.15}
.lockup__t span{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.3em;color:var(--manchester);margin-top:.3rem}
.hero--home h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.6vw,3.35rem);
  line-height:1.1;letter-spacing:-.008em;color:var(--simply);text-wrap:balance}
.hero--home .hero__tag{margin:1rem 0 0;font-size:clamp(1.6rem,3.6vw,2.05rem);color:var(--manchester)}
.hero__lede{max-width:none;margin:1.4rem 0 0;font-size:1.02em;line-height:1.7;color:rgba(247,245,238,.86)}
.hero--home .hero__acts{justify-content:flex-start;margin-top:1.9rem}
.hero--home .hero__where{margin-top:1.75rem;text-transform:none;letter-spacing:.06em;font-size:.72rem;color:rgba(219,210,188,.75)}
.js .hero--home .lockup,.js .hero--home h1,.js .hero--home .hero__tag,.js .hero__lede,.js .hero--home .hero__acts,
.js .hero--home .hero__where,.js .calc{opacity:0;transform:translateY(10px);animation:rise .85s var(--ease) forwards}
.js .hero--home h1{animation-delay:.08s}.js .hero--home .hero__tag{animation-delay:.16s}.js .hero__lede{animation-delay:.24s}
.js .hero--home .hero__acts{animation-delay:.32s}.js .hero--home .hero__where{animation-delay:.4s}.js .calc{animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.js .hero--home .lockup,.js .hero--home .hero__tag,.js .hero__lede,.js .calc{opacity:1!important;transform:none!important;animation:none!important}}

/* ---------- the seller's-net calculator ---------- */
.calc{background:var(--simply);color:var(--ink);padding:clamp(1.4rem,2.6vw,2rem);border-radius:3px;
  box-shadow:0 1px 0 rgba(219,210,188,.5),0 24px 60px -30px rgba(0,0,0,.55)}
.calc__h{font-size:clamp(1.25rem,2vw,1.5rem);margin:0 0 .3rem;max-width:none;line-height:1.25;color:var(--hunter)}
.calc__sub{margin:0 0 1.35rem;font-family:var(--sans);font-size:.78rem;color:var(--branchport)}
.calc__grid{display:grid;gap:.85rem 1rem}
@media (min-width:26rem){.calc__grid{grid-template-columns:1fr 1fr}}
.calc__f{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.calc__f>span:first-child{font-family:var(--sans);font-size:.7rem;letter-spacing:.06em;color:var(--branchport)}
.calc__f em{display:block;font-style:normal;color:var(--louisburg-ink);font-size:.64rem;margin-top:.1rem}
.calc__f{justify-content:flex-end}
.calc__in{display:flex;align-items:center;background:var(--paper);border:1px solid var(--rule);border-radius:2px;
  padding:0 .7rem;transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}
.calc__in:focus-within{border-color:var(--hunter);box-shadow:0 0 0 2px rgba(47,74,47,.18)}
.calc__in i{font-family:var(--sans);font-style:normal;font-size:.85rem;color:var(--louisburg-ink)}
.calc__in input{flex:1;min-width:0;width:100%;border:0;background:none;padding:.6rem .35rem;font-family:var(--serif);
  font-size:1.02rem;color:var(--ink);font-feature-settings:"tnum" 1;text-align:right}
.calc__in input:focus{outline:none;box-shadow:none}
.calc__lines{margin:1.35rem 0 0;padding:1rem 0 .6rem;border-top:1px solid var(--rule)}
.calc__lines>div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.3rem 0;
  font-family:var(--sans);font-size:.8rem;color:var(--ink-soft)}
.calc__lines dt{margin:0}.calc__lines dt em{font-style:normal;color:var(--louisburg-ink);margin-left:.3rem}
.calc__lines dd{margin:0;font-family:var(--serif);font-size:.95rem;color:var(--ink);font-feature-settings:"tnum" 1;white-space:nowrap}
.calc__net{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
  padding-top:.9rem;border-top:1px solid var(--hunter)}
.calc__net span{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hunter)}
.calc__net output{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1;color:var(--hunter);
  font-feature-settings:"tnum" 1,"lnum" 1}
.calc__net output.is-neg{color:var(--branchport)}
.calc__note{margin:1.1rem 0 0;font-family:var(--sans);font-size:.68rem;line-height:1.6;color:var(--branchport);max-width:none}
.calc__alt{margin:.55rem 0 0;font-size:.82rem;color:var(--manchester);opacity:.85}.calc__alt a{color:inherit;text-decoration:underline;text-underline-offset:.15em}
.calc__note a{color:var(--hunter)}

/* ---------- three doors ---------- */
.doors{display:grid;gap:1px;background:var(--rule)}
@media (min-width:50rem){.doors{grid-template-columns:repeat(3,1fr)}}
.door-card{background:var(--simply);padding:clamp(1.6rem,3vw,2.3rem);display:flex;flex-direction:column;scroll-margin-top:5.5rem}
.door-card h3{font-size:clamp(1.2rem,1.8vw,1.4rem);margin:0 0 .8rem;color:var(--hunter)}
.door-card p{margin:0 0 1.4rem;font-size:.94em;line-height:1.65;color:var(--ink-soft);max-width:none;flex:1}
.door-card .linkout{align-self:flex-start;background:none;border-color:var(--hunter)}
.linkout--rev{color:var(--manchester);border-color:var(--manchester);background:none}
.linkout--rev:hover{background:var(--manchester);color:var(--hunter-deep);border-color:var(--manchester)}

/* ---------- five words ---------- */
.why{display:grid;gap:2.5rem 4rem}
@media (min-width:56rem){.why{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}}
.why__head h2{margin-bottom:1rem}
.why__head p{color:rgba(247,245,238,.86);margin:0 0 1.6rem}
.why__list{list-style:none;margin:0;padding:0;counter-reset:w;border-top:1px solid var(--rule-rev)}
.why__list li{counter-increment:w;display:grid;grid-template-columns:2rem 8.5rem 1fr;gap:0 1rem;align-items:baseline;
  padding:.95rem 0;border-bottom:1px solid var(--rule-rev)}
@media (max-width:36rem){.why__list li{grid-template-columns:2rem 1fr}.why__list li span{grid-column:2}}
.why__list li::before{content:counter(w);font-family:var(--sans);font-size:.7rem;color:var(--manchester)}
.why__list b{font-family:var(--serif);font-weight:400;font-size:1.12rem;color:var(--simply)}
.why__list span{font-size:.92em;line-height:1.55;color:rgba(247,245,238,.82)}

/* ---------- the map, in words ---------- */
.area{display:grid;gap:2rem 4rem}
@media (min-width:56rem){.area{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.area__head p{margin:0;font-size:.98em}
.towns{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.towns li{padding:1.1rem 0;border-bottom:1px solid var(--rule);display:grid;gap:.35rem}
.towns b{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hunter)}
.towns span{font-size:.98em;line-height:1.7;color:var(--ink)}

/* ---------- the broker ---------- */
.who{display:grid;gap:2rem 3.5rem}
@media (min-width:48rem){.who{grid-template-columns:9rem 1fr;align-items:start}}
.who__badge{width:9rem;aspect-ratio:1;border-radius:50%;border:1px solid var(--rule-tan);display:grid;place-items:center;padding:1.3rem;background:var(--simply)}
.who__badge img{width:100%;height:auto}
.who h2{max-width:26rem}
.who p{max-width:38rem}
.who__verify{font-family:var(--sans);font-size:.8rem;color:var(--branchport)}
.who__verify a{color:var(--hunter)}

/* ---------- questions ---------- */
.faq{margin-top:clamp(1.5rem,3vw,2.25rem);border-top:1px solid var(--rule);max-width:42rem}
.faq__q{border-bottom:1px solid var(--rule)}
.faq__q summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;
  padding:1.05rem 0;font-family:var(--serif);font-size:1.08rem;line-height:1.35;color:var(--hunter)}
.faq__q summary::-webkit-details-marker{display:none}
.faq__q summary::after{content:"+";flex:0 0 auto;font-family:var(--sans);font-size:1.1rem;color:var(--branchport);
  transition:transform .25s var(--ease)}
.faq__q[open] summary::after{transform:rotate(45deg)}
.faq__q summary:hover{color:var(--hunter-deep)}
.faq__a{padding:0 0 1.2rem}
.faq__a p{margin:0;font-size:.95em;line-height:1.65;max-width:none;color:var(--ink-soft)}
.faq__a a{color:var(--hunter)}
.faq__a p+p{margin-top:.75em}
@media print{.calc,.hero__acts{display:none!important}.faq__a{display:block!important}.faq__q{border-color:#bbb}}


/* ---------- before-we-meet: the nest box and the bring list ---------- */
.nestbox{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;padding:1.25rem 1.4rem;
  background:var(--louisburg-wash);border:1px solid var(--manchester);border-left:4px solid var(--hunter);border-radius:10px}
.nestbox__mark{width:52px;height:52px;color:var(--hunter);flex:0 0 auto}
.nestbox__mark svg{width:100%;height:100%}
.nestbox__k{margin:0 0 .3rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--louisburg-ink)}
.nestbox__t{margin:0;font-size:1.05rem;line-height:1.55}
.nestbox__t strong{color:var(--hunter)}
.bring{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.bring li{display:grid;grid-template-columns:1.6rem 1fr;gap:.9rem;align-items:start;padding:1rem 1.15rem;background:var(--simply);
  border:1px solid var(--manchester);border-radius:8px}
.bring li::before{content:"";width:1.1rem;height:1.1rem;margin-top:.25rem;border:1.5px solid var(--hunter);border-radius:4px;background:#fff}
.bring li>*{grid-column:2}
.bring h3{margin:0 0 .3rem;font-size:1.05rem;color:var(--hunter)}
.bring p{margin:0;font-size:.95rem;line-height:1.55;color:var(--branchport)}
.band--wash .bring li{background:#fff}
@media (max-width:640px){.nestbox{grid-template-columns:1fr}.nestbox__mark{width:40px;height:40px}}


/* ---------- meet the advisors ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.advgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem}
.adv{display:flex;flex-direction:column;background:var(--simply);border:1px solid var(--manchester);border-radius:12px;overflow:hidden;color:inherit;text-decoration:none;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.adv[hidden]{display:none}
.adv:hover,.adv:focus-within{transform:translateY(-3px);box-shadow:0 10px 28px rgba(35,56,35,.14)}
.adv__link{display:block;color:inherit;text-decoration:none;flex:1}
.adv__book{display:block;margin:0 1.15rem 1.15rem;padding:.6rem .9rem;text-align:center;border-radius:6px;background:var(--hunter);color:var(--simply);
  font-family:var(--sans);font-size:.8rem;letter-spacing:.04em;text-decoration:none}
.adv__book:hover{background:var(--hunter-soft)}
.filt{margin:0 0 1.6rem;padding:1rem 1.1rem;background:var(--simply);border:1px solid var(--manchester);border-radius:12px}
.filt__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .6rem}
.filt__row:last-of-type{margin-bottom:0}
.filt__lab{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--louisburg-ink);margin-right:.4rem;min-width:5.5rem}
.chip{font:inherit;font-family:var(--sans);font-size:.78rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--manchester);background:#fff;color:var(--hunter);cursor:pointer}
.chip.is-on{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}
.chip:focus-visible{outline:2px solid var(--louisburg);outline-offset:2px}
.filt__count{margin:.6rem 0 0;font-family:var(--sans);font-size:.78rem;color:var(--branchport)}
.filt__count:empty{display:none}
.adv__photo{aspect-ratio:1/1;background:var(--louisburg-wash);overflow:hidden}
.adv__photo img{width:100%;height:100%;object-fit:cover;display:block}
.adv__initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:3rem;color:var(--louisburg-ink)}
.adv__body{padding:1.05rem 1.15rem 1.25rem}
.adv__name{margin:0 0 .25rem;font-size:1.2rem;color:var(--hunter)}
.adv__head{margin:.5rem 0 0;font-size:.92rem;color:var(--branchport);line-height:1.5}
.adv__facts{margin:0;display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-family:var(--sans);font-size:.82rem;color:var(--louisburg-ink)}
.adv__facts>span{margin-right:.9rem}.adv__facts>span:last-child{margin-right:0}
.adv__facts strong{color:var(--hunter)}
.adv__tags{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.adv__tags li{font-family:var(--sans);font-size:.74rem;letter-spacing:.02em;padding:.22rem .6rem;border-radius:999px;background:var(--louisburg-wash);color:var(--louisburg-ink);border:1px solid var(--manchester)}
.adv--full{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:2.2rem;border:0;background:transparent;overflow:visible}
.adv--full .adv__photo{border-radius:12px;border:1px solid var(--manchester)}
.adv--full .adv__name{font-size:2rem}
.adv--full .adv__facts{font-size:.9rem;margin-top:.6rem}
.adv--full h3{margin:1.6rem 0 .4rem;font-size:1.05rem;color:var(--hunter)}
.adv__prose{margin-top:1.2rem;font-size:1.02rem;line-height:1.7}
.adv__prose--sm{font-size:.95rem}
.adv__prose p{margin:0 0 .9rem}
@media (max-width:720px){.adv--full{grid-template-columns:1fr}.adv--full .adv__photo{max-width:320px}}


/* ---------- booking ---------- */
.bk-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:2.4rem;align-items:start}
.bk-photo{width:100%;max-width:260px;aspect-ratio:1;overflow:hidden;border-radius:12px;border:1px solid var(--manchester);background:var(--louisburg-wash);margin-bottom:.9rem}
.bk-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.bk-name{margin:0 0 .2rem;font-size:1.4rem;color:var(--hunter)}
.bk-head{margin:0 0 .6rem;color:var(--branchport)}
.bk-facts{margin:0 0 .5rem;font-family:var(--sans);font-size:.82rem;color:var(--louisburg-ink);line-height:1.6}
.bk-step{display:flex;align-items:center;gap:.7rem;margin:1.6rem 0 .8rem;font-size:1.1rem;color:var(--hunter)}
.bk-step:first-child{margin-top:0}
.bk-step span{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--hunter);color:var(--simply);font-family:var(--sans);font-size:.8rem}
/* the calendar */
.bk-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.bk-month{border:1px solid var(--manchester);border-radius:12px;background:var(--simply);padding:.9rem 1rem 1rem}
.bk-month__t{font-family:var(--serif);font-size:1.05rem;color:var(--hunter);margin:0 0 .6rem}
.bk-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.3rem}
.bk-dow span{font-family:var(--sans);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--louisburg-ink);text-align:center}
.bk-grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}
.bk-d{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font-family:var(--sans);font-size:.88rem;border:1px solid transparent;margin:0;padding:0;background:none}
.bk-d--pad{visibility:hidden}
.bk-d--off{color:#B9B7AA;background:#EFEDE4}
.bk-d--today{outline:1px dashed var(--louisburg);outline-offset:-3px}
.bk-d--open{background:#fff;border-color:var(--louisburg);color:var(--hunter);cursor:pointer;font-weight:600}
.bk-d--open:hover{background:var(--louisburg-wash)}
.bk-d--open.is-sel{background:var(--hunter);border-color:var(--hunter);color:var(--simply)}
.bk-d--open small{position:absolute;right:4px;bottom:3px;font-size:.58rem;font-weight:400;opacity:.75}
.bk-d--open:focus-visible{outline:2px solid var(--louisburg);outline-offset:2px}
.bk-legend{margin:.7rem 0 0;font-family:var(--sans);font-size:.76rem;color:var(--branchport)}
.bk-key{display:inline-block;width:.9rem;height:.9rem;border-radius:4px;vertical-align:-2px;margin-right:.3rem}
.bk-key--open{background:#fff;border:1px solid var(--louisburg)}
.bk-key--off{background:#EFEDE4}
.bk-times-wrap .bk-day{display:none}
.bk-times-wrap .bk-day.is-open{display:block}
.bk-day{border:1px solid var(--manchester);border-radius:10px;padding:.7rem .8rem .8rem;margin:0;background:var(--simply)}
.bk-day legend{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--hunter);padding:0 .3rem}
.bk-day legend span{font-weight:400;color:var(--louisburg-ink)}
.bk-times{display:flex;flex-wrap:wrap;gap:.35rem}
.bk-time input,.bk-len input{position:absolute;opacity:0;pointer-events:none}
.bk-time span,.bk-len span{display:inline-block;padding:.35rem .6rem;border:1px solid var(--manchester);border-radius:6px;font-family:var(--sans);font-size:.8rem;background:#fff;cursor:pointer;color:var(--hunter)}
.bk-time input:checked+span,.bk-len input:checked+span{background:var(--hunter);color:var(--simply);border-color:var(--hunter)}
.bk-time input:focus-visible+span,.bk-len input:focus-visible+span{outline:2px solid var(--louisburg);outline-offset:2px}
.bk-lens{display:flex;flex-wrap:wrap;gap:.4rem}
.bk-len--off span{opacity:.35;cursor:not-allowed}
.bk-fields{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.2rem}
.bk-fields label{display:flex;flex-direction:column;gap:.3rem;font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--hunter)}
.bk-fields input,.bk-fields select,.bk-fields textarea{font:inherit;font-family:var(--serif);font-size:1rem;padding:.6rem .7rem;border:1px solid var(--manchester);border-radius:6px;background:#fff;color:var(--ink,#1c2a1c)}
.bk-fields small{font-weight:400;color:var(--louisburg-ink);font-size:.78rem}
.bk-wide{grid-column:1/-1}
.bk-note{margin:.8rem 0 0;font-family:var(--sans);font-size:.8rem;color:var(--branchport);line-height:1.6}
.no-js .bk-times-wrap .bk-day{display:block}
.bk-btn{display:inline-block;padding:.75rem 1.4rem;border-radius:2px;border:1px solid var(--hunter);background:var(--hunter);color:var(--simply);font-family:var(--sans);font-size:.85rem;letter-spacing:.04em;text-decoration:none;cursor:pointer;margin-right:.5rem}
.bk-btn--quiet{background:transparent;color:var(--hunter)}
.bk-btn--big{margin-top:1.2rem;padding:.95rem 2rem;font-size:.95rem}
.bk-err{padding:.8rem 1rem;border-left:4px solid #7A3B2E;background:#F3EAE6;color:#4a2a22;margin-bottom:1rem;font-family:var(--sans);font-size:.9rem}
.bk-hp{position:absolute;left:-9999px;top:-9999px}
.bk-card{max-width:40rem;padding:1.4rem 1.6rem;background:var(--simply);border:1px solid var(--manchester);border-radius:12px}
.bk-when{margin:0 0 .4rem;font-size:1.35rem;color:var(--hunter);font-weight:700}
@media (max-width:720px){.bk-grid{grid-template-columns:1fr}.bk-fields{grid-template-columns:1fr}.bk-photo{max-width:180px}}

/* the advisor page: the consult / write buttons appear twice, once near the
   top under the specialties and once after the bio, so neither scrolling nor
   reading is required to reach them */
.adv__acts-top{justify-content:flex-start;margin:1rem 0 1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--rule,rgba(0,0,0,.1))}
@media (max-width:640px){.adv__acts-top{margin-top:.8rem}}

/* ---- kicker and note on the light bands: the defaults are tuned for the
   dark ones (Manchester tan), which disappears on the wash ---- */
.kicker--ink{color:var(--louisburg-ink)}
.note--ink{color:var(--ink-soft)}

/* For advisors (index.html): a head column and a numbered list of what the
   office has, in the same rhythm as the "why" band but on the wash */
.forad{display:grid;gap:2.5rem 4rem}
@media (min-width:56rem){.forad{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}}
.forad__head h2{margin:.3rem 0 1rem}
.forad__head p{max-width:34rem;color:var(--ink)}
.forad__list{list-style:none;margin:0;padding:0;counter-reset:f;border-top:1px solid var(--rule)}
.forad__list li{counter-increment:f;display:grid;grid-template-columns:2.2rem 1fr;gap:.3rem 1rem;padding:1rem 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.forad__list li::before{content:counter(f,decimal-leading-zero);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.08em;color:var(--louisburg-ink);padding-top:.4rem;grid-row:span 2}
.forad__list b{font-family:var(--serif);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink)}
.forad__list span{grid-column:2;font-size:.92rem;line-height:1.55;color:var(--ink-soft)}

/* The office and the tools (join.html): two columns of lead-in + line, in
   ink on the wash. Not .offer, which is the dark-band list. */
.office{list-style:none;margin:clamp(2.25rem,5vw,3rem) 0 0;padding:0;display:grid;gap:0 3.25rem;border-top:1px solid var(--rule)}
@media (min-width:44rem){.office{grid-template-columns:1fr 1fr}}
.office li{padding:1rem 0 1rem 1.5rem;border-bottom:1px solid var(--rule);position:relative;color:var(--ink)}
.office li::before{content:"";position:absolute;left:0;top:1.65rem;width:.6rem;height:1px;background:var(--louisburg-ink)}
.office b{display:block;font-family:var(--serif);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;margin-bottom:.2rem}
.office span{display:block;font-size:.92rem;line-height:1.55;color:var(--ink-soft)}

/* "Edit this list" — shown by nest.js only to a console session that may
   edit the site; hidden otherwise (the attribute stays until then) */
.site-edit[hidden]{display:none}
.site-edit{display:inline-block;width:max-content;margin-left:.75rem;padding:.35rem .7rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--hunter);background:rgba(255,255,255,.7);border:1px dashed var(--hunter);border-radius:999px;text-decoration:none;vertical-align:middle}
.site-edit:hover{background:var(--hunter);color:var(--simply)}
.forad__head .site-edit{margin:.9rem 0 0}
.office+.note .site-edit,.head .site-edit{margin:.9rem 0 0}

/* ============================================================================
   OCTOBER 2026 — the second pass.
   Real footage in the masthead (or the photograph until the footage exists),
   a question strip, faces that lead to a person, and no decoration that is
   not information: no dots, dashes, arrows, eyebrows or entrance fades.
   Everything here overrides earlier rules of the same name; the earlier
   rules stay so the inner pages keep rendering.
   ========================================================================= */

/* ---------- nothing hides until scrolled to; nothing fades in ---------- */
.js .reveal{opacity:1;transform:none;transition:none}
.js .calc,.js .hero--page .kicker,.js .hero--page h1,.js .hero--page .lede,.js .hero__acts,
.js .hero__mark,.js .wordmark,.js .rule,.js .hero__tag,.js .hero__where{opacity:1;transform:none;animation:none}
/* the advisor sign-in stays out of the phone bar (.bar__door was winning by source order) */
@media (max-width:52rem){.bar__door.bar__hide{display:none}}

/* ---------- list markers that were drawn as dashes and dots: retired ---------- */
.office li::before,.offer li::before,.tier li::before,.more summary::before{display:none}
.office li{padding-left:0}
.offer li{padding-left:0}
.tier li{padding-left:0}
.more summary{text-transform:none;letter-spacing:0;font-size:.84rem;text-decoration:underline;text-underline-offset:.25em}
.towns b{text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:1.05rem;font-weight:400}
.calc__net span{text-transform:none;letter-spacing:.02em;font-size:.86rem}
.faq__q summary::after{content:"";width:.6rem;height:.6rem;border-right:1.5px solid var(--branchport);border-bottom:1.5px solid var(--branchport);
  transform:rotate(45deg);margin-top:-.2rem;transition:transform .25s var(--ease)}
.faq__q[open] summary::after{transform:rotate(-135deg);margin-top:.2rem}

/* ---------- plain text link, used wherever an arrow link used to be ---------- */
.go{font-family:var(--sans);font-size:.9rem;letter-spacing:.02em;color:var(--hunter);
  text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.go:hover{text-decoration-thickness:2px}
.band--dark .go,.band--deep .go{color:var(--manchester)}
.band--dark .go:hover,.band--deep .go:hover{color:var(--simply)}

/* ---------- buttons on green: white reads louder than tan ---------- */
.hero__acts a{font-size:.86rem;padding:.85rem 1.5rem;border-radius:3px}
.hero__acts a:first-child{background:var(--simply);color:var(--hunter-deep);border-color:var(--simply)}
.hero__acts a:first-child:hover{background:var(--manchester);border-color:var(--manchester)}
.hero__acts a+a{color:var(--simply);border-color:rgba(247,245,238,.55)}
.hero__acts a+a:hover{background:rgba(247,245,238,.12);border-color:var(--simply)}

/* ---------- masthead: the office, moving, behind one sentence ---------- */
.hero--media{text-align:left;padding:0;overflow:hidden;min-height:min(46rem,92vh);display:flex;flex-direction:column;justify-content:flex-end;background:var(--hunter-deep)}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block}
.hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(35,56,35,.95) 0%,rgba(35,56,35,.86) 38%,rgba(35,56,35,.42) 72%,rgba(35,56,35,.25) 100%),
             linear-gradient(0deg,rgba(35,56,35,.75) 0%,rgba(35,56,35,0) 45%)}
.hero__over{position:relative;z-index:1;width:100%;padding:clamp(7rem,16vh,10rem) 0 clamp(3.25rem,8vh,5rem)}
.hero__copy{max-width:36rem}
.hero__copy h1{margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(2.7rem,6.2vw,4.8rem);line-height:1.02;letter-spacing:-.015em;color:var(--simply);text-wrap:balance}
.hero__copy .hero__lede{max-width:31rem;margin:1.5rem 0 0;font-size:1.1em;line-height:1.7;color:rgba(247,245,238,.92)}
.hero__copy .hero__lede a{color:var(--simply);font-weight:700;text-decoration:none;white-space:nowrap;border-bottom:2px solid var(--manchester)}
.hero__copy .hero__lede a:hover{color:var(--manchester)}
.hero__copy .hero__acts{justify-content:flex-start;margin-top:2.1rem}
@media (max-width:40rem){
  .hero--media{min-height:min(40rem,88vh)}
  .hero__media::after{background:linear-gradient(0deg,rgba(35,56,35,.96) 0%,rgba(35,56,35,.9) 48%,rgba(35,56,35,.35) 100%)}
  .hero__over{padding-top:9rem}
}
@media (prefers-reduced-motion:reduce){.hero__media video{display:none}.hero__media{background:url(office-2610-1800.jpg) center 55%/cover no-repeat}}

/* ---------- start with your question ---------- */
.asks{display:grid;gap:1rem 3rem;align-items:center}
@media (min-width:56rem){.asks{grid-template-columns:minmax(0,15rem) 1fr}}
.asks h2{margin:0;font-size:clamp(1.35rem,2vw,1.6rem);max-width:none}
.asks__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.asks__list a{display:inline-block;font-family:var(--sans);font-size:.9rem;line-height:1.2;color:var(--hunter);text-decoration:none;
  padding:.7rem 1.05rem;border:1px solid var(--hunter);border-radius:999px;background:var(--simply);
  transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}
.asks__list a:hover,.asks__list a:focus-visible{background:var(--hunter);color:var(--simply);transform:translateY(-1px)}

/* ---------- the three ways in ---------- */
.doors{border:1px solid var(--rule)}
.door-card h3{font-size:clamp(1.6rem,2.4vw,2rem);margin:0 0 .75rem;letter-spacing:-.01em}
.door-card p{color:var(--ink-soft);font-size:.98em;margin-bottom:1.4rem}
.door-card .go{align-self:flex-start}

/* ---------- the people, on green ---------- */
.people{display:grid;gap:2.5rem 4rem}
@media (min-width:56rem){.people{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}
.people__head p{max-width:30rem;margin:0 0 1.5rem;color:rgba(247,245,238,.88)}
.faces{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:30rem){.faces{grid-template-columns:1fr}}
.face a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;background:var(--simply);color:var(--ink);
  border-radius:6px;overflow:hidden;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.face a:hover,.face a:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.face__photo{display:block;aspect-ratio:1;background:var(--louisburg-wash)}
.face__photo img{width:100%;height:100%;object-fit:cover;display:block}
.face b{display:block;margin:1rem 1.15rem 0;font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.25;color:var(--hunter)}
.face__role{display:block;margin:.4rem 1.15rem 0;font-family:var(--sans);font-size:.84rem;line-height:1.55;color:var(--branchport)}
.face__go{display:inline-block;align-self:flex-start;margin:1rem 1.15rem 1.15rem;font-family:var(--sans);font-size:.86rem;
  padding:.6rem 1rem;border-radius:3px;background:var(--hunter);color:var(--simply);transition:background .18s var(--ease)}
.face a:hover .face__go{background:var(--hunter-soft)}

/* ---------- how we work ---------- */
.how{display:grid;gap:2rem 4rem}
@media (min-width:56rem){.how{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}
.how__head p{margin:0}
.how__head a{color:var(--hunter)}
.how__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.how__list li{padding:1.1rem 0;border-bottom:1px solid var(--rule);
  font-family:var(--serif);font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.35;color:var(--hunter)}

/* ---------- the seller's net ---------- */
.net{display:grid;gap:2rem 4rem}
@media (min-width:56rem){.net{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}
.net__head p{margin:0}
.net__head a{color:var(--hunter)}
.net .calc{border:1px solid var(--rule);max-width:none;background:var(--paper)}
.net .calc__note{margin-top:1.1rem}
.calc__net output{transition:color .2s var(--ease)}
.calc__net output.is-moving{color:var(--hunter-soft)}

/* ---------- contact ---------- */
.reachout{display:grid;gap:2rem 4rem}
@media (min-width:56rem){.reachout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.reachout h2{margin-bottom:.6rem}
.reachout p{max-width:28rem}
.reachout p a{color:var(--hunter)}
.notify .reach{margin:0 0 .9rem;font-family:var(--sans);line-height:1.2}
.notify .reach a{display:inline-block;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:600;color:var(--hunter);text-decoration:none;letter-spacing:.01em}
.notify .reach a:hover{color:var(--hunter-soft)}
.notify .reach .ph-digits{display:block;margin-top:.25rem;font-size:.9rem;color:var(--branchport)}
.reachout__or{margin:0 0 .9rem;color:var(--ink-soft)}
.notify .note{margin-top:1.25rem}

/* ---------- for advisors: one line ---------- */
.foragents p{max-width:none;margin:0;font-size:.98em;color:var(--ink-soft)}
.foragents a{color:var(--hunter)}

/* ---------- footer: three short columns, then the required text ---------- */
.foot__top{display:grid;gap:2.5rem 3rem;padding-bottom:2.5rem;margin-bottom:2.25rem;border-bottom:1px solid var(--rule)}
@media (min-width:52rem){.foot__top{grid-template-columns:13rem 1fr;align-items:start}}
.footcols{display:grid;gap:1.75rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));font-family:var(--sans);font-size:.84rem}
.footcols b{display:block;font-weight:500;color:var(--hunter);margin-bottom:.55rem}
.footcols ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.footcols a{color:var(--branchport);text-decoration:none}
.footcols a:hover,.footcols a[aria-current=page]{color:var(--hunter);text-decoration:underline;text-underline-offset:.2em}
.legal p{max-width:52rem}
.face__go{margin-top:auto}
.btn{text-transform:none;letter-spacing:.03em;font-size:.88rem}
