@font-face{font-family:Newsreader;src:url(/fonts/newsreader-display.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url(/fonts/newsreader-display-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2) format("woff2");font-weight:400 800;font-display:swap}

:root{
  --paper:#f4f2e8;--paper-light:#fbf9f1;--stone:#e8e6d9;--ink:#19261e;--pine:#18251e;
  --muted:#526154;--light:#f6f3e7;--light-muted:#c5ccbf;--lime:#dbe7a5;--olive:#aab57b;--rule:#c5c9b8;
  --serif:Newsreader,Georgia,serif;--sans:Manrope,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --side:clamp(20px,5.3vw,90px);--width:1280px;--section:clamp(76px,9vw,146px);
  color-scheme:light;font-family:var(--sans);background:var(--paper);color:var(--ink);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:34px}
body{margin:0;font-size:16px;line-height:1.64}
::selection{background:var(--lime);color:var(--pine)}
[hidden]{display:none!important}
h1,h2,h3,p,figure,dl,dd,blockquote{margin:0}
h1,h2,h3,.display{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:.97}
h1{font-size:clamp(59px,8vw,130px)}
h2,.display{font-size:clamp(48px,6.7vw,101px)}
h3{font-size:clamp(32px,4vw,53px)}
h1 em,h2 em,.display em{font-weight:400}
p{max-width:65ch}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,summary,select{cursor:pointer}
img{display:block;max-width:100%;height:auto}
summary::-webkit-details-marker{display:none}
summary{list-style:none}
:focus-visible{outline:2px solid #6e812d;outline-offset:5px}
.hero :focus-visible,.footer :focus-visible{outline-color:var(--lime)}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:10px;left:10px;z-index:10;background:var(--lime);color:var(--ink);padding:12px 18px}
.wrap{width:min(calc(100% - 2 * var(--side)),var(--width));margin-inline:auto}
.section{padding-block:var(--section)}
.icon{width:20px;height:20px;flex:none}
.eyebrow,.crumb,.hero-edition,figcaption,.image-label,.footer-legal{
  font-family:var(--mono);font-size:.69rem;line-height:1.42;font-weight:500;letter-spacing:.12em
}
.eyebrow{margin-bottom:20px}
.lead{font-size:clamp(1rem,1.45vw,1.28rem);line-height:1.55;max-width:42ch}
.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:49px;font-weight:750;font-size:.86rem}
.button{padding:11px 17px 11px 19px;border:1px solid transparent;border-radius:3px;line-height:1.25;white-space:normal;text-align:left;transition:background .2s,color .2s,border-color .2s}
.button--filled{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.button--filled:hover{background:#ecf2c8;border-color:#ecf2c8}
.button--outline{border-color:currentColor;background:transparent;color:inherit}
.button--outline:hover{background:var(--ink);border-color:var(--ink);color:var(--light)}
.text-link{min-height:44px;justify-content:flex-start;gap:10px;padding:3px 0;border:0;border-radius:0;background:transparent;color:inherit}
.text-link span{border-bottom:1px solid currentColor;padding-block:2px}
.text-link .icon,.button .icon{transition:transform .22s ease}
.text-link:hover .icon{transform:translateX(4px)}
.button:hover .icon{transform:translate(2px,-2px)}
.brand{display:inline-flex;align-items:center;gap:10px;line-height:1;min-height:45px}
.brand .mark{width:40px;height:40px;flex:none}
.brand-type{font-weight:800;font-size:1.05rem;letter-spacing:.14em;display:grid;gap:5px}
.brand-type span{font-family:var(--mono);font-weight:500;font-size:.52rem;letter-spacing:.115em}
.site-header{position:relative;z-index:4;background:var(--paper);border-bottom:1px solid var(--rule)}
.header-inner{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:30px;width:min(calc(100% - 2 * var(--side)),var(--width));margin:auto}
.header-inner>.button{min-height:42px;padding:9px 13px 9px 15px;font-size:.78rem}
.header-inner>.button .icon{width:16px}
.desktop-nav{display:flex;gap:clamp(18px,3.2vw,55px);align-items:center}
.desktop-nav>a{display:grid;place-items:center;min-height:44px;font-size:.84rem;font-weight:750}
.desktop-nav>a:hover,.desktop-nav>a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.menu{display:none}

.hero{background:var(--pine);color:var(--light);display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr)}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:clamp(550px,49vw,760px);padding:60px 3vw 94px max(var(--side),calc((100vw - var(--width))/2));}
.hero-label{display:flex;align-items:center;gap:10px;margin-bottom:clamp(26px,4.5vw,64px);color:var(--lime)}
.hero-label .eyebrow{margin:0}
.signal{width:7px;height:7px;background:var(--lime);border-radius:50%;flex:none}
.hero h1{font-size:clamp(56px,6.75vw,121px);line-height:.91;letter-spacing:-.053em;margin-left:-.036em}
.hero h1 em{color:var(--lime)}
.hero-copy>p{color:var(--light-muted);font-size:clamp(.99rem,1.2vw,1.18rem);margin-top:clamp(16px,2.4vw,35px);max-width:33ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px 22px;margin-top:clamp(19px,2.5vw,37px)}
.hero-edition{position:absolute;left:max(var(--side),calc((100vw - var(--width))/2));bottom:24px;color:var(--light-muted)}
.hero-edition::before{content:"";display:inline-block;width:22px;border-top:1px solid var(--olive);margin-right:10px;vertical-align:middle}
.hero-figure{position:relative;min-width:0;min-height:0}
.hero-image{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;background:#26382c}
.hero-media{position:relative;display:block;min-height:0}
.hero-media img{position:absolute;inset:0}
.hero-image:focus-visible{outline-offset:-7px;z-index:1}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:52% 57%}
.hero-caption{display:flex;align-items:center;gap:16px;min-height:59px;padding:10px 21px;border-top:1px solid #6c7864;background:#223229;color:var(--light);font-size:.93rem;font-weight:750}
.hero-caption-meta{margin-left:auto;font:500 .65rem/1.35 var(--mono);letter-spacing:.1em;color:var(--light-muted)}
.hero-image:hover .hero-caption .icon{transform:translate(2px,-2px)}
.plate-index{font-family:var(--mono);font-size:.72rem;color:var(--lime);border-right:1px solid #75816e;padding-right:12px}
.hero-figure .icon{width:17px;color:var(--lime)}
.territory{border-bottom:1px solid var(--rule)}
.territory-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:18px}
.territory .eyebrow{margin:0;color:var(--muted)}
.territory nav{display:flex;gap:clamp(18px,6vw,90px)}
.territory a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-weight:750;font-size:.88rem}
.territory a:hover{text-decoration:underline;text-underline-offset:4px}
.territory .icon{width:14px;color:#5e7151}

.section-head{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.7fr);gap:30px;align-items:end;margin-bottom:clamp(28px,5vw,62px)}
.section-head>div:last-child{padding-bottom:3px;color:var(--muted)}
.section-head .text-link{color:var(--ink);margin-top:10px}
.feature-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:clamp(18px,4vw,64px);align-items:start}
.feature:nth-child(2){margin-top:clamp(16px,5.8vw,88px)}
.frame{position:relative;display:block;overflow:hidden;background:#c0c4ae}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
a.frame:hover img{transform:scale(1.025)}
.frame-action{position:absolute;inset:auto 0 0 auto;display:grid;place-items:center;width:49px;height:49px;background:var(--lime);color:var(--ink)}
.feature .frame{aspect-ratio:1.34}
.feature .eyebrow{margin:17px 0 8px;color:var(--muted)}
.feature h3{margin-bottom:4px}
.feature h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.feature>p:last-child{color:var(--muted)}
.method,.stage-section{background:var(--stone)}
.method-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(25px,6vw,100px);align-items:center}
.method-grid .lead,.prep .lead{margin:23px 0 9px}
.method-image img{width:100%;aspect-ratio:1.26;object-fit:cover}
.method-image figcaption,.process-top figcaption,.plan-story figcaption,.area-photo figcaption{margin-top:10px;color:var(--muted)}
.home-services,.faq-grid,.prep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:clamp(24px,7vw,110px);align-items:start}
.service-list{border-top:1px solid var(--rule)}
.service-list>a{display:grid;grid-template-columns:28px 1fr 20px;gap:12px;align-items:start;padding:20px 0;border-bottom:1px solid var(--rule)}
.service-list .eyebrow{margin:6px 0 0;color:var(--muted)}
.service-list strong{display:block;font-family:var(--serif);font-size:clamp(27px,3vw,42px);font-weight:450;letter-spacing:-.03em;line-height:1.08;margin-bottom:6px}
.service-list small{display:block;color:var(--muted);font-size:.91rem;line-height:1.5;max-width:38ch}
.service-list .icon{margin-top:4px;transition:transform .2s}
.service-list a:hover .icon{transform:translate(3px,-3px)}

