:root{--paper:#f8f4ec;--ink:#25211f;--marigold:#e2a735;--muted:#615c56;--line:#dfd6c8;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p{margin-top:0}h1,h2,.brand{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h2{font-size:clamp(29px,3vw,43px);line-height:1.12}h1{font-size:clamp(42px,4.5vw,78px);line-height:1.02;letter-spacing:-.025em}.site-header{height:77px;position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;z-index:10;padding:0 6%;pointer-events:none}.site-header>*{pointer-events:auto}.brand{font-size:clamp(32px,3.3vw,49px);letter-spacing:-.04em;white-space:nowrap}.nav{display:flex;align-items:center;gap:27px;background:rgba(248,244,236,.92);padding:9px 12px 9px 26px;font-size:13px}.nav a:not(.pill):hover,footer a:hover{color:#a67319}.pill{display:inline-flex;align-items:center;justify-content:center;gap:25px;border-radius:999px;padding:12px 24px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:transform .2s,background .2s;border:1px solid var(--marigold)}.pill:hover{transform:translateY(-2px)}.pill.filled{background:var(--marigold);color:#1e1a16}.pill.outline{background:transparent}.pill span{font-size:18px;line-height:.6;font-weight:400}.nav .pill{font-size:12px;letter-spacing:0;text-transform:none;padding:12px 27px}.menu-button{display:none}.hero{display:grid;grid-template-columns:44% 56%;min-height:535px;position:relative}.hero-copy{padding:150px 5% 70px 18%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;position:relative;z-index:2;background:linear-gradient(105deg,#f7f1e8 75%,rgba(247,241,232,.93))}.hero-copy h1{max-width:630px;white-space:nowrap}.rule{display:block;width:47px;height:2px;background:var(--marigold);margin:17px 0 22px}.rule.small{width:36px;margin:13px 0 0}.hero-copy p{font-size:17px;line-height:1.4;margin:0}.hero-copy .tagline{font-size:20px;margin-bottom:2px}.hero-button{margin-top:26px}.hero-visual{position:relative;overflow:hidden}.hero-visual img{object-position:50% 45%}.visual-label{position:absolute;bottom:9px;right:10px;background:rgba(248,244,236,.82);padding:3px 8px;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:#413b33}.feature-grid{padding:10px 2.5% 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature-image{height:clamp(190px,17vw,285px);display:block;position:relative;overflow:hidden}.feature-image img{transition:transform .5s}.feature-image:hover img{transform:scale(1.04)}.feature-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 12px 0}.feature-foot h2{margin:0;font-size:34px}.feature .small{margin-left:12px}.feature-foot .pill{padding:11px 16px;gap:15px;font-size:10px}.about-grid{display:grid;grid-template-columns:36% 29% 18% 17%;min-height:390px;background:#f9f6f0}.about-photo,.detail-photo{position:relative;min-height:390px}.about-copy,.philosophy{padding:37px 7% 25px}.about-copy h2,.philosophy h2{font-size:32px;margin:0}.about-copy p,.philosophy p{font-size:13px;line-height:1.6;color:#4e4843;margin-bottom:12px}.about-copy .pill{margin-top:5px}.philosophy{padding-top:37px}.philosophy h2{font-size:28px}.statement{text-align:center;padding:90px 20px;background:#f0e8dc}.statement h2{font-size:clamp(40px,5vw,70px);margin:15px 0}.statement p{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#9d711e}.portfolio-section,.awards-section{padding:85px 6%}.portfolio-section.alt{background:#fffdf8}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-top h2,.awards-section h2{font-size:clamp(40px,5vw,65px);margin:8px 0 0}.gallery{display:grid;gap:22px}.gallery.three{grid-template-columns:repeat(3,1fr)}.gallery.two{grid-template-columns:repeat(2,1fr)}.art-tile{border:0;padding:0;background:transparent;text-align:left}.art-tile img{height:340px;background:#eee7dd;transition:filter .2s}.art-tile:hover img{filter:brightness(.95)}.art-tile span{display:block;font-size:13px;margin-top:11px}.awards-section{background:#efe7da}.award-list{margin-top:28px;border-top:1px solid #d0c5b7}.award-list>div{display:grid;grid-template-columns:80px 1fr 230px;gap:20px;padding:17px 0;border-bottom:1px solid #d0c5b7;align-items:center;font-size:14px}.award-list b{font-weight:600;text-align:right}.contact{text-align:center;padding:100px 6%;background:#282522;color:#f8f4ec}.contact h2{font-size:clamp(42px,6vw,76px);margin:14px 0}.contact>p{color:#d5c9b9}.contact form{max-width:760px;margin:35px auto 0;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact label{display:block;font-size:12px;letter-spacing:.03em;margin-bottom:15px}.contact input,.contact select,.contact textarea{width:100%;display:block;background:#f7f2e9;color:#282522;border:1px solid #cbbca9;padding:13px 14px;border-radius:3px;margin-top:7px;outline-color:var(--marigold)}.contact textarea{resize:vertical}.contact form>.pill{border:0}.form-note{font-size:11px;color:#c7bbad;margin-top:15px}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:35px 6%;font-size:12px}footer>div{display:flex;gap:20px}footer small{width:100%;color:var(--muted)}#art-dialog{border:0;padding:20px;background:var(--paper);max-width:min(92vw,950px);max-height:92vh}#art-dialog::backdrop{background:rgba(0,0,0,.8)}#art-dialog img{max-height:75vh;object-fit:contain}#dialog-close{position:absolute;right:20px;top:8px;border:0;background:var(--paper);font-size:32px}#dialog-caption{text-align:center;margin:8px 0 0}.art-tile:focus-visible,.pill:focus-visible,a:focus-visible{outline:3px solid #a7771d;outline-offset:4px}@media(max-width:1100px){.hero-copy{padding-left:10%}.hero-copy h1{white-space:normal}.about-grid{grid-template-columns:38% 38% 24%}.detail-photo{display:none}.feature-foot{flex-direction:column;align-items:flex-start}.feature-foot .pill{margin-top:0}.nav{gap:13px}.nav a{font-size:12px}}@media(max-width:760px){.site-header{height:68px;padding:0 5%;position:absolute}.brand{font-size:36px}.menu-button{display:flex;gap:9px;border:0;background:#f7f1e8;padding:10px 13px}.nav{display:none;position:absolute;right:5%;top:60px;flex-direction:column;align-items:stretch;min-width:220px;padding:18px;gap:17px;box-shadow:0 10px 30px #0002}.nav.open{display:flex}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:115px 7% 45px;min-height:420px}.hero-copy h1{font-size:clamp(42px,9vw,65px)}.hero-visual{height:310px}.feature-grid{grid-template-columns:1fr;padding:15px 5% 40px;gap:25px}.feature-image{height:270px}.feature-foot{flex-direction:row;align-items:center}.feature-foot h2{font-size:32px}.about-grid{grid-template-columns:1fr 1fr}.about-photo{min-height:320px}.about-copy{padding:30px 7%}.philosophy{padding:30px 7%}.detail-photo{display:block;min-height:320px}.gallery.three,.gallery.two{grid-template-columns:1fr 1fr}.art-tile img{height:260px}.award-list>div{grid-template-columns:65px 1fr;gap:8px}.award-list b{grid-column:2;text-align:left}.desktop-only{display:none}}@media(max-width:520px){.hero-copy{min-height:390px}.hero-copy h1{font-size:46px}.hero-copy p,.hero-copy .tagline{font-size:16px}.feature-foot .pill{font-size:9px}.about-grid{grid-template-columns:1fr}.about-photo{height:350px}.about-copy,.philosophy{padding:35px 7%}.detail-photo{height:240px;min-height:0}.gallery.three,.gallery.two{grid-template-columns:1fr}.art-tile img{height:330px}.section-top{align-items:flex-start;flex-direction:column}.portfolio-section,.awards-section{padding:65px 6%}.form-grid{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start}}

/* Refined hero, compact artwork galleries, and concise award list */
.hero-subcopy{width:max-content;max-width:none}
.hero-subcopy p,.hero-copy .hero-subcopy p{font-size:clamp(12px,1.1vw,17px);font-weight:400;line-height:1.55;white-space:nowrap;margin:0}
.gallery.gallery-collapsible{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.art-tile img{aspect-ratio:1/1;height:auto;width:100%;object-fit:contain;background:#eee9e0;padding:9px}
.extra-tile{display:none}
.gallery-collapsible.expanded .extra-tile{display:block}
.gallery-toggle{display:flex;margin:26px auto 0}
.award-list{max-width:860px;margin:28px auto 0}
.awards-section>h2,.awards-section>.eyebrow{display:block;max-width:860px;margin-left:auto;margin-right:auto}
.award-list>div{grid-template-columns:65px minmax(0,1fr) 175px;gap:12px}
.award-list b{text-align:left}
@media(max-width:1100px){
 .hero-subcopy{width:100%;max-width:100%}
 .hero-subcopy p,.hero-copy .hero-subcopy p{white-space:normal;font-size:15px}
 .gallery.gallery-collapsible{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .gallery.gallery-collapsible{grid-template-columns:repeat(2,minmax(0,1fr))}
 .award-list>div{grid-template-columns:58px minmax(0,1fr);gap:6px 12px}
 .award-list b{grid-column:2}
}
@media(max-width:430px){
 .gallery.gallery-collapsible{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .art-tile span{font-size:11px}
 .art-tile img{padding:5px}
}

/* V3: approved full-bleed editorial hero and precise gallery layout */
.hero{display:block;min-height:535px;position:relative;isolation:isolate;background:#f6f0e7 url('assets/hero-room.webp') right center / cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f1e8 0%,#f7f1e8 23%,rgba(247,241,232,.97) 34%,rgba(247,241,232,.80) 42%,rgba(247,241,232,.04) 59%,transparent 72%)}
.hero-copy{position:relative;z-index:1;background:none;min-height:535px;width:100%;padding:145px 0 65px 8.3%;justify-content:center}
.hero-copy h1{max-width:none}
.hero-visual{display:none}
.hero-concept-label{position:absolute;right:12px;bottom:10px;background:rgba(248,244,236,.85);font-size:10px;letter-spacing:.04em;padding:4px 9px}
.hero-subcopy{width:max-content;max-width:none}
.hero-subcopy p,.hero-copy .hero-subcopy p{font-size:17px;line-height:1.4;white-space:nowrap;font-weight:400}
.gallery.gallery-collapsible{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.art-tile img{aspect-ratio:1;object-fit:contain;background:#f0ebe2;padding:10px}
.award-list{max-width:790px}
.award-list>div{grid-template-columns:58px minmax(0,1fr) 180px;column-gap:10px}
.award-list b{text-align:left}
@media(max-width:1150px){.hero-copy h1{white-space:normal}.hero-subcopy p,.hero-copy .hero-subcopy p{font-size:clamp(12px,1.35vw,16px)}.gallery.gallery-collapsible{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.hero{min-height:690px;background-position:65% bottom;background-size:auto 390px;background-repeat:no-repeat;background-color:#f7f1e8}.hero::before{background:linear-gradient(180deg,#f7f1e8 0%,#f7f1e8 43%,rgba(247,241,232,0) 63%)}.hero-copy{min-height:0;padding:112px 6% 0}.hero-copy h1{font-size:clamp(40px,8vw,64px)}.hero-subcopy{max-width:100%}.hero-subcopy p,.hero-copy .hero-subcopy p{white-space:normal;font-size:clamp(13px,2.4vw,17px)}.hero-concept-label{bottom:8px}.gallery.gallery-collapsible{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.hero{min-height:650px;background-size:auto 300px}.hero-copy{padding:105px 6% 0}.hero-copy h1{font-size:clamp(39px,10vw,51px)}.gallery.gallery-collapsible{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.award-list>div{grid-template-columns:52px minmax(0,1fr)}.award-list b{grid-column:2}}

/* Approved hero: use the entire original top-of-page image, not a cropped room photograph. */
@media(min-width:761px){
 .site-header{display:none}
 .hero{display:block;min-height:0;height:auto;aspect-ratio:1536/423;background:none;isolation:auto;position:relative}
 .hero::before{display:none}
 .hero .approved-hero-image{position:absolute;inset:0;background:url('assets/approved-hero.webp') center center/100% 100% no-repeat}
 .hero .hero-copy,.hero .hero-visual,.hero .hero-concept-label{display:none}
 .hero-hotspots{position:absolute;inset:0;z-index:4}
 .hero-hotspots .hotspot{position:absolute;display:block;background:transparent}
 .hotspot-brand{left:6%;top:0;width:19%;height:16%}
 .hotspot-murals{left:62.3%;top:0;width:4.7%;height:14%}
 .hotspot-original{left:67.2%;top:0;width:7%;height:14%}
 .hotspot-public{left:74.4%;top:0;width:6%;height:14%}
 .hotspot-about{left:80.5%;top:0;width:4.5%;height:14%}
 .hotspot-awards{left:84.7%;top:0;width:5.3%;height:14%}
 .hotspot-inquire{left:86.4%;top:0;width:7%;height:14%}
 .hotspot-explore{left:8%;top:76%;width:13.4%;height:14%}
 .hero-hotspots a:focus-visible{outline:3px solid #e2a735;outline-offset:-2px}
}
@media(max-width:760px){
 .approved-hero-image,.hero-hotspots{display:none}
}

/* Keep the approved desktop composition and expose its embedded headline. */
.desktop-accessible-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.desktop-accessible-heading{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Reference supplied by Nicole, October 29: match the 936 × 624 composition.
   Desktop dimensions scale with the full-width hero rather than fixed card heights. */
@media(min-width:761px){
 .feature-grid{padding:.43vw 2.56vw 1.92vw;gap:1.6vw;grid-template-columns:repeat(3,minmax(0,1fr))}
 .feature-image{height:auto;aspect-ratio:2.51}
 .feature-foot{flex-direction:row;align-items:center;padding:.85vw 1.28vw 0;gap:.7vw}
 .feature-foot h2{font-size:2.04vw;line-height:1.12}
 .feature-foot .pill{font-size:.57vw;padding:.74vw 1.28vw;gap:1.7vw;letter-spacing:.06em}
 .feature-foot .pill span{font-size:1vw}
 .feature .rule.small{width:2.14vw;height:1px;margin:.53vw 0 0 1.28vw}
 .about-grid{grid-template-columns:36.6% 28% 18.4% 17%;min-height:20.83vw}
 .about-photo,.detail-photo{display:block;min-height:20.83vw}
 .about-copy{padding:1.5vw 2.35vw 1.6vw}
 .about-copy h2{font-size:2.04vw}
 .philosophy{padding:2.25vw 2.24vw 1.6vw}
 .philosophy h2{font-size:1.6vw;white-space:nowrap}
 .about-copy p,.philosophy p{font-size:.83vw;line-height:1.4;margin:0 0 .7vw}
 .about-copy .rule.small,.philosophy .rule.small{width:2.4vw;height:1px;margin:.85vw 0 1vw}
 .about-copy .pill{font-size:.57vw;padding:.74vw 1.5vw;gap:5vw;margin-top:.25vw}
 .about-copy .pill span{font-size:1vw}
 .hotspot-brand{left:7.8%;top:0;width:13%;height:14%}
 .hotspot-murals{left:63%;top:0;width:3.4%;height:14%}
 .hotspot-original{left:67.1%;top:0;width:5.4%;height:14%}
 .hotspot-public{left:73.3%;top:0;width:4.3%;height:14%}
 .hotspot-about{left:78.2%;top:0;width:3.2%;height:14%}
 .hotspot-awards{left:82.2%;top:0;width:3.8%;height:14%}
 .hotspot-inquire{left:86.7%;top:2%;width:6.3%;height:10%}
 .hotspot-explore{left:8.2%;top:78%;width:12.8%;height:11%}
 /* Retain truthful concept labels, understated against the reference images. */
 .feature .visual-label,.about-grid .visual-label{font-size:max(7px,.57vw);padding:2px 5px;bottom:4px;right:4px}
}

/* Live hero: all typography, navigation and buttons are real HTML. */
@media(min-width:761px){
 .site-header{display:flex;height:4vw;padding:0 7.9%;align-items:flex-start;pointer-events:none}
 .brand{font-size:3.2vw;line-height:1.18;padding:0 .2vw;background:rgba(248,244,236,.28)}
 .nav{display:flex;gap:1.65vw;padding:.75vw 1.2vw .75vw 1.4vw;font-size:.8vw;background:rgba(248,244,236,.88)}
 .nav a{font-size:.8vw;align-self:center}
 .nav .pill{font-size:.8vw;padding:.7vw 1.8vw;line-height:1}
 .hero{aspect-ratio:1536/423;min-height:0;background:var(--paper) url('assets/hero-background.png') center/cover no-repeat;isolation:isolate}
 .hero::before{display:none}
 .hero .hero-copy{display:flex;min-height:0;height:100%;padding:7.1vw 0 0 8.3%;position:absolute;inset:0;justify-content:flex-start;background:none}
 .hero-copy h1{font-size:4.15vw;line-height:.98;letter-spacing:-.04em;white-space:nowrap;margin:0}
 .hero-copy .rule{width:3.1vw;height:2px;margin:1.3vw 0 1.3vw}
 .hero-subcopy{width:auto;max-width:none}
 .hero-copy .hero-subcopy p{font-size:1.19vw;line-height:1.4;white-space:nowrap}
 .hero-button{margin-top:1.5vw;font-size:.66vw;padding:1vw 1.8vw;gap:2vw;line-height:1}
 .hero-button span{font-size:1vw}
 .hero .hero-concept-label{display:block;font-size:max(7px,.57vw);padding:2px 5px;right:4px;bottom:4px}
}
@media(max-width:760px){
 .hero{background-image:url('assets/hero-background.png');background-position:65% bottom}
}

/* Editorial marigold emphasis recovered from the earlier website/v2 concepts. */
:root{--heading-marigold:#b77b23}
h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-style:italic;color:var(--heading-marigold)}
.contact h2 em{color:#efbb4f}
.about-copy h2,.philosophy h2{font-size:32px;line-height:1.12;margin:0}
.about-copy,.philosophy{padding-top:30px}
.statement{padding:26px 20px 28px}
.statement h2{font-size:clamp(30px,3.6vw,48px);line-height:1.15;margin:6px 0 8px}
.statement p{margin:0;font-size:13px}
.statement .eyebrow{font-size:10px}
@media(min-width:761px){
 .about-copy,.philosophy{padding-top:1.5vw}
 .about-copy h2,.philosophy h2{font-size:2.04vw;line-height:1.12}
 .philosophy{padding-left:1.3vw;padding-right:1.3vw}
 .philosophy h2{white-space:normal}
 .statement{padding:22px 20px 24px}
}
