
:root{--paper:#f1eee5;--paper-soft:#f8f6ef;--ink:#171a17;--green:#123c32;--green-deep:#0a2923;--brass:#bd8e4b;--line:rgba(23,26,23,.22);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:focus-visible{outline:3px solid #d8a75c;outline-offset:4px}
.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;color:#fff;background:var(--green-deep);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.demo-note{display:flex;justify-content:center;gap:.5rem;padding:.45rem 1rem;color:var(--paper-soft);background:var(--green-deep);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.site-header{display:flex;align-items:center;justify-content:space-between;width:min(100% - 3rem,var(--max));min-height:88px;margin:0 auto;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.75rem;color:inherit;font-size:1.16rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.brand-mark{display:grid;width:2.55rem;height:2.55rem;place-items:center;color:var(--paper-soft);background:var(--green);font-size:.95rem;letter-spacing:-.04em}
nav{display:flex;align-items:center;gap:clamp(1.3rem,3vw,3rem)}nav a{font-size:.76rem;font-weight:750;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}nav a:not(.nav-address):hover{text-decoration:underline}.nav-address{padding:.65rem .9rem;border:1px solid currentColor}
.hero{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:5rem minmax(35rem,68vh) 3.5rem;width:min(100% - 3rem,var(--max));margin:0 auto}.hero-media{position:relative;grid-column:5/-1;grid-row:1/3;margin:0;overflow:hidden;background:#c8c0ae}.hero-media:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,41,35,.16),transparent 42%);content:"";pointer-events:none}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:54% center}
figcaption{position:absolute;right:0;bottom:0;z-index:2;max-width:33rem;padding:.55rem .75rem;color:rgba(255,255,255,.92);background:rgba(8,28,24,.86);font-size:.65rem;letter-spacing:.03em}
.hero-copy{z-index:3;grid-column:1/8;grid-row:2/3;align-self:center;max-width:54rem;padding:clamp(2.5rem,5vw,5.5rem);color:var(--paper-soft);background:var(--green)}
.eyebrow,.section-label{display:flex;align-items:center;gap:1rem;margin:0 0 2.4rem;font-size:.69rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before,.section-label:after{width:3.5rem;height:1px;background:currentColor;content:"";opacity:.6}
.hero h1{max-width:8ch;margin:0;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(4rem,7.8vw,7.5rem);font-stretch:condensed;font-weight:800;letter-spacing:-.075em;line-height:.82}.hero-intro{max-width:32rem;margin:2.1rem 0 0;font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.5}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2.2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.4rem;padding:.8rem 1.2rem;border:1px solid transparent;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.button-light{color:var(--green-deep);background:var(--paper-soft)}.button-light:hover{border-color:var(--paper-soft);color:var(--paper-soft);background:transparent}.text-link{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hero-coordinate{display:flex;justify-content:space-between;grid-column:1/-1;grid-row:3;margin:0;padding-top:1rem;border-bottom:1px solid var(--line);font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.intro-section{display:grid;grid-template-columns:2fr 6fr 4fr;gap:2rem;width:min(100% - 3rem,var(--max));margin:0 auto;padding:clamp(6rem,12vw,11rem) 0 clamp(4rem,8vw,7rem)}.section-label{align-self:start;flex-wrap:wrap;margin:0}.section-label:after{order:-1;flex-basis:100%}.intro-section h2,.detail-section h2,.visit-section h2{margin:0;font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-weight:800;letter-spacing:-.065em;line-height:.9}.intro-section h2{font-size:clamp(3.7rem,7vw,7.2rem)}.intro-copy{align-self:end;padding-bottom:.4rem}.intro-copy p{max-width:29rem;margin:0;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.45}
.service-editorial{display:grid;grid-template-columns:minmax(0,7fr) minmax(18rem,5fr);background:var(--paper-soft)}.craft-photo,.detail-photo{position:relative;margin:0;overflow:hidden;background:#b8ae9d}.craft-photo{min-height:42rem}.craft-photo img{width:100%;height:100%;object-fit:cover}.service-list{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,6rem)}.service-item{padding:2.6rem 0;border-top:1px solid var(--line)}.service-item:last-child{border-bottom:1px solid var(--line)}.service-number{margin:0 0 1.4rem;color:#59635d;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.service-item h3{margin:0 0 1rem;font-size:clamp(2rem,3.3vw,3.7rem);letter-spacing:-.045em;line-height:1}.service-item p:last-child{max-width:26rem;margin:0;color:#4e554f}
.rhythm-line{display:flex;align-items:center;justify-content:space-around;min-height:10rem;padding:2rem 1.5rem;color:var(--paper-soft);background:var(--brass);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,6vw,6.5rem);font-style:italic;line-height:1}.rhythm-line span:not(:last-child):after{padding-left:7vw;color:rgba(255,255,255,.45);content:"/"}
.detail-section{display:grid;grid-template-columns:5fr 7fr;min-height:48rem;color:var(--paper-soft);background:var(--green-deep)}.detail-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,8rem)}.section-label-light{margin-bottom:4rem;color:#c7bda9}.detail-section h2{max-width:7ch;font-size:clamp(3.5rem,6vw,7rem)}.detail-copy>p{max-width:29rem;margin:2.4rem 0 0;color:#ccd5cf;font-size:1.06rem}.detail-photo{margin:clamp(2rem,4vw,4rem) clamp(2rem,4vw,4rem) clamp(2rem,4vw,4rem) 0}.detail-photo img{width:100%;height:100%;object-fit:cover}
.visit-section{display:grid;grid-template-columns:2fr 5fr 3fr 2fr;gap:2rem;width:min(100% - 3rem,var(--max));margin:0 auto;padding:clamp(6rem,12vw,11rem) 0}.visit-heading{align-self:start}.location-kicker{margin:0 0 1.4rem;color:#606861;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.visit-section h2{max-width:8ch;font-size:clamp(3.5rem,6.5vw,7rem)}address{display:flex;flex-direction:column;align-self:center;padding-left:2rem;border-left:1px solid var(--line);font-size:clamp(1.2rem,2vw,1.7rem);font-style:normal;line-height:1.55}address span:first-child{font-weight:800}.visit-note{align-self:end;margin:0;color:#656b66;font-size:.82rem}
footer{display:grid;grid-template-columns:4fr 5fr 3fr;gap:2rem;align-items:end;padding:clamp(3rem,6vw,6rem) max(1.5rem,calc((100vw - var(--max))/2));color:var(--paper-soft);background:var(--ink)}.footer-brand{font-size:clamp(2.5rem,5vw,5.4rem);font-weight:850;letter-spacing:-.065em;line-height:.9}.footer-brand span{color:var(--brass)}.footer-meta p{margin:.25rem 0;color:#c6c9c5;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.back-to-top{justify-self:end;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:960px){.hero{grid-template-rows:3rem minmax(32rem,62vh) 3.5rem}.hero-copy{grid-column:1/9;padding:3rem}.intro-section{grid-template-columns:2fr 7fr 3fr}.service-editorial{grid-template-columns:3fr 2fr}.detail-section{grid-template-columns:1fr 1fr}.visit-section{grid-template-columns:2fr 5fr 5fr}.visit-note{grid-column:2/-1}}
@media(max-width:760px){html{scroll-behavior:auto}.demo-note{flex-wrap:wrap;gap:.2rem .45rem;text-align:center}.site-header{width:min(100% - 2rem,var(--max));min-height:74px}.brand{font-size:.92rem}.brand-mark{width:2.15rem;height:2.15rem}nav{gap:1rem}nav a:not(.nav-address){display:none}.nav-address{padding:.5rem .7rem}.hero{display:flex;flex-direction:column;width:100%;margin:0}.hero-media{order:2;height:67vw;min-height:18rem}.hero-media img{object-position:59% center}.hero-copy{order:1;max-width:none;padding:3.5rem 1.25rem 3.75rem}.hero h1{font-size:clamp(3.8rem,19vw,5.8rem)}.hero-intro{max-width:26rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-coordinate{order:3;margin:0 1rem;padding:1rem 0}.intro-section,.visit-section{display:block;width:min(100% - 2rem,var(--max))}.intro-section{padding:5.5rem 0 4rem}.intro-heading{margin:3.5rem 0 2.2rem}.intro-section h2{font-size:clamp(3.4rem,16vw,5.3rem)}.service-editorial,.detail-section{display:flex;flex-direction:column}.craft-photo{min-height:0;aspect-ratio:4/3}.craft-photo img{object-position:60% center}.service-list{padding:1rem 1.25rem 4rem}.rhythm-line{align-items:flex-start;flex-direction:column;min-height:21rem;padding:3rem 1.25rem;font-size:clamp(3rem,17vw,5.2rem)}.rhythm-line span:not(:last-child):after{display:none}.detail-copy{padding:5rem 1.25rem 3rem}.section-label-light{margin-bottom:3.5rem}.detail-section h2{font-size:clamp(3.5rem,16vw,5.6rem)}.detail-photo{order:-1;margin:1rem 1rem 0;aspect-ratio:1}.visit-section{padding:5.5rem 0}.visit-heading{margin:3.5rem 0}.visit-section h2{font-size:clamp(3.5rem,16vw,5.5rem)}address{margin:0 0 2.5rem;padding-left:1.2rem}footer{grid-template-columns:1fr;align-items:start;padding:4rem 1rem}.back-to-top{justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
