*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--site-bg,var(--color-cream));color:var(--site-ink,var(--color-ink));font-family:var(--font-body);font-size:16px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:absolute;z-index:10;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:1.4rem var(--content-gutter);color:#fff;border-bottom:1px solid #ffffff33}.brand{font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.65rem);font-weight:600;letter-spacing:-.03em}.site-header nav{display:flex;gap:2rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em}.header-cta{justify-self:end;border-bottom:1px solid currentColor;padding-bottom:.25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.hero{position:relative;min-height:100svh;color:#fff;display:flex;align-items:flex-end}.hero>img{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:#05070a80}.hero-copy{position:relative;z-index:1;width:min(80rem,100%);padding:9rem var(--content-gutter) 5rem}.kicker{margin:0 0 1.5rem;color:var(--site-accent);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.hero h1,.section h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.05em;line-height:.86}.hero h1{max-width:13ch;margin:0;font-size:clamp(4rem,9vw,9rem);text-wrap:balance}.hero-meta{display:flex;gap:3rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #ffffff55;font-size:.82rem;letter-spacing:.04em}.hero-meta p{margin:0}.scroll-cue{position:absolute;z-index:1;right:var(--content-gutter);bottom:5rem;display:flex;gap:1rem;align-items:center;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.scroll-cue span{font-size:1.2rem}.section{padding:clamp(5rem,10vw,10rem) var(--content-gutter)}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:5rem}.section h2{margin:0;font-size:clamp(3.5rem,7vw,7rem)}.section h2 em{font-weight:400}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid currentColor}.service-card{padding:2rem 2rem 2rem 0;border-right:1px solid color-mix(in srgb,currentColor 20%,transparent)}.service-card+article{padding-left:2rem}.service-card:last-child{border-right:0}.service-card span{color:var(--site-accent);font-size:.72rem}.service-card h3{margin:3rem 0 1rem;font-family:var(--font-display);font-size:2rem;font-weight:600}.service-card p,.story-copy>p,.contact>div>p{color:color-mix(in srgb,currentColor 65%,transparent);line-height:1.75}.story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,9rem);align-items:center;background:var(--site-dark,var(--color-ink));color:#fff}.story-image{height:min(72rem,80vw)}.story-copy{padding-right:min(7vw,7rem)}.story-copy .text-link{display:inline-flex;gap:1rem;margin-top:2rem;padding-bottom:.45rem;border-bottom:1px solid var(--site-accent);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.gallery-grid figure{position:relative;margin:0;height:36rem;overflow:hidden;background-size:cover;background-position:center}.gallery-grid figure:nth-child(1){grid-row:span 2;height:73rem}.gallery-grid figure:nth-child(3){height:36rem}.gallery-grid figcaption{position:absolute;left:1rem;bottom:1rem;padding:.6rem .8rem;background:#000a;color:#fff;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.testimonials{background:var(--site-accent);color:var(--quote-text,#fff)}.testimonials .kicker{color:inherit;opacity:.7}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem)}blockquote{margin:0;border-top:1px solid currentColor;padding-top:2rem}blockquote p{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4.5rem);line-height:1;letter-spacing:-.035em}blockquote cite{display:block;margin-top:2rem;font-style:normal;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.visit{display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem}.visit address{margin:2.5rem 0;font-style:normal;line-height:1.8}.visit address a{border-bottom:1px solid var(--site-accent)}.visit dl{max-width:28rem}.visit dl div{display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}.visit dt,.visit dd{margin:0;font-size:.82rem}.map-card{position:relative;display:flex;min-height:40rem;overflow:hidden;align-items:center;justify-content:center;background:#d9d2c6;border:1px solid color-mix(in srgb,currentColor 18%,transparent)}.map-card i{position:absolute;width:125%;border-top:2px solid #f4efe5;transform:rotate(17deg)}.map-card i:nth-child(2){transform:rotate(-31deg);border-top-width:5px}.map-card i:nth-child(3){transform:rotate(74deg);border-color:#b7afa2}.map-card strong{position:relative;z-index:1;max-width:14rem;padding:1rem;background:var(--site-dark);color:#fff;font:500 2rem/1 var(--font-display);text-align:center}.map-card small{position:absolute;z-index:1;right:1.2rem;bottom:1.2rem;max-width:18rem;padding:.7rem;background:var(--site-bg);font-size:.68rem;line-height:1.4}.map-card>span{position:absolute;z-index:1;top:1.2rem;left:1.2rem;padding:.7rem;background:var(--site-accent);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,10rem);background:var(--site-dark,var(--color-ink));color:#fff}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact label{display:grid;gap:.6rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.contact label:nth-of-type(4),.contact .consent,.contact button,.form-status{grid-column:1/-1}.contact input,.contact textarea{width:100%;border:0;border-bottom:1px solid #ffffff55;background:transparent;color:#fff;padding:.8rem 0;font:inherit;outline:none}.contact input:focus,.contact textarea:focus{border-color:var(--site-accent)}.contact textarea{min-height:8rem;resize:vertical}.contact .consent{display:flex;grid-template-columns:auto 1fr;align-items:start;text-transform:none;letter-spacing:0;font-size:.8rem}.consent input{width:auto}.contact button{display:flex;justify-content:space-between;border:1px solid var(--site-accent);background:var(--site-accent);color:var(--button-text,#fff);padding:1.1rem 1.3rem;font:600 .72rem var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.contact button:disabled{opacity:.6}.arr{width:.85em;height:.85em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.arr-dn{width:1em;height:1em}.trap{position:absolute!important;left:-9999px!important}.form-status{min-height:1.2em;margin:0;font-size:.8rem}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:end;padding:3rem var(--content-gutter);background:var(--site-dark,var(--color-ink));color:#fff;border-top:1px solid #ffffff33}footer p{margin:0;text-align:center;font-size:.68rem;color:#ffffff88}footer>a:last-child{justify-self:end;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}@media(max-width:760px){.site-header{grid-template-columns:1fr auto;row-gap:.5rem;padding-block:1rem}.site-header nav{grid-column:1/-1;gap:1.35rem;font-size:.62rem;overflow-x:auto;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{white-space:nowrap;padding-block:.3rem}.hero-copy{padding-bottom:4rem}.hero h1{font-size:clamp(3rem,14vw,5rem)}.hero-meta{display:grid;gap:.5rem}.scroll-cue{display:none}.section-intro,.story,.visit,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card,.service-card+article{padding:2rem 0;border-right:0;border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent)}.service-card h3{margin-top:1.2rem}.story-image{height:115vw}.story-copy{padding:1rem 0}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure,.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(3){height:115vw;grid-row:auto}.quote-grid{grid-template-columns:1fr}.map-card{min-height:28rem}.contact form{grid-template-columns:1fr}.contact label{grid-column:1}.contact label:nth-of-type(4),.contact .consent,.contact button,.form-status{grid-column:1}footer{grid-template-columns:1fr}footer p{text-align:left}footer>a:last-child{justify-self:start}}

:root{--site-bg:#f3eadc;--site-ink:#372417;--site-dark:#24160f;--quote-text:#fff8ef}.hero-shade{background:#24120b73}