.page-intro{padding-block:clamp(28px,4vw,53px) clamp(31px,6vw,83px)}
.crumb{display:flex;align-items:center;gap:9px;color:var(--muted);letter-spacing:.06em;margin-bottom:clamp(23px,5vw,75px);font-size:.73rem}
.crumb a{display:inline-flex;align-items:center;min-height:30px;text-decoration:underline;text-underline-offset:3px}
.page-intro .eyebrow{color:var(--muted)}
.page-intro h1{max-width:16ch}
.page-intro .lead{margin-top:clamp(13px,2vw,25px);color:var(--muted)}
.concept-list{padding-bottom:var(--section)}
.concept + .concept{margin-top:clamp(60px,10vw,142px)}
.concept-image .frame{aspect-ratio:2.02}
.concept-image .frame img{object-position:50% 59%}
.concept-image figcaption{display:flex;justify-content:space-between;gap:12px;color:var(--muted);margin-top:10px}
.concept-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,6vw,91px);margin-top:clamp(22px,4vw,56px)}
.concept-story h2{font-size:clamp(46px,6vw,88px)}
.concept-line{font-family:var(--serif);font-size:1.5rem;font-style:italic;margin-top:8px}
.detail-ledger{border-top:1px solid var(--rule);margin-block:19px}
.detail-ledger div{display:grid;grid-template-columns:minmax(68px,.35fr) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--rule)}
.detail-ledger dt{font-weight:750;font-size:.83rem}
.detail-ledger dd{overflow-wrap:anywhere;color:var(--muted);font-size:.9rem}
.tradeoff{font-size:.93rem;color:var(--muted)}
.concept-links,.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:20px}
.service-details{padding-bottom:var(--section)}
.service-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.97fr);gap:clamp(20px,6.7vw,102px);align-items:center}
.service-block + .service-block{margin-top:clamp(68px,10vw,138px)}
.service-block:nth-child(even) .service-photo{order:2}
.service-photo{aspect-ratio:1.12}
.image-label{position:absolute;bottom:0;left:0;padding:8px 12px;background:var(--paper);color:var(--ink)}
.service-copy h2{font-size:clamp(43px,5.55vw,82px);margin-bottom:14px}
.service-copy p{color:var(--muted)}
.service-copy h3.eyebrow{margin:22px 0 0}
.faq{background:#e6e9d5}
.disclosures{border-top:1px solid #b4bea9}
.disclosures details{border-bottom:1px solid #b4bea9}
.disclosures summary{display:flex;justify-content:space-between;align-items:center;gap:13px;min-height:58px;padding-block:11px;font-weight:750}
.disclosures p{color:var(--muted);padding:0 24px 17px 0}
.disclosures details[open] .icon{transform:rotate(45deg)}
.process-top,.plan-layout{display:grid;grid-template-columns:minmax(0,1.19fr) minmax(0,1fr);gap:clamp(28px,6vw,100px);align-items:center;padding-bottom:clamp(44px,8vw,112px)}
.process-top>.page-intro,.plan-story .page-intro{width:100%;padding-bottom:10px}
.process-top figure{margin-top:clamp(30px,7vw,100px)}
.process-top img{width:100%;aspect-ratio:.92;object-fit:cover}
.stages{margin:33px 0 0;padding:0;border-top:1px solid var(--rule);list-style:none}
.stages li{display:grid;grid-template-columns:70px minmax(160px,.9fr) minmax(0,1fr);gap:20px;padding:24px 0;border-bottom:1px solid var(--rule)}
.stage-number{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin-top:6px}
.stages h3{font-size:clamp(31px,3.4vw,55px)}
.stages p{max-width:47ch}
.deliverable{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-top:10px;font-size:.86rem;font-weight:750}
.deliverable .eyebrow{color:var(--muted);margin:0}
.prep p + p{margin-bottom:16px;color:var(--muted)}
.area-photo img{width:100%;aspect-ratio:2.75;object-fit:cover;object-position:50% 55%}
.town-list{padding-block:clamp(45px,7vw,110px) var(--section)}
.town{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1fr);gap:clamp(24px,7vw,100px);border-top:1px solid var(--rule);padding-block:clamp(26px,5vw,62px)}
.town:last-child{border-bottom:1px solid var(--rule)}
.town h2{font-size:clamp(46px,6.3vw,92px)}
.town h3{font-size:clamp(30px,3.4vw,49px);margin-bottom:11px}
.town p:not(.eyebrow){color:var(--muted)}
.town blockquote{border-left:2px solid #8a9a62;margin-top:17px;padding-left:12px;font:italic 1.29rem/1.25 var(--serif)}
.plan-layout{align-items:start}
.plan-story figure{margin-top:28px}
.plan-story img{width:100%;aspect-ratio:1.62;object-fit:cover}
.plan-panel{background:var(--paper-light);border:1px solid var(--rule);padding:clamp(18px,3.5vw,42px);margin-top:clamp(30px,7.2vw,106px)}
.plan-panel h2{font-size:clamp(43px,5vw,70px)}
.plan-panel .form-note{margin-top:10px;font-size:.86rem;color:var(--muted)}
.plan-panel fieldset{border:0;padding:0;margin:19px 0 0;min-width:0}
.plan-panel label{display:block;font-size:.87rem;font-weight:750;margin:0 0 4px}
.plan-panel label small{color:var(--muted);margin-left:4px;font-weight:500}
.plan-panel select,.plan-panel textarea{width:100%;border:1px solid #a3ae9e;border-radius:3px;background:#fffdf6;color:var(--ink);padding:10px 12px;margin-bottom:15px;min-height:46px;font-size:1rem}
.plan-panel textarea{display:block;resize:vertical}
.plan-panel .button{width:100%}
.brief-result{margin-top:24px;padding-top:22px;border-top:1px solid var(--rule)}
.brief-result>p:not(.eyebrow){margin-top:8px;color:var(--muted)}
.brief-result #brief-edit{margin-top:6px}
.missing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.58fr);align-items:center;gap:32px;padding-block:var(--section)}
.missing .lead{margin-top:17px}
.missing-art{display:grid;place-items:center;background:var(--pine);color:var(--lime);aspect-ratio:1.17}

.footer{background:var(--pine);color:var(--light)}
.footer-invite{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-block:clamp(45px,7vw,99px);border-bottom:1px solid #62705e}
.footer-invite .eyebrow,.footer-invite em{color:var(--lime)}
.footer-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr);gap:20px;padding-block:36px}
.footer-main>div>p{font-size:.86rem;color:var(--light-muted);margin-top:6px}
.footer-main nav{display:flex;flex-direction:column;align-items:start;gap:3px}
.footer-main nav .eyebrow{color:var(--light-muted);margin:5px 0 7px}
.footer-main nav a{font-size:.88rem;line-height:1.65;min-height:32px;display:inline-flex;align-items:center}
.footer-main nav a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-legal{border-top:1px solid #62705e;display:flex;justify-content:space-between;gap:12px;color:var(--light-muted);padding:13px 0 23px}
.footer-legal p{letter-spacing:.015em}

@media(max-width:920px){
  .header-inner{gap:18px}
  .desktop-nav{gap:18px}
  .hero-copy{padding-inline-end:23px}
}
@media(max-width:800px){
  .desktop-nav,.header-inner>.button{display:none}
  .header-inner{min-height:64px}
  .menu{display:block}
  .menu summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:3px 0 3px 9px;font-size:.79rem;font-weight:800}
  .menu summary .icon:nth-child(2),.menu[open] summary .icon:first-child{display:none}
  .menu[open] summary .icon:nth-child(2){display:block}
  .menu nav{position:absolute;inset:100% 0 auto;display:grid;padding:10px var(--side) 22px;background:var(--paper-light);border-bottom:1px solid var(--rule);box-shadow:0 15px 24px #0f1b181a}
  .menu nav>a:not(.button){padding:9px 0;display:flex;align-items:center;min-height:46px;border-bottom:1px solid var(--rule);font-weight:750}
  .menu nav>a[aria-current]{color:#405c39}
  .menu .button{margin-top:13px;justify-self:start}
  .process-top,.plan-layout{grid-template-columns:1fr;gap:23px}
  .process-top figure,.plan-panel{margin-top:0}
  .process-top img{aspect-ratio:1.45;object-position:50% 56%}
  .plan-story figure{display:none}
}
@media(max-width:720px){
  .hero{grid-template-columns:1fr}
  .hero-copy{min-height:auto;padding:30px var(--side) 31px}
  .hero-label{margin-bottom:24px}
  .hero h1{font-size:clamp(52px,15.2vw,83px)}
  .hero-copy>p{font-size:.98rem;line-height:1.52;margin-top:13px}
  .hero-actions{margin-top:15px;gap:4px 15px}
  .hero-edition{display:none}
  .hero-figure{min-height:0}
  .hero-media{aspect-ratio:1.2}
  .hero-image img{object-position:55% 62%}
  .hero-caption{min-height:49px;padding:9px var(--side);gap:9px;font-size:.83rem}
  .hero-caption-meta{font-size:.56rem;letter-spacing:.025em}
  .territory-inner{display:block;padding:12px 0 7px}
  .territory .eyebrow{font-size:.65rem}
  .territory nav{justify-content:space-between;gap:6px}
  .territory a{font-size:.83rem}
  .section-head,.feature-grid,.method-grid,.home-services,.faq-grid,.prep,.concept-story,.service-block,.town,.missing{grid-template-columns:1fr}
  .section-head{gap:11px}
  .feature:nth-child(2){margin-top:9px}
  .feature-grid{gap:24px}
  .service-block:nth-child(even) .service-photo{order:initial}
  .service-photo{aspect-ratio:1.42}
  .concept-image .frame{aspect-ratio:1.24}
  .concept-story{gap:10px}
  .concept-line{margin-top:4px}
  .stages li{grid-template-columns:32px minmax(0,1fr);gap:7px 12px}
  .stages li>div{grid-column:2}
  .area-photo img{aspect-ratio:1.7}
  .town{gap:9px}
  .footer-invite{display:block}
  .footer-invite .button{margin-top:16px}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-main>div{grid-column:1/-1}
  .footer-legal{flex-wrap:wrap;gap:5px}
}
@media(max-width:355px){
  .hero-actions{gap:3px 11px}
  .hero-actions .button{padding-inline:12px;gap:9px}
  .hero-actions .text-link{gap:4px}
  .button,.text-link{font-size:.8rem}
  .territory a{gap:3px;font-size:.77rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Concept collection index */
.collection-index{display:grid;border-top:1px solid var(--rule);margin-top:22px}
.collection-index a{display:grid;grid-template-columns:25px 1fr auto;gap:10px;align-items:center;padding:8px 0;min-height:51px;border-bottom:1px solid var(--rule);transition:background .2s}
.collection-index a:hover{background:#e7ead8}
.collection-index strong,.collection-index small{display:block;line-height:1.32}
.collection-index strong{font-size:.92rem}
.collection-index small{font-size:.73rem;color:var(--muted);margin-top:1px}
.index-num{font:500 .68rem/1 var(--mono);color:var(--muted)}
.collection-index .icon{width:16px}
@media(min-width:801px){
  [data-page="/concepts/"] .page-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(225px,.6fr);column-gap:clamp(20px,5vw,80px)}
  [data-page="/concepts/"] .page-intro>.crumb{grid-column:1/-1}
  [data-page="/concepts/"] .page-intro>.eyebrow,[data-page="/concepts/"] .page-intro>h1,[data-page="/concepts/"] .page-intro>.lead{grid-column:1}
  .collection-index{grid-column:2;grid-row:2/5;align-self:end;margin-bottom:2px}
}
@media(max-width:720px){
  [data-page="/concepts/"] .page-intro{padding-bottom:23px}
  [data-page="/concepts/"] .page-intro h1{font-size:clamp(46px,13.1vw,83px)}
  [data-page="/concepts/"] .page-intro .crumb{margin-bottom:17px}
  [data-page="/concepts/"] .page-intro .eyebrow{margin-bottom:11px}
}

/* Photographic plate viewer */
body:has(.photo-dialog[open],.detail-dialog[open]){overflow:hidden}
.photo-dialog{width:min(100% - 28px,1050px);max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #5f705e;background:var(--pine);color:var(--light);overflow:auto}
.photo-dialog::backdrop{background:#0e1a13db}
.photo-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 14px;border-bottom:1px solid #62705e}
.photo-bar .eyebrow{margin:0;color:var(--lime)}
.photo-control{min-width:45px;min-height:45px;padding:0;display:grid;place-items:center;border:1px solid #7d8a76;border-radius:2px;background:transparent;color:var(--light)}
.photo-control:hover{background:var(--lime);color:var(--pine);border-color:var(--lime)}
.photo-control:focus-visible{outline-color:var(--lime);outline-offset:2px}
.photo-figure{margin:0}
.photo-figure img{width:100%;height:min(68dvh,680px);object-fit:contain;background:#0e1711}
.photo-figure figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px 0;color:var(--light-muted)}
#photo-title{color:var(--light);font:400 clamp(23px,4vw,42px)/1 var(--serif);letter-spacing:-.02em}
.photo-controls{display:flex;justify-content:flex-end;gap:8px;padding:9px 14px 14px}
.photo-controls [data-photo-turn="-1"] .icon{transform:scaleX(-1)}
.photo-error{padding:32px 14px;color:var(--light-muted)}
@media(max-width:720px){.photo-figure img{height:auto;min-height:220px;max-height:60dvh}}

.photo-source{display:block;width:100%;height:100%}

@media(max-width:800px){
  .menu nav>a:not(.button){display:grid;grid-template-columns:24px minmax(0,1fr) 17px;gap:10px;min-height:56px}
  .menu nav>a strong,.menu nav>a small{display:block;line-height:1.35}
  .menu nav>a small{font-weight:500;font-size:.77rem;color:var(--muted);margin-top:2px}
  .menu-num{font:500 .67rem/1 var(--mono);color:var(--muted)}
  .menu nav>a:not(.button) .icon{width:17px}
  .menu nav>a[aria-current]{box-shadow:inset 2px 0 #7b9050;padding-inline-start:9px;background:#e9eddb}
  .menu .button{justify-self:stretch}
}

.plan-story .page-intro h1{font-size:clamp(52px,8.1vw,117px);text-wrap:balance}
.plan-panel>h2{font-size:clamp(34px,4vw,59px)}
.plan-panel .form-note{margin-top:5px}
@media(max-width:800px){
  .plan-layout{gap:16px}
  .plan-story .page-intro{padding-block:17px 3px}
  .plan-story .crumb{margin-bottom:10px}
  .plan-story .page-intro .eyebrow{margin-bottom:9px}
  .plan-story .page-intro .lead{margin-top:9px}
  .plan-panel{padding:18px}
}



.brief-print-head,.brief-print-footer{display:none}
.brief-actions{display:flex;flex-wrap:wrap;gap:8px 10px}
.brief-actions .button{width:auto;flex:1 1 152px}
.brief-result .detail-ledger dd{white-space:pre-wrap}
.plan-panel:has(.brief-result:not([hidden]))>h2,.plan-panel:has(.brief-result:not([hidden]))>.form-note{display:none}
.plan-panel:has(.brief-result:not([hidden])) .brief-result{margin-top:0;padding-top:0;border:0}


.area-opening{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);align-items:center;gap:clamp(16px,4.5vw,72px);padding-bottom:clamp(28px,5vw,78px)}
.area-opening .page-intro{width:100%;padding-bottom:0}
.area-opening .page-intro h1{font-size:clamp(51px,6.25vw,96px)}
.coverage{margin-top:clamp(28px,6vw,83px)}
.coverage-map{position:relative;aspect-ratio:1.58;background:#203127;color:var(--light)}
.coverage-map>img{width:100%;height:100%;position:absolute;inset:0}
.map-kicker{position:absolute;inset:16px auto auto 15px;color:var(--lime);font-size:.63rem}
.map-marker{position:absolute;display:flex;align-items:center;gap:8px;min-height:42px;padding:4px 9px;background:#18251e;border:1px solid #9eb191;font-size:.82rem;font-weight:750;color:var(--light);transition:background .2s,color .2s}
.map-marker span{width:7px;height:7px;border-radius:50%;background:var(--lime)}
.map-marker:hover,.map-marker:focus-visible{background:var(--lime);color:var(--ink);outline-color:#f5f9db}
.map-marker:hover span,.map-marker:focus-visible span{background:var(--ink)}
.map-marker--kingwood{inset:22% auto auto 38%}
.map-marker--humble{inset:52% auto auto 12%}
.map-marker--atascocita{inset:68% auto auto 47%}
.map-water{position:absolute;inset:45% 4% auto auto;font:500 .65rem/1.33 var(--mono);letter-spacing:.12em;color:#d1dbc6}
.coverage figcaption{display:flex;justify-content:space-between;gap:9px;color:var(--muted);margin-top:8px}
.area-photo img{aspect-ratio:4.6}
@media(max-width:800px){
  .area-opening{grid-template-columns:1fr}
  .area-opening .crumb{margin-bottom:15px}
  .coverage{margin-top:3px}
  .area-photo img{aspect-ratio:2.2}
}
@media(max-width:400px){
  .coverage-map{aspect-ratio:1.34}
  .map-marker{font-size:.74rem;min-height:44px}
  .map-marker--atascocita{left:42%}
}

.light-view{display:block;width:100%;height:100%}
.light-study{display:flex;align-items:center;justify-content:space-between;gap:16px;border-block:1px solid var(--rule);margin-top:18px;padding:9px 0}
.light-study p{font-size:.9rem}
.light-study p span{color:var(--muted);margin-left:9px}
.light-study [role=group]{display:flex;flex:none;border:1px solid #84927d}
.light-study button{border:0;background:transparent;color:var(--ink);padding:7px 14px;min-height:44px;font-size:.84rem;font-weight:750}
.light-study button[aria-pressed=true]{background:var(--pine);color:var(--light)}
.light-study button:focus-visible{outline-offset:1px}
@media(max-width:720px){
  .light-study{align-items:flex-start;flex-direction:column;gap:7px;padding:10px 0}
  .light-study p span{display:block;margin-left:0}
}

.material-section{background:var(--pine);color:var(--light)}
.material-section .eyebrow{color:var(--lime)}
.material-section .section-head{align-items:end}
.material-section .section-head>p{color:var(--light-muted)}
.materials-nav{display:flex;gap:0;border-bottom:1px solid #6c7864;margin-bottom:24px}
.materials-nav button{display:flex;gap:12px;align-items:center;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--light-muted);font-size:.92rem;font-weight:750;min-height:51px;padding:7px 24px 7px 0;margin-right:25px}
.materials-nav button span{font:500 .65rem/1 var(--mono);color:var(--lime)}
.materials-nav button[aria-selected=true]{border-bottom-color:var(--lime);color:var(--lime)}
.materials-nav button:focus-visible{outline-color:var(--lime);outline-offset:2px}
.material-panel{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(24px,6vw,85px);align-items:center}
.material-panel+ .material-panel{margin-top:40px}
.material-panel[role=tabpanel]{margin-top:0}
.material-panel figure img{width:100%;aspect-ratio:1.5;object-fit:cover}
.material-panel h3{font-size:clamp(34px,4.3vw,65px);max-width:13ch}
.material-panel h3+p{color:var(--light-muted);margin-top:14px}
.material-question{border-top:1px solid #6c7864;padding-top:13px;margin-top:19px;font:italic 1.35rem/1.25 var(--serif)}
@media(max-width:720px){
  .material-panel{grid-template-columns:1fr;gap:20px}
  .materials-nav{justify-content:space-between;gap:5px;margin-bottom:18px}
  .materials-nav button{padding:5px 2px;font-size:.85rem;gap:6px;margin-right:0}
  .material-panel h3{max-width:18ch}
}

.footprint{margin-top:23px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:.9rem}
.footprint summary{display:flex;justify-content:space-between;align-items:center;padding:9px 0;min-height:44px;font-weight:750}
.footprint summary>span:last-child{font-size:1.2rem;line-height:1;transition:transform .2s}
.footprint[open] summary>span:last-child{transform:rotate(45deg)}
.footprint svg{display:block;width:100%;height:auto}
.footprint figcaption{color:var(--muted);margin-top:6px;font-size:.64rem}
.footprint>p{font-size:.86rem;color:var(--muted);padding-bottom:12px;margin-top:6px}

.local-opening{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(26px,5vw,80px);align-items:center;padding-block:35px clamp(40px,6vw,90px)}
.local-copy .crumb{flex-wrap:wrap;margin-bottom:clamp(25px,4vw,60px)}
.local-copy .eyebrow{color:var(--muted)}
.local-copy h1{font-size:clamp(53px,6.6vw,98px)}
.local-copy .lead{color:var(--muted);margin:20px 0}
.local-hero img{width:100%;aspect-ratio:.96;object-fit:cover}
.local-hero figcaption{font-size:.62rem;margin-top:8px;color:var(--muted)}
.local-decisions{background:var(--stone)}
.local-decisions h2{font-size:clamp(45px,5.6vw,86px);max-width:13ch}
.local-decisions .section-head>p{color:var(--muted)}
.local-decision-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,5vw,76px);list-style:none;margin:0;padding:0}
.local-decision-list li{border-top:1px solid var(--rule);padding-top:16px}
.local-decision-list .eyebrow{color:var(--muted);margin-bottom:11px}
.local-decision-list h3{font-size:clamp(30px,3vw,45px);margin-bottom:10px}
.local-decision-list p{font-size:.94rem}
.local-source{margin-top:27px;font-size:.77rem;color:var(--muted)}
.local-source a{text-decoration:underline;text-underline-offset:3px}
.local-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,6vw,90px)}
.local-next ul{padding:0;margin:0;list-style:none;border-top:1px solid var(--rule)}
.local-next li{padding:13px 0;border-bottom:1px solid var(--rule)}
.local-route-back{padding-bottom:50px}
@media(max-width:800px){
  .local-opening{grid-template-columns:1fr;gap:22px;padding-top:21px}
  .local-copy .crumb{margin-bottom:16px;font-size:.66rem}
  .local-copy .eyebrow{margin-bottom:12px}
  .local-copy h1{font-size:clamp(46px,12.9vw,74px)}
  .local-copy .lead{margin:13px 0}
  .local-hero img{aspect-ratio:1.45;object-position:55% 63%}
  .local-decision-list,.local-next{grid-template-columns:1fr}
}

.stages{position:relative}
.stages::before{content:"";position:absolute;inset:0 auto 0 17px;width:1px;background:#adb89c}
.stages li{position:relative;padding-block:clamp(20px,3.1vw,42px)}
.stage-number{display:grid;place-items:center;width:35px;height:35px;border:1px solid #81936b;border-radius:50%;background:var(--stone);color:var(--ink);margin-top:2px}
.stage-name>p{font:italic 1.18rem/1.15 var(--serif);color:var(--muted);margin-top:8px}
.stage-content .deliverable{border-top:1px solid var(--rule);padding-top:8px;margin-top:12px}
@media(max-width:720px){
  .stages li{grid-template-columns:35px minmax(0,1fr);gap:10px 13px}
  .stages .stage-name{grid-column:2}
}

.renovation-ledger{margin-top:8px;border-top:1px solid var(--rule)}
.renovation-ledger>div{display:grid;grid-template-columns:minmax(63px,.28fr) minmax(0,1fr);gap:11px;border-bottom:1px solid var(--rule);padding:10px 0}
.renovation-ledger dt{font:500 .74rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.renovation-ledger dd{font-size:.89rem;color:var(--muted);line-height:1.5}

.pool-use{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--rule)}
.pool-use a{display:grid;grid-template-columns:minmax(64px,.34fr) minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid var(--rule);min-height:46px;padding:7px 0;font-size:.88rem}
.pool-use a:hover{background:#e8ebd5}
.pool-use a>span{color:var(--muted);line-height:1.42}
.pool-use .icon{width:17px}

.plan-panel [aria-invalid=true]{border-color:#91503b;margin-bottom:4px}
.field-error{color:#7b3c2d;font-size:.8rem;line-height:1.45;margin-bottom:13px}

.brief-next{margin:17px 0 20px;padding:13px 14px;border-left:2px solid #809063;background:#e9ecdb}
.brief-next .eyebrow{margin:0 0 5px;color:var(--muted)}
.brief-next #brief-site-note{font-size:.91rem;line-height:1.52}

.brand-type .wordmark{display:block;width:142px;height:auto;color:inherit}
.brand-type{gap:4px}
@media(max-width:400px){.brand-type .wordmark{width:128px}}

.missing-art{display:block;aspect-ratio:auto;padding:clamp(20px,3vw,42px);color:var(--light)}
.missing-stamp{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--lime);font:500 .68rem/1.4 var(--mono);letter-spacing:.12em;margin-bottom:14px}
.missing-stamp .mark{width:39px;height:39px}
.missing-routes{border-top:1px solid #61725e}
.missing-routes a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:10px 0;border-bottom:1px solid #61725e}
.missing-routes a:hover{color:var(--lime)}
.missing-routes a:focus-visible{outline-color:var(--lime)}
.missing-routes strong,.missing-routes small{display:block;line-height:1.45}
.missing-routes small{color:var(--light-muted);font-size:.82rem}

.footer-main nav a[aria-current=page]{color:var(--lime);text-decoration:underline;text-underline-offset:4px}

.concept-turn{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--rule);margin-top:clamp(23px,4vw,54px);padding-top:10px}
.next-concept{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;min-height:50px}
.next-concept span{display:grid;gap:4px}
.next-concept strong{font:400 clamp(23px,3vw,34px)/1.05 var(--serif);letter-spacing:-.02em}
.next-concept small{font:500 .62rem/1.4 var(--mono);letter-spacing:.09em;color:var(--muted)}
.next-concept:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media(max-width:400px){.concept-turn{gap:3px 12px}.next-concept{gap:7px}}

.photo-figure{touch-action:pan-y pinch-zoom}
.swipe-note{display:none}
@media(max-width:720px){
  .swipe-note{display:inline-block;align-self:center;margin-right:auto;color:var(--light-muted);font-size:.79rem}
}

.hero-caption{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.hero-caption-lines{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;line-height:1.25}
.hero-caption-meta{margin:0}
@media(max-width:420px),(min-width:721px) and (max-width:1020px){
  .hero-caption-lines{grid-template-columns:1fr;gap:3px}
  .hero-caption-meta{font-size:.57rem;letter-spacing:.06em}
}
@media(min-width:721px) and (max-width:920px){
  .hero-edition{font-size:.6rem;letter-spacing:.08em;right:12px}
}

.scope-index{display:grid;gap:6px;margin-top:20px}
.scope-index a{display:grid;grid-template-columns:auto minmax(0,1fr) 16px;align-items:center;gap:9px;min-height:57px;padding:8px 10px;border:1px solid var(--rule);transition:background .2s}
.scope-index a:hover{background:#e7ead8}
.scope-index strong,.scope-index small{display:block;line-height:1.38}
.scope-index strong{font-size:.92rem}
.scope-index small{font-size:.73rem;color:var(--muted)}
.scope-index .icon{width:16px}
@media(min-width:801px){
  [data-page="/pool-design/"] .page-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.63fr);column-gap:clamp(30px,5vw,80px)}
  [data-page="/pool-design/"] .page-intro>.crumb{grid-column:1/-1}
  [data-page="/pool-design/"] .page-intro>.eyebrow,[data-page="/pool-design/"] .page-intro>h1,[data-page="/pool-design/"] .page-intro>.lead{grid-column:1}
  .scope-index{grid-column:2;grid-row:2/5;align-self:end}
}
@media(max-width:720px){
  [data-page="/pool-design/"] .page-intro .crumb{margin-bottom:16px}
  [data-page="/pool-design/"] .page-intro .eyebrow{margin-bottom:12px}
  [data-page="/pool-design/"] .page-intro h1{font-size:clamp(47px,13.1vw,83px)}
  [data-page="/pool-design/"] .page-intro{padding-bottom:21px}
  .scope-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scope-index a{grid-template-columns:minmax(0,1fr) 14px;gap:2px 5px;min-height:76px;padding:7px 8px}
  .scope-index .index-num{grid-column:1/-1}
  .scope-index .icon{width:14px}
}

.footer-invite{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.62fr);gap:clamp(20px,5vw,70px);align-items:center}
.footer-brief{border-top:1px solid #6c7966;padding-top:12px}
.footer-brief ol{display:flex;justify-content:space-between;gap:7px;list-style:none;padding:0;margin:0 0 13px;color:var(--light-muted);font-size:.85rem}
.footer-brief li{display:inline-flex;align-items:baseline;gap:5px}
.footer-brief li span{font:500 .65rem/1.2 var(--mono);color:var(--lime)}
.footer-brief .button{width:100%}
.footer-brief>p{color:var(--light-muted);font-size:.77rem;margin-top:9px}
@media(max-width:800px){
  .footer-invite{grid-template-columns:1fr}
  .footer-brief{max-width:375px}
  .footer-brief .button{margin-top:0}
}

/* Courtyard details */
.hero-details-button{position:absolute;z-index:1;inset:16px 18px auto auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:7px 13px;border:1px solid #a3b098;background:#18251ef2;color:var(--light);font-size:.78rem;font-weight:750}
.hero-details-button .icon{width:16px}
.hero-details-button:hover{background:var(--lime);color:var(--ink)}
.hero-details-button:hover .icon{color:var(--ink)}
.detail-dialog{width:min(1050px,100% - 26px);max-width:none;max-height:calc(100dvh - 26px);border:1px solid #60725f;padding:0;overflow:auto;background:var(--pine);color:var(--light)}
.detail-dialog::backdrop{background:#0e1a13df}
.detail-dialog .photo-bar{position:sticky;z-index:2;top:0;background:var(--pine)}
.detail-dialog :focus-visible{outline-color:var(--lime);outline-offset:4px}
.detail-room{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(255px,1fr);gap:clamp(18px,3vw,40px);padding:clamp(12px,2.3vw,30px)}
.detail-frame{position:relative;align-self:start;aspect-ratio:1402/1122;background:#26382c}
.detail-frame img{width:100%;height:auto}
.detail-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--lime);border-radius:50%;background:var(--pine);color:var(--light);font:750 .75rem/1 var(--mono);box-shadow:0 0 0 4px #18251e55;transition:color .15s,background .15s}
.detail-pin:hover,.detail-pin[aria-pressed=true]{color:var(--ink);background:var(--lime)}
.detail-margin{align-self:center}
.detail-margin .eyebrow,.detail-note .eyebrow{color:var(--lime);margin:0 0 7px}
.detail-margin h2{font-size:clamp(36px,4vw,59px)}
.detail-margin .detail-instruction{font-size:.88rem;color:var(--light-muted);margin-top:10px}
.detail-note{border-block:1px solid #64705d;padding:16px 0;margin:18px 0 6px;min-height:148px}
.detail-note h3{font-size:clamp(27px,3vw,41px)}
.detail-note h3+p{font-size:.93rem;color:var(--light-muted);margin-top:8px}
@media(max-width:720px){
  .hero-details-button{inset:12px 12px auto auto}
  .detail-room{grid-template-columns:1fr;gap:16px}
  .detail-frame{max-width:520px;width:100%;justify-self:center}
  .detail-margin{padding:0 4px}
  .detail-note{min-height:0;margin-top:12px;padding-block:12px}
}

/* Design comparison */
[data-page="/concepts/"] .page-intro{padding-bottom:clamp(24px,3.8vw,56px)}
.comparison{margin-bottom:clamp(25px,3.2vw,47px);border-block:1px solid var(--rule)}
.comparison>summary,.stage-sample>summary,.brief-options>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px}
.comparison>summary{padding:clamp(12px,1.7vw,20px) 0}
.comparison>summary :is(strong,small),.brief-options>summary :is(strong,small){display:block}
.comparison>summary strong{font:400 clamp(29px,3.4vw,47px)/1.02 var(--serif);letter-spacing:-.04em}
.comparison>summary small,.brief-options>summary small{color:var(--muted);margin-top:4px}
.comparison>summary .eyebrow{color:var(--muted);margin-bottom:7px}
:is(.comparison,.stage-sample,.brief-options)>summary .icon{transition:transform .18s}
:is(.comparison,.stage-sample,.brief-options)[open]>summary .icon{transform:rotate(45deg)}
.comparison-body{padding:0 0 clamp(15px,3vw,40px)}
.comparison-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left;line-height:1.48}
.comparison-label{width:135px}
.comparison-table :is(th,td){vertical-align:top;padding:13px clamp(6px,1.5vw,22px)}
.comparison-table tbody tr{border-top:1px solid var(--rule)}
.comparison-table tbody th{font:700 .68rem/1.45 var(--mono);letter-spacing:.04em;color:var(--muted);text-transform:uppercase;padding-left:0}
.comparison-table tbody td{border-left:1px solid var(--rule);font-size:.91rem;overflow-wrap:anywhere}
.comparison-table thead th{border-left:1px solid var(--rule)}
.comparison-plate img{width:100%;aspect-ratio:1.9;object-fit:cover;object-position:center 57%;background:#d9deca}
.comparison-plate figcaption{font:400 clamp(20px,2.6vw,39px)/1.08 var(--serif);letter-spacing:-.03em;margin-top:9px}
.comparison-plate a:hover{text-decoration:underline;text-underline-offset:4px}
.comparison-control{display:grid;gap:3px;margin-bottom:10px;font-size:.76rem;font-weight:750;color:var(--muted)}
.comparison-control select,.renovation-choices select{width:100%;min-height:44px;padding:6px 8px;border:1px solid #a3ae9e;border-radius:2px;background:var(--paper-light);color:var(--ink)}
@media(max-width:450px){
  .comparison-label{width:61px}
  .comparison-table :is(th,td){padding-inline:6px}
  .comparison-table tbody th{font-size:.61rem;padding-left:0}
  .comparison-table tbody td,.comparison-control select{font-size:.81rem}
  .comparison-control select{padding-inline:4px}
  .comparison-plate img{aspect-ratio:1.35}
}

/* Sample documents and map questions */
.stage-sample{border-top:1px solid var(--rule);margin-top:10px;font-size:.85rem}
.stage-sample>summary{font-weight:750;min-height:44px}
.sample-paper{border:1px solid var(--rule);border-top:3px solid #7a8a66;background:var(--paper-light);padding:clamp(12px,2vw,24px);margin-bottom:10px}
.sample-paper .eyebrow{color:var(--muted);margin-bottom:10px}
.sample-paper dl>div{display:grid;grid-template-columns:minmax(72px,.4fr) minmax(0,1fr);gap:10px;border-top:1px solid var(--rule);padding:8px 0}
.sample-paper dt{font-weight:750}
.sample-paper dd{font-size:.87rem;color:var(--muted)}
.sample-foot{font:.66rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.plan-drawing svg{display:block;width:100%;height:auto}
.sample-paper .plan-drawing{margin-bottom:12px}
.sample-paper .plan-drawing figcaption{margin-top:4px;color:var(--muted)}
.coverage{display:contents}
.area-opening{row-gap:clamp(12px,2.5vw,32px)}
.area-opening .page-intro{grid-column:1;grid-row:1;align-self:end}
.coverage>figure{grid-column:2;grid-row:1/3;align-self:center;margin-top:clamp(28px,6vw,83px)}
.coverage-questions{grid-column:1;grid-row:2;align-self:start;border-top:1px solid var(--rule);padding:13px 0 0}
.coverage-questions .eyebrow{color:var(--muted);margin-bottom:8px}
.coverage-questions [data-map-question]>p:last-child{font:italic clamp(22px,2.25vw,34px)/1.15 var(--serif)}
.coverage-questions .text-link{margin-top:3px}
.map-marker{font-family:var(--sans);text-align:left}
.map-marker[aria-pressed=true]{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.map-marker[aria-pressed=true] span{background:var(--ink)}
@media(max-width:800px){
  .area-opening .page-intro,.coverage>figure,.coverage-questions{grid-area:auto}
  .coverage>figure{margin-top:3px}
}

/* Town field studies */
.yard-study h2,.renovation-study h2{font-size:clamp(44px,6vw,91px);max-width:15ch}
.yard-key{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 20px;padding:10px 0;border-top:1px solid var(--rule);color:var(--muted);font-size:.76rem}
.yard-key>span{font:500 .64rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.yard-key ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0}
.yard-key li{display:flex;align-items:center;gap:6px}
.yard-key i{display:block;width:14px;height:10px;border:1px solid #6f7c68}
.yard-key .yard-key--water{background:#779681}
.yard-key .yard-key--deck{background:#d7c9aa}
.yard-key .yard-key--canopy{border-radius:50%;background:#c3cda3}
.yard-key .yard-key--access{height:0;border:0;border-top:2px dashed #915b41}
.yard-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(13px,3vw,38px)}
.yard-options article{background:var(--paper-light);border:1px solid var(--rule)}
.yard-options figure{border-bottom:1px solid var(--rule)}
.yard-options svg{display:block;width:100%;height:auto}
.yard-options article>div{padding:clamp(15px,2.7vw,35px)}
.yard-options .eyebrow{margin-bottom:8px;color:var(--muted)}
.yard-options h3{font-size:clamp(31px,3.7vw,56px)}
.yard-options h3+p{margin-top:9px;color:var(--muted)}
.yard-tradeoff{font-weight:750;font-size:.88rem;margin-top:13px;padding-top:11px;border-top:1px solid var(--rule)}
.yard-ground{fill:#ebeadc}
.yard-boundary{fill:none;stroke:#76866c;stroke-dasharray:3 4}
.yard-house{fill:#d3c9ad;stroke:#a19678}
.yard-water{fill:#779681;stroke:#5d7e68}
.yard-deck{fill:#d7c9aa;stroke:#b6a882}
.yard-seat{fill:#eae0c7;stroke:#938665}
.yard-canopy{fill:#c3cda3;fill-opacity:.84;stroke:#81965e;stroke-dasharray:3 2}
.yard-trunk{fill:#637751}
.yard-entry{stroke:#293f32;stroke-width:3}
.yard-steps{stroke:#e5e9d0;stroke-width:1.4;fill:none}
.yard-access{stroke:#915b41;stroke-width:2;stroke-dasharray:5 3;fill:none}
.yard-index,.yard-label{font:700 10px var(--mono);letter-spacing:.1em;fill:#455b49}
.renovation-study{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(21px,6vw,84px);align-items:start}
.renovation-study h2+p{color:var(--muted);margin-top:15px}
.renovation-sheet{background:var(--paper-light);border:1px solid var(--rule);padding:clamp(15px,3vw,34px)}
.renovation-sheet>.eyebrow{margin-bottom:7px}
.checklist-intro,.checklist-status{font-size:.85rem;color:var(--muted)}
.renovation-choices{border-top:1px solid var(--rule);margin:12px 0}
.renovation-choices>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.78fr);align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--rule)}
.renovation-choices label{font-weight:750;font-size:.86rem;margin:0}
.renovation-sheet .button{margin-top:10px;width:100%}
@media(max-width:720px){
  .renovation-study{grid-template-columns:1fr}
  .yard-study .section-head{gap:10px}
}
@media(max-width:600px){.yard-options{grid-template-columns:1fr}}

/* Private brief and recovery */
.material-save{border-color:#7d8a76;color:var(--light);background:transparent;margin-top:14px}
.material-save:hover,.material-save[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.material-save[aria-pressed=true] .icon{transform:rotate(45deg)}
.material-save:focus-visible,.saved-palette :focus-visible{outline-color:var(--lime)}
.saved-palette{margin-top:25px;padding-top:11px;border-top:1px solid #6c7864;display:flex;align-items:center;justify-content:space-between;gap:5px 18px;flex-wrap:wrap}
.saved-palette p{color:var(--light-muted);font-size:.9rem}
.brief-options{border-block:1px solid var(--rule);margin-bottom:17px}
.brief-options>summary{font-size:.9rem;padding:6px 0;line-height:1.4}
.brief-options>summary small{font-size:.75rem}
.brief-choices{padding-bottom:11px}
.plan-panel .brief-choices fieldset{margin:0 0 11px;border:0;padding:0;min-width:0}
.brief-choices legend{font-size:.87rem;font-weight:750;margin-bottom:4px}
.brief-material-choices label{display:flex;align-items:center;gap:9px;min-height:42px;margin:0;border-top:1px solid var(--rule)}
.brief-material-choices input{width:18px;height:18px;accent-color:var(--ink);margin:0}
.brief-choices .renovation-choices{margin:0}
.brief-choices .renovation-choices select{margin:0}
.brief-reference{margin:16px 0 0}
.brief-reference img{width:100%;aspect-ratio:2.25;object-fit:cover;object-position:50% 59%}
.brief-reference figcaption{margin-top:6px;color:var(--muted);letter-spacing:.05em}
.brief-export-status{font-size:.82rem}
.brief-result .detail-ledger dd{overflow-wrap:anywhere}
.brief-actions .text-link{margin:0 8px 0 0}
.brief-actions button:disabled{opacity:.7;cursor:wait}
.missing-suggestion{border-left:2px solid #84956c;background:#e6ead4;padding:9px 14px;margin-top:16px;max-width:360px}
.missing-suggestion .eyebrow{margin:0;color:var(--muted)}
@media print{
  @page{size:letter;margin:12mm}
  body[data-page="/plan/"]:has(.brief-result:not([hidden])){background:white;color:#18251e}
  body[data-page="/plan/"]:has(.brief-result:not([hidden])) :is(.site-header,.skip-link,.footer,.plan-story,.brief-actions,.brief-result>.eyebrow,.brief-result>p:not(.brief-print-footer)){display:none}
  body[data-page="/plan/"] .plan-layout{display:block;width:100%;padding:0}
  body[data-page="/plan/"] .plan-panel{margin:0;border:0;background:white;padding:0}
  .brief-print-head{display:flex;align-items:center;gap:10px;font-size:8pt;font-weight:800;letter-spacing:.1em;margin-bottom:15px;border-bottom:1px solid #a3ae9e;padding-bottom:7px}
  .brief-print-head .mark{width:32px;height:32px}
  .brief-result h2{font-size:34pt}
  .brief-reference{margin-top:8px}
  .brief-reference img{height:45mm;object-fit:cover}
  .brief-reference figcaption{font-size:8pt}
  .brief-result .detail-ledger{margin:11px 0}
  .brief-result .detail-ledger div{break-inside:avoid;padding-block:4px}
  .brief-result .detail-ledger :is(dt,dd){font-size:9pt;line-height:1.35}
  .brief-result .detail-ledger dd{white-space:normal}
  .brief-next{break-inside:avoid;background:white;border:1px solid #a3ae9e;margin-block:8px;padding:7px}
  .brief-next #brief-site-note{font-size:9pt}
  .brief-print-footer{display:block;margin-top:10px;font-size:8pt}
}
