/* Saltmarsh A, coastal editorial (2026-10-29 restyle). Loads last on every A page.
   Linen paper, Newsreader serif display over Söhne text, navy ink with a sea-glass accent,
   hairline rules, one arched photo per hero. Nothing floats over a dark photo. */
@font-face{font-family:"Newsreader";src:url(fonts/Newsreader-latin.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/Newsreader-italic-latin.woff2) format("woff2");font-weight:300 600;font-style:italic;font-display:swap}
:root{
  --bg:#f5f1e8;--bg-2:#ebe4d5;--card:#fffdf8;--hdr-bg:rgba(245,241,232,.96);
  --ink:#17263b;--ink-h:#0c1626;--on-ink:#fff;--mute:#5b6470;--ph:#9aa1a9;
  --rule:rgba(23,38,59,.13);--rule-2:rgba(23,38,59,.26);
  --accent:#4e7c74;--accent-h:#3f675f;--on-accent:#fff;--accent-l:#4e7c74;--on-accent-l:#fff;
  --dark:#17263b;--btn-r:2px;--r:2px;
  --fd:"Newsreader",Georgia,"Times New Roman",serif;
  --map-road:#cfc6b4;--map-mute:#5b6470;--map-ink:#17263b;--map-dot:#4e7c74;
}
body.ed{background:var(--bg)}
.ed :is(h1,h2,h3){font-family:var(--fd);font-weight:400;letter-spacing:-.018em;line-height:1.04}
.ed h2{font-size:clamp(34px,4.3vw,62px)}
.ed h3{font-weight:500;letter-spacing:-.01em}
.ed .tag::before{background:var(--accent)}

