:root{--ink:#11110f;--paper:#f2efe8;--white:#fcfbf8;--quiet:#69655e;--line:rgba(17,17,15,.2);--gold:#b68b4c;--dock:64px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip-link{position:fixed;left:12px;top:-80px;z-index:300;padding:12px 16px;background:#fff;color:#000;font-weight:700;transition:top .2s}
.skip-link:focus{top:12px}
.preview-bar{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 16px;background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.preview-bar span{display:flex;align-items:center;gap:8px}
.preview-bar i{width:6px;height:6px;background:#7fbd79;border-radius:50%;box-shadow:0 0 0 3px rgba(127,189,121,.15)}
.preview-bar a{color:#d7bd8c;border-bottom:1px solid rgba(215,189,140,.6)}
.site-head{position:sticky;top:0;z-index:90;min-height:66px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px 16px;background:rgba(242,239,232,.96);border-bottom:1px solid var(--line);transition:transform .35s ease;backdrop-filter:blur(18px)}
.site-head.is-hidden{transform:translateY(-100%)}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.brand img{width:34px;height:auto;object-fit:contain}
.head-location{display:none}
.menu-button{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0;border:0;background:none;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.menu-button:focus-visible,.menu__close:focus-visible,.menu__nav a:focus-visible,.mobile-dock a:focus-visible{outline:1px solid var(--gold);outline-offset:-3px}
.menu-button i{position:relative;width:20px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.menu{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;padding:22px 20px calc(28px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;overflow:auto;opacity:0;transform:translateY(-18px);transition:opacity .28s ease,transform .28s ease}
.menu[hidden]{display:none}
.menu.is-open{opacity:1;transform:none}
.menu__close{align-self:flex-end;min-height:48px;display:flex;align-items:center;gap:12px;border:0;background:none;color:#fff;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.menu__close i{position:relative;width:22px;height:22px}
.menu__close i:before,.menu__close i:after{content:"";position:absolute;left:10px;top:0;width:1px;height:22px;background:#fff;transform:rotate(45deg)}
.menu__close i:after{transform:rotate(-45deg)}
.menu__nav{margin-top:20px;border-top:1px solid rgba(255,255,255,.25)}
.menu__nav a{min-height:50px;display:grid;grid-template-columns:38px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);font-size:clamp(18px,5vw,25px);font-weight:540;letter-spacing:-.02em}
.menu__nav a span{font-size:9px;color:#9f9b92;letter-spacing:.12em}
.menu__foot{margin-top:auto;padding-top:34px;display:grid;gap:10px;color:#bdb9b0;font-size:13px}
.menu__foot p{margin:0 0 6px}
.menu__foot a{color:#fff;width:max-content;border-bottom:1px solid rgba(255,255,255,.4)}
.eyebrow,.chapter-number{margin:0;color:var(--quiet);font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.hero{background:var(--ink)}
.hero__media{position:relative;height:53svh;min-height:430px;max-height:570px;overflow:hidden;background:#171512;color:#fff}
.hero__media picture,.hero__media img{width:100%;height:100%}
.hero__media img{object-fit:cover;object-position:50% 40%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,7,.03) 24%,rgba(8,8,7,.1) 51%,rgba(8,8,7,.86) 100%)}
.hero__copy{position:absolute;left:0;right:0;bottom:47px;z-index:2;padding:0 18px}
.hero .eyebrow{color:rgba(255,255,255,.76)}
.hero h1{max-width:310px;margin:7px 0 9px;font-size:clamp(36px,10vw,48px);font-weight:560;line-height:.92;letter-spacing:-.055em}
.hero__lede{max-width:330px;margin:0;color:rgba(255,255,255,.88);font-size:12.5px;line-height:1.42}
.hero__actions{display:flex;gap:7px;margin-top:14px}
.hero__actions a{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 13px;background:#fff;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.04em}
.hero__actions a:last-child{background:rgba(17,17,15,.72);color:#fff;border:1px solid rgba(255,255,255,.52);backdrop-filter:blur(8px)}
.hero__project{position:absolute;left:18px;right:18px;bottom:12px;z-index:2;margin:0;display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.76);font-size:8px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.hero__project span{white-space:nowrap}.hero__project a{color:#fff;text-align:right}
.quick-shop{padding:24px 18px 28px;background:var(--white);border-bottom:1px solid var(--line)}
.quick-shop__head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 0 16px}
.quick-shop__head h2{margin:0;font-size:22px;font-weight:650;letter-spacing:-.035em}
.quick-shop__head a{font-size:10px;font-weight:800;letter-spacing:.05em;border-bottom:1px solid currentColor}
.quick-shop__rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;padding:0}
.quick-card{min-width:0;border-top:1px solid var(--ink)}
.quick-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#d4d0c7}
.quick-card span{min-height:42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);font-size:11px;font-weight:750}
.quick-card span:after{content:'↗';font-size:13px;font-weight:400}
.line-actions{margin-top:34px;border-top:1px solid var(--ink)}
.line-actions a{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:750}
.line-actions a span,.text-link span,.all-projects span{font-size:18px;font-weight:400}
.proof-strip{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 18px}
.proof-strip p{margin:0;min-height:67px;display:grid;grid-template-columns:92px 1fr;align-items:center;border-bottom:1px solid var(--line);font-size:12px}
.proof-strip p:last-child{border-bottom:0}
.proof-strip strong{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.proof-strip span{color:#4f4c46}
.chapter{padding:84px 0 0}
.chapter-head{padding:0 18px 48px}
.chapter-head h2,.material-index h2,.projects h2,.visit h2,.local-proof h2{margin:12px 0 20px;font-size:clamp(46px,13vw,82px);font-weight:520;line-height:.91;letter-spacing:-.065em}
.chapter-head>p:last-child{max-width:520px;margin:0;color:#57534c;font-size:16px;line-height:1.65}
.feature{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.feature__image{height:68svh;min-height:460px;overflow:hidden;background:#d4d0c7}
.feature__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.feature__image:active img{transform:scale(1.015)}
.feature__copy{padding:27px 18px 58px}
.feature__number{margin:0 0 28px;color:var(--quiet);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.feature h3{margin:0;font-size:clamp(42px,12vw,72px);font-weight:520;line-height:.9;letter-spacing:-.06em}
.feature__copy>p:not(.feature__number){max-width:480px;margin:26px 0 0;color:#555149;line-height:1.65}
.text-link,.all-projects{width:100%;min-height:54px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid currentColor;border-bottom:1px solid currentColor;font-size:12px;font-weight:800;letter-spacing:.03em}
.material-index{padding:84px 18px;background:var(--white);border-top:1px solid var(--line)}
.material-index__intro{padding-bottom:38px}
.index-list{border-top:1px solid var(--ink)}
.index-list a{min-height:92px;display:grid;grid-template-columns:28px 1fr 22px;grid-template-rows:auto auto;column-gap:10px;align-content:center;border-bottom:1px solid var(--ink)}
.index-list span{grid-row:1/3;color:var(--quiet);font-size:9px;letter-spacing:.12em}
.index-list strong{font-size:20px;font-weight:550;letter-spacing:-.025em}
.index-list small{color:#69655e;font-size:11px}
.index-list i{grid-column:3;grid-row:1/3;align-self:center;font-style:normal;font-size:18px}
.custom-production{scroll-margin-top:80px;padding:78px 18px;background:#d8c39a;color:var(--ink);border-top:1px solid rgba(17,17,15,.3);border-bottom:1px solid rgba(17,17,15,.3)}
.custom-production .chapter-number,.visit .chapter-number{color:#3f392f}
.custom-production__head{display:grid;gap:22px;padding-bottom:38px}
.custom-production__head h2{max-width:780px;margin:0;font-size:clamp(42px,12vw,74px);line-height:.94;letter-spacing:-.065em}
.custom-production__body{display:grid;gap:26px}
.custom-production__lead{max-width:700px;margin:0;font-size:18px;line-height:1.48;letter-spacing:-.015em}
.custom-production__facts{margin:0;border-top:1px solid var(--ink)}
.custom-production__facts div{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(17,17,15,.58)}
.custom-production__facts dt{font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.custom-production__facts dd{margin:0;font-size:14px}
.custom-production__note{margin:0;color:#514b40;font-size:12px;line-height:1.55}
.custom-production__cta{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 15px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;letter-spacing:.03em}
.stone-focus{background:var(--ink);color:#fff}
.stone-focus__media{height:65svh;min-height:470px;overflow:hidden}
.stone-focus__media img{width:100%;height:100%;object-fit:cover}
.stone-focus__copy{padding:38px 18px 72px}
.stone-focus__copy .chapter-number{color:#b5afa4}
.stone-focus h2{margin:16px 0 26px;font-size:clamp(54px,15vw,92px);font-weight:480;line-height:.86;letter-spacing:-.07em}
.stone-focus__copy>p:not(.chapter-number){max-width:520px;margin:0;color:#c8c4bc;font-size:16px;line-height:1.65}
.text-link--light{color:#fff}
.projects{padding:84px 0;background:var(--white)}
.chapter-head--projects{padding-bottom:42px}
.project-grid{display:grid;gap:2px}
.project{position:relative;display:block;min-height:56svh;overflow:hidden;background:#d1cdc4}
.project img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project span{position:absolute;left:14px;right:14px;bottom:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.75);color:#fff;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.project--portrait img{object-position:center 44%}
.all-projects{width:auto;margin:30px 18px 0}
.visit{padding:84px 18px;background:#c8a56b;color:var(--ink)}
.visit__title{padding-bottom:48px}
.visit__details>p{max-width:590px;margin:0 0 42px;font-size:18px;line-height:1.55}
.visit dl{margin:0;border-top:1px solid rgba(17,17,15,.55)}
.visit dl div{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid rgba(17,17,15,.55)}
.visit dt{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.visit dd{margin:0;font-size:13px}
.line-actions--dark{margin-top:38px}
.local-proof{display:grid;gap:42px;padding:84px 18px 100px;background:var(--white)}
.local-proof h2{max-width:860px;margin-top:0}
.local-proof__columns{display:grid;gap:22px}
.local-proof__columns p{margin:0;color:#504c45;line-height:1.7}
.footer{padding:48px 18px calc(98px + env(safe-area-inset-bottom));background:var(--ink);color:#fff}
.footer__brand{display:flex;align-items:center;gap:14px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.footer__brand img{width:44px;height:auto;filter:grayscale(1) brightness(2)}
.footer__brand p{margin:0}.footer__brand span{color:#9d9991;font-size:9px}
.footer nav,.footer__contact{display:grid;gap:13px;margin:32px 0;font-size:13px}
.footer__contact a{width:max-content;color:#c8a56b}
.footer small{color:#918d85;font-size:10px}
.mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:120;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom);background:rgba(17,17,15,.98);color:#fff;border-top:1px solid rgba(255,255,255,.18)}
.mobile-dock a{min-height:var(--dock);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:750;letter-spacing:.06em}
.mobile-dock a:last-child{border-right:0}.mobile-dock a:nth-child(n+3){color:#d5b579}
.mobile-dock svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

@media (min-width:700px){
  .site-head{grid-template-columns:1fr auto 1fr;padding:12px 28px}.head-location{display:flex;gap:24px;margin:0;color:#4f4c46;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.menu-button{justify-self:end}
  .quick-shop__rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .chapter-head,.feature__copy,.material-index,.stone-focus__copy,.visit,.local-proof,.footer{padding-left:32px;padding-right:32px}
  .proof-strip{grid-template-columns:repeat(3,1fr);padding:0}.proof-strip p{padding:0 22px;border-right:1px solid var(--line);border-bottom:0}
  .project-grid{grid-template-columns:1.25fr .75fr}.project--wide{grid-column:1/3;min-height:48svh}.project--landscape,.project--portrait{min-height:62svh}
}

@media (min-width:900px){
  .preview-bar{padding-left:28px;padding-right:28px}
  .site-head{min-height:78px;padding-left:34px;padding-right:34px}.brand img{width:42px;height:auto}.brand span{font-size:13px}
  .menu{padding:30px 44px}.menu__nav{width:min(780px,70vw)}.menu__nav a{min-height:61px;font-size:28px}.menu__foot{position:absolute;right:44px;bottom:44px;text-align:right;justify-items:end}
  .hero__media{height:clamp(540px,68vh,760px);min-height:0;max-height:none}.hero__media picture{position:absolute;inset:0 0 0 auto;width:64%}.hero__media img{object-fit:cover;object-position:center 46%}.hero__shade{background:linear-gradient(90deg,rgba(8,8,7,.98) 0%,rgba(8,8,7,.96) 30%,rgba(8,8,7,.76) 42%,rgba(8,8,7,.08) 64%),linear-gradient(180deg,transparent 60%,rgba(8,8,7,.74) 100%)}.hero__copy{left:48px;right:auto;bottom:78px;width:min(520px,30vw);padding:0}.hero h1{font-size:clamp(60px,5vw,86px)}.hero__lede{font-size:16px}.hero__actions a{min-height:48px;padding:0 17px;font-size:11px}.hero__project{left:48px;right:48px;bottom:24px;font-size:9px}
  .quick-shop{padding:38px 48px 46px}.quick-shop__head{padding:0 0 20px}.quick-shop__head h2{font-size:30px}.quick-shop__rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 12px}.quick-card span{font-size:12px}
  .chapter{padding-top:150px}.chapter-head{display:grid;grid-template-columns:80px minmax(0,1.2fr) minmax(300px,.8fr);align-items:end;gap:28px;padding:0 48px 92px}.chapter-head h2{margin:0}.chapter-head>p:last-child{justify-self:end}
  .feature{min-height:760px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}.feature--reverse{grid-template-columns:minmax(360px,.65fr) minmax(0,1.35fr)}.feature--reverse .feature__image{grid-column:2}.feature--reverse .feature__copy{grid-column:1;grid-row:1}.feature__image{height:auto;min-height:760px}.feature__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:56px 48px}.feature h3{font-size:clamp(58px,5.7vw,94px)}
  .material-index{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:150px 48px}.material-index__intro{position:sticky;top:120px;align-self:start}.material-index h2{font-size:clamp(66px,6vw,104px)}.index-list a{grid-template-columns:38px 1fr minmax(190px,.65fr) 24px;grid-template-rows:1fr;min-height:104px}.index-list span{grid-row:1}.index-list strong{font-size:24px}.index-list small{grid-column:3}.index-list i{grid-column:4;grid-row:1}
  .custom-production{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:80px;padding:120px 48px}.custom-production__head{align-content:start;padding:0}.custom-production__body{align-content:start}.custom-production__head h2{font-size:clamp(58px,5.2vw,84px)}.custom-production__lead{font-size:20px}.custom-production__facts div{grid-template-columns:110px 1fr}.custom-production__cta{width:max-content;min-width:360px}
  .stone-focus{display:grid;grid-template-columns:1fr 1fr;min-height:820px}.stone-focus__media{height:auto;min-height:820px}.stone-focus__copy{display:flex;flex-direction:column;justify-content:flex-end;padding:70px 54px}.stone-focus h2{font-size:clamp(74px,7vw,120px)}
  .projects{padding-top:150px}.chapter-head--projects{padding-bottom:92px}.project-grid{grid-template-columns:1.2fr .8fr;grid-template-rows:650px 470px}.project{min-height:0}.project--wide{grid-column:1/3;min-height:0}.project:hover img{transform:scale(1.025)}.all-projects{margin:46px 48px 0}
  .visit{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:150px 48px}.visit__title{padding:0}.visit__details{padding-top:36px}.visit h2{font-size:clamp(74px,7vw,116px)}
  .local-proof{grid-template-columns:120px 1fr;gap:60px;padding:150px 48px}.local-proof h2{font-size:clamp(60px,5.8vw,100px)}.local-proof__columns{grid-template-columns:1fr 1fr;gap:60px;max-width:1000px}
  .footer{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:50px;padding:70px 48px}.footer__brand{align-self:start;border:0;padding:0}.footer nav,.footer__contact{margin:0}.footer small{grid-column:1/4;padding-top:32px;border-top:1px solid rgba(255,255,255,.18)}
  .mobile-dock{display:none}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
