@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap');
:root{--iron:#1f2326;--slate:#66777d;--plaster:#f3f0e9;--stone:#ddd8ce;--rust:#a34f32;--brown:#2b2621;--white:#faf9f6;--serif:"Source Serif 4",Georgia,serif;--sans:"Source Sans 3",Arial,sans-serif;--gutter:clamp(1.25rem,4vw,4.5rem);--measure:72rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--plaster);color:var(--brown);font:400 1.05rem/1.65 var(--sans)}a{color:inherit;text-underline-offset:.2em;text-decoration-color:var(--rust)}a:hover{text-decoration-thickness:2px}button,input,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--white);padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.overline{margin:0 0 .8rem;color:var(--rust);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}h1,h2{font-family:var(--serif);font-weight:600;line-height:1.08;color:var(--iron);margin:0}h1{font-size:clamp(2.65rem,5vw,4.8rem)}h2{font-size:clamp(2rem,3.2vw,3.25rem)}
.site-header{height:4.75rem;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:var(--iron);color:var(--white);border-bottom:1px solid rgba(250,249,246,.18)}.wordmark{text-decoration:none;line-height:1.1}.wordmark strong{display:block;font:600 1rem var(--serif);letter-spacing:.02em;text-transform:uppercase}.wordmark span{font-size:.72rem;color:var(--white)}.site-nav{display:flex;gap:clamp(1.2rem,2.5vw,2.5rem);font-size:.88rem}.site-nav a{text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{color:#e6a58c}.menu-toggle{display:none;border:1px solid var(--white);color:var(--white);background:transparent;padding:.4rem .65rem}
.hero{max-width:90rem;margin:auto;padding:clamp(4rem,8vw,7rem) var(--gutter) clamp(4rem,8vw,7rem)}.hero-copy{max-width:72rem}.brand-line{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin:0 0 1.5rem}.brand-line span{display:block;font-weight:400;text-transform:none;letter-spacing:0}.hero-copy h1{max-width:16ch;font-size:clamp(3.25rem,7vw,7rem)}.hero-subhead{max-width:26ch;margin:1.25rem 0 0;font:400 clamp(1.55rem,2.6vw,2.25rem)/1.3 var(--serif);color:var(--slate)}.hero-divider{display:block;width:3rem;height:3px;margin:1.75rem 0;background:var(--rust)}.hero-description{max-width:42rem;margin:0 0 1.25rem;font-size:1.14rem;line-height:1.55}.text-link{color:var(--rust);font-weight:600}.hero-image{display:block;margin-top:clamp(2.5rem,5vw,4.5rem);height:clamp(28rem,58vw,50rem)}.hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}
.story,.about,.property,.contact{max-width:var(--measure);margin:auto;padding:clamp(4rem,8vw,7rem) var(--gutter);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,7rem);border-top:1px solid rgba(31,35,38,.22)}.story-lead h2{max-width:15ch}.standfirst{font:400 clamp(1.35rem,2.2vw,1.8rem)/1.35 var(--serif);color:var(--slate);margin:1.25rem 0}.story-body p:first-child,.about-copy p:first-child,.property-story p:first-child{font-size:1.2rem}.story-body p:first-child,.about-copy p:first-child{margin-top:0}
.model{background:var(--slate);color:var(--white);padding:clamp(4rem,7vw,6rem) max(var(--gutter),calc((100vw - var(--measure))/2 + var(--gutter)));display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,7vw,7rem)}.model .overline{color:var(--white)}.model h2{color:var(--white);font-size:clamp(2rem,3vw,3rem);max-width:13ch}.model-intro>p:last-child{max-width:30rem}.model dl{margin:0}.model dl div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid rgba(250,249,246,.4)}.model dt{font-family:var(--serif);font-size:1.2rem;font-weight:600}.model dd{margin:0;color:var(--white)}
.property{align-items:start}.property-record{border-top:4px solid var(--rust);padding-top:1.25rem}.property-record h2{font-size:clamp(2.25rem,4vw,3.6rem);margin-bottom:1.5rem}.property-record dl{margin:0}.property-record dl div{display:grid;grid-template-columns:6rem 1fr;padding:.55rem 0;border-top:1px solid rgba(31,35,38,.18)}.property-record dt{font-weight:600}.property-record dd{margin:0}.property-story{padding-top:2.5rem}.button{display:inline-flex;align-items:center;gap:.5rem;background:var(--rust);color:var(--white);border:2px solid var(--rust);padding:.7rem 1rem;text-decoration:none;font-weight:600;cursor:pointer}.button:hover,.button:focus-visible{background:var(--iron);border-color:var(--iron)}.email-cta{gap:.65rem;margin-top:1rem;text-transform:uppercase;letter-spacing:.04em}
.services{display:grid;grid-template-columns:1.08fr .92fr;background:var(--stone)}.services-image{min-height:40rem}.services-image img{display:block;width:100%;height:100%;min-height:40rem;object-fit:cover;object-position:center}.services-copy{align-self:center;padding:clamp(3.5rem,7vw,6rem) var(--gutter);max-width:42rem}.services-copy h2{margin-bottom:1.5rem}.pullquote{font:600 clamp(1.3rem,2vw,1.75rem)/1.35 var(--serif);border-left:3px solid var(--rust);padding-left:1.1rem;margin:1.8rem 0}
.about h2{max-width:14ch}.about-copy p:last-of-type{border-top:1px solid rgba(31,35,38,.22);padding-top:1.25rem}.philosophy{max-width:var(--measure);margin:auto;padding:clamp(4rem,7vw,6rem) var(--gutter);border-top:1px solid rgba(31,35,38,.22)}.philosophy ul{list-style:none;padding:0;margin:1.5rem 0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.philosophy li{font:600 clamp(1.35rem,2vw,1.75rem)/1.25 var(--serif);padding-top:1rem;border-top:2px solid var(--slate)}.philosophy>p:last-child{max-width:38rem;margin-left:auto;color:var(--slate)}
.contact{max-width:none;background:var(--iron);color:var(--white);border:0;padding-left:max(var(--gutter),calc((100vw - var(--measure))/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100vw - var(--measure))/2 + var(--gutter)))}.contact h2{color:var(--white);margin-bottom:1.25rem}.contact-intro>a{color:#e6a58c}.contact-form{background:var(--plaster);color:var(--brown);padding:clamp(1.5rem,3vw,2.5rem)}.field{margin-bottom:1.1rem}.field label{display:flex;justify-content:space-between;font-size:.86rem;font-weight:600}.field label small{font-weight:400;color:var(--slate)}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--slate);background:transparent;padding:.55rem .1rem;outline:none}.field textarea{border:1px solid var(--slate);padding:.7rem;margin-top:.35rem;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--rust);box-shadow:0 2px 0 var(--rust)}[aria-invalid=true]{border-color:var(--rust)!important}.field-error{display:block;min-height:1.15em;color:#84371f;font-size:.78rem}.form-status{min-height:1.5em}.is-success{color:#285b38}.is-error{color:#84371f}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
footer{background:var(--stone);color:var(--brown);border-top:1px solid rgba(31,35,38,.16);padding:2.5rem var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;font-size:.8rem}.footer-brand strong,.footer-brand span,.footer-end span{display:block}.footer-brand strong{font-family:var(--serif);font-size:1rem;text-transform:uppercase}footer nav{display:flex;gap:1rem}.footer-end{text-align:right}
@media(min-width:901px){.hero{padding-top:.75rem}.brand-line{margin-bottom:.75rem}.hero-copy h1{max-width:20ch;font-size:clamp(3.25rem,5.5vw,5.5rem)}.hero-subhead{margin-top:.4rem}.hero-divider{margin:.6rem 0}.hero-description{margin-bottom:.4rem}.hero-image{margin-top:.4rem}}
@media(max-width:900px){.hero-copy{max-width:44rem}.hero-copy h1{font-size:clamp(3.25rem,9vw,5.5rem)}.hero-image{height:65vw}.story,.about,.property,.contact,.model{grid-template-columns:1fr}.story-lead h2,.about h2{max-width:20ch}.property-story{padding-top:0}.services{grid-template-columns:1fr}.services-image,.services-image img{min-height:32rem;height:60vw}.services-copy{max-width:50rem}.philosophy ul{gap:1.25rem}footer{grid-template-columns:1fr 1fr}footer nav{grid-column:1/-1;grid-row:2}.footer-end{grid-column:2;grid-row:1}}
@media(max-width:720px){.site-header{height:4.5rem}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--iron);padding:1rem var(--gutter) 1.5rem;flex-direction:column;border-bottom:1px solid rgba(250,249,246,.18)}.site-nav.is-open{display:flex}.hero{padding-left:0;padding-right:0}.hero-copy{padding:0 var(--gutter)}.hero-copy h1{max-width:13ch;font-size:clamp(2.85rem,13vw,4.25rem)}.hero-subhead{font-size:clamp(1.4rem,6.5vw,1.85rem)}.hero-description{font-size:1.05rem}.hero-image{height:85vw;min-height:23rem}.hero-image img{object-position:57% center}.model dl div{grid-template-columns:1fr;gap:.15rem}.philosophy ul{grid-template-columns:1fr}.services-image,.services-image img{min-height:24rem;height:80vw}.contact-form{margin-left:-.25rem;margin-right:-.25rem}footer{grid-template-columns:1fr}footer nav,.footer-end{grid-column:auto;grid-row:auto;text-align:left;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