/* buttons: squared, quiet, navy */
.ed .btn{height:52px;padding:0 24px;border-radius:2px;font-size:15.5px;letter-spacing:0}
.ed .btn-acc{background:var(--ink);color:#fff}.ed .btn-acc:hover{background:var(--accent)}
.ed .btn-ink:hover{background:var(--accent)}

/* header: a solid paper bar with a hairline, on every page */
.ed .hdr,.ed .hdr.scrolled{background:var(--hdr-bg);box-shadow:0 1px 0 var(--rule);-webkit-backdrop-filter:none;backdrop-filter:none}
.ed .hdr::before,.ed .hdr::after{content:none}
.ed .hdr-in{height:76px}
.ed .logo-cur img,.ed .hdr.scrolled .logo-cur img{height:44px}
.ed .logo-cur img.on-dark{display:none!important}
.ed .logo-cur img.on-light{display:block!important;opacity:1!important;position:static!important}
.ed .nav>a,.ed .nav>button{color:var(--ink-2,#3b4655);font-size:15px}
.ed .hdr-ph{color:var(--ink)}
.ed .burger{border-color:var(--rule-2)}.ed .burger i{background:var(--ink)}

/* home and page hero: copy left, one arched portrait right */
.edh{padding:calc(76px + clamp(32px,4.4vw,72px)) 0 clamp(48px,6vw,88px)}
.edh-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,6vw,104px);align-items:center}
.edh h1{font-size:clamp(46px,5.6vw,92px);letter-spacing:-.025em;line-height:1;max-width:13ch}
.edh-pg h1{font-size:clamp(42px,5.2vw,80px);max-width:14ch}
.edh-intro{margin-top:clamp(22px,2.4vw,32px);font-size:clamp(17px,1.35vw,19.5px);line-height:1.6;color:var(--mute);max-width:34em}
.edh-act{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}
.edh-ph{font-size:15.5px;color:var(--ink);border-bottom:1px solid var(--rule-2);padding-bottom:2px;transition:border-color .25s}
.edh-ph:hover{border-color:var(--ink)}
.edh-proof{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:clamp(36px,4vw,56px);padding-top:20px;border-top:1px solid var(--rule);font-size:14.5px;color:var(--mute)}
.edh-proof li{display:inline-flex;align-items:center;gap:8px}
.edh-proof .stars svg{width:13px;height:13px;fill:var(--accent)}
.edh-fig{margin:0;justify-self:end;width:100%;max-width:560px}
.edh-fig img{width:100%;height:min(calc(100vh - 230px),680px);min-height:440px;object-fit:cover;border-radius:999px 999px 0 0;background:var(--bg-2)}
.edh-pg .edh-fig img{height:min(calc(100vh - 260px),600px);min-height:400px}
.edh-fig figcaption{margin-top:14px;font-family:var(--fd);font-style:italic;font-size:15.5px;color:var(--mute)}
.edh .crumbs{margin-bottom:22px;color:var(--mute);font-size:14px}
.edh .crumbs a{color:var(--mute)}.edh .crumbs a:hover{color:var(--ink)}
.edh .crumbs i{font-style:normal;margin:0 8px;opacity:.5}

/* stats strip under the home hero */
.specs-sec .specs{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.ed .specs b{font-family:var(--fd);font-weight:300;letter-spacing:-.02em}

/* services: the numbered list, set in the serif */
.ed .svx{border-top:1px solid var(--ink)}
@media (min-width:961px){.ed .svx-n{display:block;font-family:var(--fd);font-style:italic;font-size:17px;color:var(--accent)}.ed .svx-row{grid-template-columns:64px minmax(0,1fr) auto 56px}}
.ed .svx-t{font-family:var(--fd);font-weight:400;letter-spacing:-.02em}
.ed .svx-ar{border-radius:2px}
.ed .svx-row:hover .svx-ar{background:var(--ink);border-color:var(--ink);color:#fff;transform:none}
.ed .svx-float{border-radius:999px 999px 0 0}

/* sections: generous, separated by hairlines rather than color blocks */
.ed main>.sec{position:relative}
.ed main>.sec+.sec::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:var(--rule);max-width:calc(1360px - 2*var(--gut));margin:0 auto}
.ed .sec-head p{font-size:17.5px}
.ed figcaption{font-family:var(--fd);font-style:italic}
.ed .year{font-family:var(--fd);font-weight:300}
.ed .rq-s p{font-family:var(--fd);font-weight:400;font-style:italic}
.ed .rq-ph,.ed .qc-ph img,.ed .cm-ph img{border-radius:999px 999px 0 0}
.ed .rq-ph{overflow:hidden}
.ed details summary{font-family:var(--fd);font-size:clamp(20px,1.8vw,24px);font-weight:400}
.ed .est-steps i{font-family:var(--fd);font-style:italic;color:var(--accent)}
.ed .start{border-radius:2px;border:1px solid var(--rule)}

/* the one dark band keeps the navy, nothing louder */
.ed .it-sec,.ed .areas{background:var(--dark)}

/* footer */
.ed .fm{background:var(--bg-2)}
.ed .fm-ph,.ed .fm a.fm-ph{font-family:var(--fd);font-weight:400}

@media (max-width:900px){
  .edh{padding-top:calc(76px + 28px)}
  .edh-in{grid-template-columns:1fr;gap:32px}
  .edh-fig{justify-self:stretch;max-width:none}
  .edh-fig img,.edh-pg .edh-fig img{height:auto;min-height:0;aspect-ratio:4/3.4;border-radius:220px 220px 0 0}
  .edh h1{max-width:none}
}
@media (max-width:640px){
  .ed .hdr-in{height:64px}
  .ed .logo-cur img,.ed .hdr.scrolled .logo-cur img{height:36px}
  .edh{padding-top:calc(64px + 24px)}
  .edh h1{font-size:clamp(40px,11vw,52px)}
  .edh-act .btn{width:100%}
  .edh-act{gap:14px}
}

/* every section gets its full top spacing: hairlines separate them, so nothing collapses */
.ed main>.sec{padding-top:clamp(80px,9vw,136px)!important}
/* inner pages carry long, specific headlines: set them smaller and wider than the home hero */
.edh-pg h1{font-size:clamp(36px,4vw,62px);line-height:1.04;max-width:18ch}
@media (max-width:640px){.edh-pg h1{font-size:clamp(32px,8.6vw,40px)}}

/* selected projects: named jobs right under the hero, the way luxury window makers lead with work */
.edp{padding:clamp(48px,6vw,88px) 0 clamp(48px,6vw,88px)}
.edp-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding-bottom:16px}
.edp-head h2{font-size:clamp(30px,3vw,44px)}
.edp-all{display:inline-flex;align-items:center;gap:8px;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:1px}
.edp-all svg{width:14px;height:14px}
.edp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(20px,2.4vw,32px)}
.edp-card figure{margin:0;overflow:hidden;aspect-ratio:4/3;background:var(--stone,#e9e4da)}
.edp-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.edp-card:hover img{transform:scale(1.03)}
.edp-name{margin-top:14px;font-family:var(--serif,"Newsreader",Georgia,serif);font-size:22px;line-height:1.2}
.edp-meta{margin-top:4px;font-size:14.5px;color:var(--steel,#6b6b66)}
@media (max-width:900px){.edp-grid{grid-template-columns:1fr 1fr}.edp-card:nth-child(3){display:none}}
@media (max-width:560px){.edp-grid{grid-template-columns:1fr}.edp-card:nth-child(3){display:block}}
