@font-face{font-family:Barlow Condensed;src:url("/assets/fonts/barlow-condensed-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Barlow Condensed;src:url("/assets/fonts/barlow-condensed-800.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:DM Sans;src:url("/assets/fonts/dm-sans-variable.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root{
  --pine:#1b291f;--deep:#142019;--ink:#233125;--cream:#f8f7f0;--sand:#eae9dc;
  --gold:#f8b146;--olive:#5d6a50;--muted:#536055;--line:#cdd1c3;
  --display:"Barlow Condensed","Arial Narrow",sans-serif;--body:"DM Sans",Arial,sans-serif;
  --gutter:clamp(24px,5.3vw,88px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 var(--body)}
button,input,textarea,select{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button,a{color:inherit}
button{cursor:pointer}
button{border:0;background:none}
a{text-decoration:none}
img{display:block;max-width:100%}
svg{display:block;width:19px;height:19px;flex:none}
p,h1,h2,h3,figure,blockquote,dl,dd{margin:0}
h1,h2,h3{font-family:var(--display);line-height:1.02;text-wrap:balance}
h1,h2{font-weight:800}
h2{font-size:clamp(44px,4.7vw,76px);letter-spacing:-.025em}
h3{font-size:clamp(28px,2.6vw,41px);font-weight:700;letter-spacing:-.015em}
small{font-size:12px}
:focus-visible{outline:3px solid #b55d06;outline-offset:4px}
.mast :focus-visible,.hero :focus-visible,footer :focus-visible,.invite :focus-visible{outline-color:var(--gold)}
[hidden]{display:none!important}
.wrap{width:min(calc(100% - var(--gutter)*2),1480px);margin-inline:auto}
.section{padding-block:clamp(50px,5.1vw,84px)}
.skip{position:fixed;top:5px;left:5px;z-index:20;background:white;padding:10px;transform:translateY(-160%)}
.skip:focus{transform:none}
.mast{position:relative;z-index:4;background:var(--deep);color:#fffdf4;border-bottom:1px solid #ffffff20}
.mast-in{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{flex-shrink:0}
.logo{width:177px;height:auto}
.mast nav,.mast-actions,.phone{display:flex;align-items:center}
.mast nav{gap:clamp(15px,1.65vw,28px)}
.mast nav a{font-size:14px;font-weight:600;padding:12px 0;position:relative;white-space:nowrap}
.mast nav a:hover,.mast nav [aria-current]{color:var(--gold)}
.mast nav [aria-current]::after{content:"";height:2px;position:absolute;bottom:6px;left:0;width:19px;background:var(--gold)}
.mast-actions{gap:25px}
.phone{gap:9px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.phone svg{color:var(--gold);width:16px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;font-weight:700;font-size:14px;line-height:1.25;min-height:50px;padding:13px 22px;border:1px solid transparent;border-radius:3px;white-space:nowrap;transition:background .15s,color .15s}
.btn svg{width:18px;height:18px}
.gold{background:var(--gold);color:#19261b}
.gold:hover{background:#ffca77}
.head-cta{min-height:42px;padding:10px 16px;gap:16px;font-size:13px}
.head-cta svg{width:16px;height:16px}
.line{color:var(--ink);border-color:#aab29f;background:transparent;min-height:44px;padding:10px 17px;gap:14px}
.line:hover{background:#e6e9db;border-color:var(--olive)}
.nav-toggle{display:none}
.hero{position:relative;isolation:isolate;background:#283025;color:#f9f7ea;overflow:hidden}
.hero-photo,.hero-wash{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-photo{object-fit:cover;object-position:50% 48%;filter:saturate(.92) sepia(.09)}
.hero-wash{z-index:-1;background:linear-gradient(0deg,rgba(16,25,17,.8),transparent 29%),linear-gradient(90deg,rgba(14,23,16,.92) 0%,rgba(18,28,18,.77) 28%,rgba(19,28,18,.37) 52%,rgba(19,28,18,.03) 78%)}
.hero-inner{min-height:clamp(505px,38.3vw,620px);display:flex;flex-direction:column}
.hero-copy{flex:1;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:clamp(34px,3.5vw,60px) 0}
.hero-location,.eyebrow,.field-note small,.card-copy small,.owner small,.contact-item small{font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.14em}
.hero-location{display:flex;align-items:center;gap:10px;color:#fff9e9}
.hero-location svg{color:var(--gold);width:15px;height:15px}
.hero-location span{height:12px;width:1px;background:#d6dac9;opacity:.55;margin-inline:2px}
.hero h1{margin:20px 0 17px;font-size:clamp(78px,7.65vw,126px);text-transform:uppercase;line-height:.88;letter-spacing:-.022em}
.hero-desc{font-size:clamp(16px,1.2vw,20px);line-height:1.55;max-width:480px;color:#f1f2e9}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:26px}
.watch{display:inline-flex;align-items:center;gap:10px;color:#fffdf4;font-weight:700;font-size:14px;padding:6px 0}
.play-ring{display:grid;place-items:center;border:1px solid #dddcc9;border-radius:50%;width:33px;height:33px}
.play-ring svg{width:16px;height:16px}
.watch:hover .play-ring{background:var(--gold);color:var(--pine);border-color:var(--gold)}
.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ffffff4a;padding-block:16px 18px}
.field-note{display:flex;align-items:center;gap:11px}
.field-note>svg{width:24px;height:24px;color:var(--gold)}
.field-note small,.field-note strong{display:block}
.field-note small{color:#ebd7a9;font-size:9px;letter-spacing:.16em;margin-bottom:3px}
.field-note strong{font-size:12px;font-weight:500;line-height:1.25}
.pager{display:flex;align-items:center;gap:9px}
.pager>span{font-size:11px;letter-spacing:.08em;font-variant-numeric:tabular-nums;font-weight:600;color:#d4d7c9}
.pager #field-number{color:#fffdf4}
.pager .pager-track{display:inline-block;width:46px;height:2px;background:linear-gradient(to right,var(--gold) var(--progress,33.333%),#e8e8d773 var(--progress,33.333%))}
.pager button,.close-dialog{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid #cbd0bf8a;border-radius:50%;color:white;background:#17271a24}
.pager button:first-of-type{margin-left:9px}
.pager button:hover,.close-dialog:hover{background:#fff2}
.pager svg{width:15px;height:15px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--olive);margin-bottom:13px}
.slash{width:19px;height:10px;background:repeating-linear-gradient(120deg,transparent 0 3px,#aa6820 3px 6px)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:29px}
.services-home{padding-top:clamp(38px,3.7vw,64px)}
.section-head>.btn{margin-bottom:3px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.card{min-width:0;display:block}
.card-img{overflow:hidden;background:var(--sand);aspect-ratio:1.88}
.card-img img,.crew-photo img,.intro-photo img{width:100%;height:100%;object-fit:cover}
.card-img img{transition:transform .35s}
a.card:hover .card-img img{transform:scale(1.025)}
.card-copy{padding:18px 0 20px;border-bottom:1px solid var(--line)}
.card-copy p,.crew-grid p:not(.eyebrow),.project-grid p:not(.eyebrow),.owner p{color:var(--muted);line-height:1.65}
.card-copy p{font-size:15px;margin-top:9px;max-width:52ch}
.card-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-line svg{width:19px;height:19px;color:#626d54}
.card:hover .card-line svg{color:#925512}
.card-copy small,.owner small{display:block;color:var(--olive);margin-bottom:9px}
.project-spot{background:var(--sand);padding:clamp(48px,5vw,82px) 0}
.project-grid{display:grid;grid-template-columns: .85fr 1.5fr;gap:clamp(25px,6vw,110px);align-items:center}
.project-grid p:not(.eyebrow),.crew-grid p:not(.eyebrow){font-size:17px;margin:20px 0 24px;max-width:52ch}
.compare{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--pine);isolation:isolate}
.compare>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.compare-rule{position:absolute;inset:0 auto 0 var(--split);width:2px;background:#fff;transform:translateX(-50%);pointer-events:none}
.compare-rule>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--pine)}
.compare-rule svg{width:27px;height:27px}
.compare-label{position:absolute;top:13px;padding:5px 11px;background:#18261ee8;color:var(--cream);font-size:12px;font-weight:600}
.compare-label.before{left:13px}.compare-label.after{right:13px}
.compare input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:ew-resize;touch-action:pan-y}
.compare:focus-within{outline:3px solid #995b14;outline-offset:4px}
.crew-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,7vw,115px)}
.crew-photo{aspect-ratio:1.5}
.invite{color:var(--cream);background:#344833}
.invite-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:55px}
.invite h2{font-size:clamp(44px,4vw,65px);margin-bottom:12px}
.invite .eyebrow{color:#e5d4ad}
.invite .slash{background:repeating-linear-gradient(120deg,transparent 0 3px,var(--gold) 3px 6px)}
.invite p:not(.eyebrow){color:#e0e5d9}
footer{background:var(--deep);color:#f6f6e9}
.foot-top{padding-block:48px;display:grid;grid-template-columns:1.5fr .9fr 1fr 1.2fr;gap:24px}
footer .logo{width:177px;margin-bottom:18px}
footer p,footer a{font-size:14px}
footer p{color:#bec8b9}
footer h2{font-family:var(--body);font-size:14px;letter-spacing:0;margin-bottom:16px}
.foot-top>div>a:not(:has(img)){display:table;margin-top:7px;color:#c5cec0}
footer a:hover{text-decoration:underline;color:var(--gold)}
.foot-base{border-top:1px solid #50604f;display:flex;justify-content:space-between;gap:16px;padding:19px 0 21px;font-size:12px;color:#bdc7b9}
.foot-base a{font-size:12px}
.page-intro{padding-block:clamp(42px,5.3vw,86px);background:var(--sand)}
.page-intro-in{max-width:1480px}
.page-intro h1,.contact-grid h1{font-size:clamp(58px,6.6vw,100px);line-height:.97;letter-spacing:-.028em;max-width:19ch}
.intro-desc{margin-top:19px;font-size:clamp(17px,1.45vw,21px);color:var(--muted);max-width:62ch}
.has-photo .page-intro-in{display:grid;grid-template-columns:1.2fr .85fr;align-items:center;gap:7vw}
.intro-photo{aspect-ratio:1.85;overflow:hidden}
.reading{display:grid;grid-template-columns:minmax(0,740px) minmax(220px,310px);gap:clamp(35px,7vw,145px);justify-content:space-between}
.prose{font-size:17px;line-height:1.75;color:#384439;overflow-wrap:anywhere}
.prose h2,.prose h3,.faq h2,.area-directory h2,.more-films h2{color:var(--ink);font-size:clamp(33px,3.2vw,49px);margin:1em 0 .4em}
.prose h3{font-size:29px}
.prose p,.prose ul,.prose ol{margin:0 0 1em}
.prose a,.text-link{font-weight:650;text-decoration:underline;text-underline-offset:3px}
.prose img{max-height:440px;width:100%;object-fit:cover;margin:24px 0 5px}
.prose figcaption{color:var(--muted);font-size:14px;margin-bottom:20px}
.prose table{border-collapse:collapse;width:100%;font-size:.9em}
.prose th,.prose td{text-align:left;padding:9px;border:1px solid var(--line)}
.reading aside{background:var(--sand);padding:25px;align-self:start;position:sticky;top:24px;border-top:4px solid #687455}
.reading aside h2,.draft h2,form h2{font-size:36px}
.reading aside p{color:var(--muted);margin:12px 0 18px}
.text-link{display:flex;align-items:center;gap:9px;font-size:14px}
.reading aside .text-link{margin-top:18px}
.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.6fr;gap:30px}
.faq h2,.more-films h2,.area-directory h2:first-child{margin-top:0}
.faq details{border-bottom:1px solid var(--line);padding:15px 0}
.faq summary{cursor:pointer;font-weight:700}
.faq details p{margin-top:10px;color:var(--muted)}
.area-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}
.area-links a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.area-links a:hover,.text-link:hover{color:#84501b}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}
.filter-bar button{padding:8px 13px;font-size:14px;border:1px solid var(--line);border-radius:2px;color:var(--ink)}
.filter-bar button[aria-pressed=true]{background:var(--pine);color:var(--cream);border-color:var(--pine)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.gallery-tile{border:0;padding:0;position:relative;aspect-ratio:1.5;overflow:hidden}
.gallery-tile img{width:100%;height:100%;object-fit:cover}
.gallery-tile span{position:absolute;right:10px;bottom:10px;background:#1b291fce;color:white;padding:6px}
.gallery-tile span svg{width:16px;height:16px}
.films{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:890px}
.films video{display:block;width:100%;max-height:540px;aspect-ratio:9/13;background:var(--deep);object-fit:contain}
.films figcaption{font-size:19px;font-weight:600;padding-top:10px}
.more-films{border-top:1px solid var(--line)}
.spec{display:flex;gap:24px;padding-top:14px;margin-top:16px;border-top:1px solid var(--line)}
.spec dt{color:var(--muted);font-size:12px}
.spec dd{font-size:15px;font-weight:650}
.owner-list{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.owner>img{max-height:380px;width:100%;aspect-ratio:1.5;object-fit:cover;object-position:50% 35%}
.owner>div{padding:20px 0}
.owner h2{font-size:40px;margin-bottom:12px}
.related{display:flex;gap:14px;padding-bottom:50px}
.review-strip{background:#e9ebde;border-bottom:1px solid var(--line)}
.review-strip-in{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:20px}
.review-strip figure{padding-left:16px;border-left:3px solid #b87623}
.review-strip blockquote{font:700 clamp(20px,1.75vw,29px)/1.2 var(--display)}
.review-strip figcaption{font-size:12px;color:var(--muted);margin-top:5px}
.review-strip figcaption span{padding-inline:3px}
.review-strip .text-link{flex:none}
.work-links{border-bottom:1px solid var(--line)}
.work-links .wrap{display:flex;gap:clamp(15px,2.5vw,40px);align-items:center;flex-wrap:wrap}
.work-links a{display:inline-flex;align-items:center;min-height:50px;font-weight:650;font-size:14px;border-bottom:3px solid transparent}
.work-links [aria-current]{border-color:#ab6720}
.work-links a:hover{color:#85541c}
.reviews-intro{background:var(--sand);padding-block:clamp(34px,4.5vw,75px)}
.review-lead{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,88px);align-items:center}
.review-lead h1{font-size:clamp(60px,7vw,105px);letter-spacing:-.03em;line-height:.92;max-width:11ch}
.review-lead .intro-desc{max-width:41ch}
.review-lead .btn{margin-top:22px}
.featured-review{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(280px,24vw,405px);background:var(--pine);color:var(--cream)}
.featured-review img,.featured-review::after{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.featured-review img{object-fit:cover;object-position:50% 42%}
.featured-review::after{content:"";z-index:-1;background:linear-gradient(0deg,#102016f2,rgba(16,31,20,.78) 35%,transparent 75%)}
.featured-review figcaption{padding:clamp(19px,2.2vw,38px)}
.featured-review blockquote{font:700 clamp(32px,3.25vw,54px)/1.02 var(--display);text-wrap:balance;max-width:23ch;margin-bottom:11px}
.featured-review figcaption span{font-size:14px;color:#f2ecdc}
.review-groups{padding-block:clamp(34px,4vw,64px)}
.review-group+.review-group{margin-top:clamp(34px,4vw,64px)}
.review-group h2{font-size:clamp(34px,3.4vw,55px);margin-bottom:24px}
.quotes{columns:3 265px;column-gap:clamp(22px,3vw,48px)}
.quotes figure{break-inside:avoid;border-top:1px solid var(--line);padding:17px 0 23px}
.quotes blockquote{font-size:17px;line-height:1.6}
.quotes figcaption{display:flex;gap:2px 9px;flex-wrap:wrap;align-items:baseline;font-size:14px;margin-top:11px}
.quotes figcaption span{color:var(--muted);font-size:13px}
.contact-grid{align-items:start;grid-template-columns:.85fr 1.15fr}
.contact-item{margin-top:23px}
.contact-item small{display:block;color:var(--olive);margin-bottom:6px}
.contact-item a{font-weight:600;overflow-wrap:anywhere}
form,.draft{background:var(--sand);padding:clamp(22px,3vw,43px)}
form>p,.draft>p{color:var(--muted);margin:13px 0 20px}
form label{display:block;font-size:14px;font-weight:650;margin-bottom:14px}
form input,form select,form textarea{width:100%;min-width:0;border:1px solid #aab29f;background:#fffef8;color:var(--ink);padding:10px 11px;border-radius:2px;margin-top:6px;font-size:16px}
form textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.draft pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.draft-actions{margin-top:22px;display:flex;gap:14px;align-items:center}
.legal{max-width:780px}
dialog{margin:auto;border:0;background:#17251d;color:var(--cream);padding:12px 14px 14px;max-width:min(94vw,1080px);max-height:95dvh;overflow:auto}
dialog::backdrop{background:#101610dc}
body:has(dialog[open]){overflow:hidden}
.dialog-tools{display:flex;justify-content:flex-end;padding-bottom:8px}
.close-dialog svg{width:17px;height:17px}
#media-view img,#media-view video{display:block;width:auto;max-width:100%;max-height:72dvh;margin:auto}
#media-caption{margin-top:9px;font-size:14px;max-width:80ch}
@media(min-width:1800px){.hero-photo{object-position:center 45%}}
@media(max-width:1120px){.mast-actions .phone{display:none}.mast-in{height:72px}.hero h1{font-size:clamp(78px,8.3vw,96px)}.foot-top{grid-template-columns:1.2fr .9fr .9fr 1.2fr}}
@media(max-width:940px){
  .mast-in{height:65px;gap:12px}.mast .logo{width:148px}.mast-actions{gap:12px}
  .nav-toggle{display:grid;place-items:center;color:var(--cream);width:36px;height:40px;padding:5px}.nav-toggle svg{width:24px;height:24px}
  .mast nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--deep);padding:8px var(--gutter) 16px;box-shadow:0 12px 18px #10201330}
  .mast nav.open{display:grid;gap:0}.mast nav a{border-bottom:1px solid #536150;min-height:44px}
}
@media(max-width:800px){
  .hero-inner{min-height:510px}.hero-wash{background:linear-gradient(0deg,#111f15c7,transparent 35%),linear-gradient(90deg,#101b12e6,#1a251999 54%,#16201714)}
  .hero-desc{max-width:405px}.hero h1{font-size:76px}.hero-actions{gap:16px}.btn{gap:12px}
  .cards{gap:24px 16px}.card-img{aspect-ratio:1.55}.card-copy{padding-top:12px}.card-line{align-items:baseline}
  .project-grid{grid-template-columns:1fr 1.2fr;gap:26px}.crew-grid{gap:30px}
  .foot-top{grid-template-columns:1.4fr 1fr;row-gap:30px}
  .contact-grid{grid-template-columns:.8fr 1.2fr;gap:24px}.form-row{grid-template-columns:1fr;gap:0}
}
@media(max-width:620px){
  .review-strip-in{flex-direction:column;align-items:flex-start;gap:9px;padding-block:16px}
  .review-strip .text-link{margin-left:19px;font-size:13px}
  .review-lead{grid-template-columns:1fr;gap:24px}
  .review-lead h1{font-size:clamp(46px,11vw,65px);max-width:none}
  .featured-review{min-height:255px}
  .work-links .wrap{gap:clamp(10px,3.3vw,20px)}
  .work-links a{min-height:44px;font-size:12px}
  :root{--gutter:20px}
  .head-cta{font-size:12px;min-height:35px;padding:8px 11px;gap:7px}.head-cta svg{width:13px;height:13px}
  .mast-in{height:62px}.mast .logo{width:134px}.mast-actions{gap:6px}
  .hero{background:#1b291e}.hero-inner{min-height:0}
  .hero-photo{width:100%;height:300px;object-position:57% 42%;z-index:-2}
  .hero-wash{background:linear-gradient(0deg,#1b291e 0%,#1b291e 47%,#1b291ecc 58%,transparent 75%);z-index:-1}
  .hero-copy{padding:clamp(155px,42vw,225px) 0 28px;justify-content:flex-start}
  .hero-location{font-size:9px;gap:7px;letter-spacing:.10em;text-shadow:0 1px 6px #071109}
  .hero h1{font-size:clamp(40px,13.1vw,77px);line-height:.92;margin:15px 0}
  .hero-desc{font-size:15px;line-height:1.5;max-width:400px}.hero-actions{margin-top:19px;gap:17px}
  .hero-actions .btn{font-size:13px;padding:10px 13px;min-height:43px}.watch{font-size:13px;gap:6px}.play-ring{width:28px;height:28px}
  .hero-foot{padding:11px 0 13px;gap:10px}.field-note{gap:7px}.field-note>svg{width:18px;height:18px}
  .field-note small{font-size:8px}.field-note strong{font-size:10px}.pager{gap:5px}.pager button{width:30px;height:30px}
  .pager button:first-of-type{margin-left:3px}.pager .pager-track{width:18px}.pager>span{font-size:9px}
  .section{padding-block:39px}.eyebrow{font-size:10px;margin-bottom:9px}.section-head{align-items:flex-start;margin-bottom:22px;flex-wrap:wrap;gap:14px}
  h2{font-size:43px}.section-head h2{font-size:clamp(37px,8.5vw,49px)}.section-head>.btn{min-height:36px;font-size:12px;padding:8px 11px;align-self:flex-end;margin:0}
  .cards,.project-grid,.crew-grid,.contact-grid,.reading,.faq,.has-photo .page-intro-in,.owner-list{grid-template-columns:1fr}
  .cards{gap:24px}.card-img{aspect-ratio:1.9}.card-line h3{font-size:32px}.card-copy p{margin-top:6px}
  .project-grid,.crew-grid{gap:24px}.project-grid p:not(.eyebrow),.crew-grid p:not(.eyebrow){font-size:16px;margin:13px 0 19px}
  .invite-in{align-items:flex-start;flex-direction:column;padding-block:37px}.invite h2{font-size:44px}
  .foot-top{grid-template-columns:1fr 1fr;gap:25px 15px;padding-block:35px}.foot-top>div:first-child,.foot-top>div:last-child{grid-column:1/-1}
  footer .logo{width:145px}.foot-base{flex-wrap:wrap;gap:8px}
  .page-intro{padding-block:35px}.page-intro h1,.contact-grid h1{font-size:clamp(48px,10.5vw,65px)}.intro-desc{font-size:16px;margin-top:14px}
  .has-photo .page-intro-in{gap:22px}.intro-photo{aspect-ratio:2.2}
  .reading aside{position:static}.prose{font-size:16px}.prose h2{font-size:32px}.faq h2{margin:0}
  .area-links,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 15px}
  .area-links a{font-size:14px;gap:6px}.gallery-grid{gap:7px}.gallery-tile span{right:5px;bottom:5px;padding:4px}
  .filter-bar{gap:6px}.filter-bar button{font-size:13px;padding:7px 9px}
  .films{gap:12px}.films figcaption{font-size:15px}.films video{aspect-ratio:9/16}
  .owner-list{gap:20px}.owner-list .owner>div{padding-bottom:0}.related{flex-wrap:wrap;gap:8px}
  .contact-grid{gap:30px}.contact-item{margin-top:16px}.contact-grid h1 br{display:none}.draft-actions{flex-wrap:wrap}
}
@media(max-width:380px){
  .mast-in{gap:6px}.mast .logo{width:110px}.head-cta{padding-inline:8px}
  .hero-actions{gap:11px}.hero-actions .btn{gap:7px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.local-info{max-width:1000px}
.local-info h2{margin:1.35em 0 .4em}
.local-info h2:first-child{margin-top:0}
.local-info>p,.local-info blockquote{max-width:75ch;line-height:1.65}
.local-info figure{margin:2rem 0;padding:1.5rem;border-left:4px solid var(--gold);background:#f3f1e8}
.local-info figure blockquote{margin:0 0 .5rem;font-size:1.15rem}
.work-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 2rem}
.work-details>div{border-top:1px solid #bfc8bb;padding-top:.75rem}
.work-details dt{font-weight:700}.work-details dd{margin:.35rem 0;line-height:1.6}
footer address{font-size:.9rem;color:#e4e9df;font-style:normal}
.footer-social{display:flex;flex-wrap:wrap;gap:.4rem}
.shop-map{padding-bottom:1.25rem}.shop-map>a{display:inline-flex;align-items:center;gap:.4rem}
.shop-map>a svg{width:18px}.shop-map details{margin-top:.5rem}
.shop-map summary{cursor:pointer;text-decoration:underline}.shop-map iframe{margin-top:.75rem;width:100%;height:230px;border:0}
#estimate-form label.sms-consent{display:flex;align-items:flex-start;gap:.65rem;font-size:.85rem;line-height:1.5;font-weight:400}
#estimate-form .sms-consent input{flex:0 0 auto;width:1.2rem;height:1.2rem;min-height:0;accent-color:#305737;margin-top:.15rem}
.sms-consent a{text-decoration:underline}
@media(max-width:940px){.mast-actions .phone{display:inline-flex;justify-content:center;width:44px;height:44px;color:var(--gold)}.mast-actions .phone span{display:none}.mast-actions .phone svg{width:24px;height:24px}}
@media(max-width:600px){.work-details{grid-template-columns:1fr}.local-info .related{display:flex;flex-wrap:wrap;gap:1rem}}
@media(max-width:355px){.mast .logo{width:95px}.mast-actions{gap:2px}.mast-actions .phone{width:40px}}
.back-top{position:fixed;inset:auto max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) auto;z-index:5;display:inline-flex;align-items:center;gap:7px;min-height:46px;padding:0 15px;border:1px solid #aeb8a5;border-radius:24px;color:#fff;background:#233c2d;box-shadow:0 3px 12px #14221932;font-size:14px;font-weight:700}
.back-top span{font-size:20px;line-height:1}.back-top:hover,.back-top:focus-visible{background:#365a43}.back-top[hidden]{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.field-library h2{font-size:clamp(34px,4.3vw,62px);margin-bottom:24px}
.film-card .card-img{position:relative;aspect-ratio:16/9}
.film-play{position:absolute;bottom:12px;left:12px;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .65rem;background:#18281deb;color:white;border-radius:2px;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}
.film-play svg{width:14px;height:14px}.film-card h3{font-size:clamp(24px,2.4vw,35px)}
.watch-page{padding-block:clamp(32px,5vw,74px)}
.watch-page>.text-link{margin-bottom:18px}.watch-page h1{max-width:19ch;font-size:clamp(48px,6vw,90px);margin-bottom:24px}
.watch-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr);align-items:start;gap:clamp(20px,4vw,64px)}
.watch-page.portrait .watch-layout{grid-template-columns:minmax(240px,450px) minmax(220px,550px)}
.watch-layout video{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:#1b2a20}
.watch-copy .intro-desc{margin:0 0 1rem;max-width:37ch}.watch-copy>p{max-width:60ch}
.watch-copy>.btn{margin-top:1.3rem}.guide-date{font-size:.9rem;color:var(--muted)}
@media(max-width:760px){.watch-layout,.watch-page.portrait .watch-layout{grid-template-columns:1fr}.watch-layout video{max-height:65svh}.watch-page h1{margin-bottom:16px}.watch-copy .intro-desc{font-size:1.15rem}.field-library h2{margin-bottom:16px}}
