@charset "UTF-8";
:root{--paper:#f7f4ec;--ink:#243e35;--muted:#5e665e;--line:#d8d8c9;--gold:#ad764a;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}
a:hover{text-decoration:underline;text-underline-offset:5px}
figure,p,h1,h2,h3,h4{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.035em}
h2{font-size:clamp(2.25rem,4vw,3.5rem)}
h3{font-size:2.4rem}
p{max-width:60ch}
.section-wrap,.site-header{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;top:8px;left:12px;transform:translateY(-200%);background:var(--ink);color:white;padding:10px 18px;z-index:10}
.skip-link:focus{transform:none}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:29px 0;border-bottom:1px solid var(--line);gap:28px}
.wordmark{display:grid;grid-template-columns:34px auto;column-gap:12px;align-items:center;font:24px var(--serif);white-space:nowrap;line-height:1.1}
.brand-place{grid-column:2;font:9px var(--sans);text-transform:uppercase;letter-spacing:.2em;margin-top:6px}
.brand-icon{grid-row:span 2;width:32px;height:39px;border:3px double var(--ink);position:relative}
.brand-icon:after{content:'';position:absolute;inset:6px;border:1px solid var(--gold)}
nav{display:flex;gap:32px;font-size:13px;font-weight:600}
nav a:last-child{border-bottom:1px solid var(--ink);padding-bottom:3px}
nav a span{margin-left:12px}
.hero{padding-top:52px;display:grid;grid-template-columns:1.05fr 1fr;gap:35px 55px;align-items:center}
.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:24px}
.hero-shop{font-family:var(--serif);font-size:22px;margin-bottom:8px}
h1{font-size:clamp(2.9rem,4.7vw,4.6rem);margin-bottom:25px}
.hero-copy>p:not(.eyebrow):not(.hero-shop){color:var(--muted);font-size:15px;max-width:43ch}
.hero-copy .intro{font-family:var(--serif);font-size:21px!important;color:var(--ink)!important;margin-bottom:12px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;background:var(--ink);color:white;padding:14px 22px;font-size:13px;font-weight:600;margin-top:27px;border:1px solid transparent;transition:background .2s}
.button:hover{background:#385849;text-decoration:none}
.button span{font-size:20px;line-height:1}
.hero-note{display:block;color:var(--muted);font-size:10px;margin-top:14px}
.photo-placeholder{background:#e4decd;position:relative;overflow:hidden}
.hero-image{min-height:510px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#ded7c6,#eee8da 65%,#d0c8b6)}
.sample-frame{width:65%;aspect-ratio:4/4.7;background:#7a563b;padding:12px;box-shadow:10px 17px 22px #4a3e3029,inset 0 0 0 2px #b08c66;transform:rotate(-5deg);margin:25px 0 44px}
.sample-frame>div{height:100%;background:#f6f0df;padding:23%;display:flex;align-items:center;justify-content:center;outline:1px solid #c9bda9;outline-offset:-16px}
.sample-frame span{font:italic clamp(20px,2.5vw,36px)/1.2 var(--serif);color:#667461}
.hero-image figcaption{position:absolute;bottom:18px;left:0;width:100%;text-align:center;display:grid;gap:4px;font-size:10px;color:#4f534b}
.placeholder-tag{font:600 9px var(--sans);text-transform:uppercase;letter-spacing:.13em}
.hero-footnote{grid-column:1/-1;display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.framing-section{padding-block:88px 90px}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 100px;margin-bottom:38px}
.section-heading .eyebrow{grid-column:1/-1}
.section-heading>p:last-child{align-self:end;max-width:39ch;color:var(--muted);font-size:15px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.service{padding:36px 38px;background:#eaeadd;display:flex;flex-direction:column;align-items:flex-start}
.business-service{background:#e5e8e0}
.section-number{font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px}
.service h3{margin-bottom:20px}
.service p{font-size:14px;color:#4c5b51;margin-bottom:25px;max-width:46ch}
.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #a6b0a2;padding-bottom:4px;margin-top:auto}
.text-link span{margin-left:15px}
.details-section{border-block:1px solid var(--line);padding-block:65px}
.details-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}
.detail-list article{display:flex;gap:26px;padding-block:24px;border-bottom:1px solid var(--line)}
.detail-list article:first-child{padding-top:0}
.detail-list article:last-child{border:0;padding-bottom:0}
.detail-list article>span{font-size:11px;color:var(--gold);margin-top:6px}
.detail-list h3{font-size:27px;margin-bottom:13px}
.detail-list p{font-size:14px;color:var(--muted)}
.projects-section{padding-block:85px 70px}
.projects-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}
.projects-heading>p{color:var(--muted);font-size:12px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-photo{height:285px;display:flex;align-items:center;justify-content:center}
.project-photo .placeholder-tag{position:absolute;bottom:15px;left:10px;right:10px;text-align:center;color:#444d43}
.project-one{background:#e1dbcc}
.mini-frame{width:49%;height:67%;border:9px solid #796047;background:#d6d8c9;box-shadow:0 0 0 1px #f0e8d6,inset 0 0 0 22px #f4eedf;transform:rotate(-5deg)}
.project-two{background:#d4ddd5}
.frame-group{display:flex;gap:12px;transform:translateY(-10px)}
.frame-group i{display:block;width:55px;height:80px;border:5px solid #5c6254;background:#a1ad99;box-shadow:inset 0 0 0 7px #ede9db}
.project-three{background:#dfcdbb}
.mat-detail{width:180px;height:180px;border:24px solid #eee8d6;outline:8px solid #7d5e46;background:#7d8b79;box-shadow:inset 0 0 0 5px #b5b79e;transform:rotate(35deg) translate(30px,10px)}
.project-grid figcaption{font-size:11px;padding-top:13px}
.project-grid figcaption>span{color:var(--gold);margin-right:10px}
.photo-note{font-size:11px;color:var(--muted);margin-top:22px}
.art-section{border-top:1px solid var(--line);padding-block:38px 55px;position:relative}
.art-section>div{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-right:65px}
.art-section h2{font-size:32px}
.art-section p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:44ch}
.art-mark{position:absolute;right:0;top:65px;font:50px var(--serif);color:var(--gold)}
.visit-section{background:var(--ink);color:var(--paper);padding-block:75px}
.visit-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:95px}
.visit-section .eyebrow{color:#c6cbb9}
.visit-section h2{font-size:clamp(2.4rem,4vw,3.6rem)}
.visit-intro{color:#d1d8cc;font-size:14px;margin-top:22px;max-width:43ch}
.button-light{background:var(--paper);color:var(--ink)}
.button-light:hover{background:#ddd9cb}
.bring-list h3{font:22px var(--serif);letter-spacing:0;margin-bottom:12px}
.bring-list ol{padding:0;margin:0;list-style:none}
.bring-list li{display:flex;gap:20px;border-top:1px solid #53665a;padding:21px 0}
.bring-list li>span{font-size:10px;color:#c9b28b;padding-top:4px}
.bring-list h4{font-weight:500;font-size:14px;margin-bottom:5px}
.bring-list p{font-size:12px;color:#c6cfc2;max-width:40ch}
footer{padding-block:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-brand{font:21px var(--serif)}
footer p,footer>span{font-size:10px;color:var(--muted)}
@media(min-width:1500px){.hero-image{min-height:570px}}
@media(max-width:1000px){.section-wrap,.site-header{width:calc(100% - 64px)}.hero{gap:30px}.hero-image{min-height:470px}h1{font-size:3rem}.section-heading{gap:0 40px}.service{padding:30px}.details-layout,.visit-layout{gap:45px}.project-photo{height:230px}.projects-heading{align-items:start}.projects-heading>p{max-width:25ch}.frame-group{gap:7px}.frame-group i{width:44px;height:70px}footer{flex-wrap:wrap}}
@media(max-width:680px){html{scroll-padding-top:16px}.section-wrap,.site-header{width:calc(100% - 40px)}.site-header{align-items:flex-start;flex-direction:column;gap:23px;padding-block:23px 18px}.wordmark{font-size:23px}nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}nav a span{margin-left:4px}.hero{padding-top:33px;grid-template-columns:1fr;gap:28px}.eyebrow{font-size:9px;margin-bottom:18px}.hero-shop{font-size:21px}h1{font-size:clamp(2.5rem,10vw,3.7rem)}.hero-copy>p:not(.eyebrow):not(.hero-shop){max-width:44ch}.hero-image{min-height:390px}.sample-frame{width:56%;max-width:240px;margin-top:25px}.sample-frame span{font-size:25px}.hero-footnote{gap:15px;font-size:8px;align-items:start}.hero-footnote span:last-child{max-width:22ch;text-align:right}.framing-section{padding-block:52px}.section-heading{grid-template-columns:1fr;gap:22px}.section-heading .eyebrow{margin:0}.section-heading>p:last-child{max-width:45ch}.service-grid{grid-template-columns:1fr;gap:16px}.service{padding:28px}.section-number{margin-bottom:23px;font-size:9px}.service h3{font-size:2.1rem}.details-section{padding-block:45px}.details-layout{grid-template-columns:1fr;gap:30px}.details-layout h2 br{display:none}.detail-list article{gap:18px}.projects-section{padding-block:50px}.projects-heading{flex-direction:column;gap:20px}.projects-heading>p{max-width:none}.project-grid{grid-template-columns:1fr;gap:28px}.project-photo{height:310px}.mini-frame{width:145px;height:200px}.frame-group i{width:67px;height:100px}.frame-group{gap:18px}.art-section{padding-block:30px 45px}.art-section>div{grid-template-columns:1fr;gap:20px;padding-right:30px}.art-mark{top:70px;font-size:36px}.art-section h2{font-size:29px}.visit-section{padding-block:50px}.visit-layout{grid-template-columns:1fr;gap:45px}.visit-section h2{font-size:2.5rem}.bring-list li:last-child{padding-bottom:0}footer{flex-direction:column;align-items:flex-start;gap:8px;padding-block:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
