:root {
    --ink: #34271d;
    --sand: #e9dfd2;
    --paper: #f8f4ee;
    --accent: #bf8e51;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Georgia, serif; }
.brand-rail { position: fixed; inset: 0 auto 0 0; width: 74px; background: var(--sand); border-right: 1px solid #cbbbaa; display: flex; align-items: center; justify-content: center; z-index: 10; }
.brand-rail span { writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .08em; }
.brand-rail small { position: absolute; bottom: 36px; writing-mode: vertical-rl; transform: rotate(180deg); }
.site-shell { min-height: 100vh; margin-left: 74px; padding: clamp(28px, 5vw, 84px); }
.hero { min-height: 64vh; display: grid; align-content: center; max-width: 900px; }
.eyebrow { font-family: Arial, sans-serif; text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; }
h1 { font-size: clamp(3rem, 8vw, 7.5rem); line-height: .9; font-weight: 400; margin: .25em 0; }
.category-nav { display: flex; flex-wrap: wrap; gap: 24px; padding-top: 24px; border-top: 1px solid #b9aa99; }
a { color: inherit; }
.catalog-filter { display: flex; gap: 16px; align-items: center; margin: 32px 0; }
.catalog-filter select { min-width: 280px; padding: 12px; background: white; border: 1px solid #cbbbaa; }
.catalog-filter select:disabled { opacity: .55; cursor: not-allowed; }
.annual-catalog-header { padding-top: 8px; }
.annual-catalog-header h1 { margin: .12em 0 .16em; font-size: clamp(3rem, 6.2vw, 6rem); }
.annual-catalog-filter { flex-wrap: wrap; margin: 18px 0 20px; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 18px; }
.product-card { display: grid; gap: 5px; text-decoration: none; }
.product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 22px; }
.product-card span { margin-top: 6px; font-weight: 700; }
.product-card small { font-family: Arial, sans-serif; text-transform: uppercase; letter-spacing: .09em; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); min-height: 80vh; background: white; border-radius: 28px; overflow: hidden; }
.product-detail__image img { width: 100%; height: 100%; object-fit: cover; }
.product-detail__copy { padding: clamp(28px, 5vw, 72px); overflow-wrap: anywhere; }
.product-detail__copy h1 { font-size: clamp(3rem, 7vw, 6rem); }
dl div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 18px; padding: 14px 0; border-bottom: 1px solid #e4dbd0; }
dt { font-family: Arial, sans-serif; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }
dd { margin: 0; }
button { width: 100%; margin-top: 28px; padding: 16px; border: 0; background: var(--accent); color: var(--ink); text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }

@media (max-width: 760px) {
    .brand-rail { position: static; width: auto; height: 54px; justify-content: space-between; padding: 0 18px; }
    .brand-rail span, .brand-rail small { position: static; writing-mode: initial; transform: none; }
    .site-shell { margin-left: 0; padding: 24px 18px 48px; }
    .product-detail { grid-template-columns: 1fr; }
    .product-detail__image { min-height: 55vh; }
}

.public-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid #cbbbaa; }
.public-logo { font-size:30px; text-decoration:none; letter-spacing:.08em; }
.public-header nav { display:flex; flex-wrap:wrap; gap:22px; font-family:Arial,sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.public-alert { position:relative; z-index:20; margin:18px 0; padding:14px 18px; border-radius:10px; font-family:Arial,sans-serif; }
.public-alert.success { background:#dce9dd; color:#29482e; }.public-alert.warning { background:#f5e3bf; }
.catalog-header { padding-top:8px; }
.catalog-count { text-align:right; color:#74695f; font:11px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.product-card { position:relative; padding-bottom:12px; }
.product-card__plus { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#fff; font:20px Arial,sans-serif; box-shadow:0 4px 14px #34271d24; }
.product-card img { transition:transform .45s ease,filter .45s ease; }.product-card:hover img { transform:scale(1.02); filter:brightness(.92); }
body.modal-open { overflow:hidden; }
.catalog-modal,.inquiry-modal { position:fixed; inset:0; z-index:100; display:none; place-items:center; padding:24px; }
.catalog-modal.is-open,.inquiry-modal.is-open { display:grid; }
.catalog-modal__backdrop,.inquiry-modal__backdrop { position:absolute; inset:0; border:0; background:#1e1814d9; cursor:pointer; }
.catalog-modal__dialog { position:relative; width:min(980px,100%); max-height:calc(100vh - 48px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 24px 80px #0006; }
.catalog-modal__image { min-height:580px; background:#ded5ca; }.catalog-modal__image img { width:100%; height:100%; object-fit:cover; }
.catalog-modal__details { padding:clamp(28px,4vw,54px); overflow:auto; overflow-wrap:anywhere; }
.catalog-modal__details h2,.inquiry-modal__dialog h2 { margin:.15em 0 .4em; font:clamp(42px,6vw,72px)/1 Georgia,serif; }
.catalog-modal__details dl div { grid-template-columns:110px minmax(0,1fr); }
.catalog-modal__close { position:absolute; z-index:2; top:16px; right:16px; width:42px; height:42px; margin:0; padding:0; border:1px solid #d4c7b9; border-radius:50%; background:#fff; font-size:24px; }
.inquiry-button { width:100%; margin-top:24px; padding:16px; border:0; border-radius:8px; background:var(--accent); color:var(--ink); font-weight:700; text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.inquiry-modal__dialog { position:relative; width:min(760px,100%); max-height:calc(100vh - 48px); overflow:auto; padding:clamp(28px,5vw,58px); border-radius:24px; background:#fff; }
.inquiry-modal__dialog h2 { font-size:clamp(36px,5vw,58px); }
.inquiry-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.inquiry-form-grid label { display:grid; gap:6px; font:12px Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.inquiry-form-grid input,.inquiry-form-grid textarea { width:100%; padding:12px; border:1px solid #cbbbaa; border-radius:7px; font:15px Arial,sans-serif; text-transform:none; letter-spacing:normal; }
.inquiry-form-grid .full { grid-column:1/-1; }.honeypot { position:absolute!important; left:-9999px!important; }
.form-errors { margin-top:18px; padding:12px 16px; border-radius:8px; background:#f4ded9; color:#77372f; font-family:Arial,sans-serif; }

nav[role="navigation"] svg { width:20px; height:20px; }

@media(max-width:760px){
 .public-header{align-items:flex-start;flex-direction:column}.annual-catalog-header{padding-top:0}.annual-catalog-filter{align-items:stretch;gap:8px;margin:14px 0 18px}.annual-catalog-filter label{width:100%}.annual-catalog-filter select{min-width:0;width:100%}.catalog-modal,.inquiry-modal{padding:10px}.catalog-modal__dialog{grid-template-columns:1fr;max-height:calc(100vh - 20px);overflow:auto}.catalog-modal__image{min-height:48vh}.catalog-modal__details{overflow:visible}.inquiry-form-grid{grid-template-columns:1fr}.inquiry-form-grid .full{grid-column:auto}}

.landing-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); align-items:stretch; gap:clamp(28px,5vw,84px); margin-top:-40px; padding:0 0 clamp(24px,3vw,42px); }
.landing-intro__copy { align-self:center; position:relative; z-index:2; padding:clamp(18px,3vw,48px) 0; }
.landing-intro h1 { max-width:980px; margin:.12em 0 .22em; font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; font-size:clamp(54px,7.2vw,118px); line-height:.88; letter-spacing:-.055em; }
.editorial-link { display:inline-flex; align-items:center; gap:14px; padding:9px 0 6px; border-bottom:1px solid currentColor; font:11px Arial,sans-serif; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
.editorial-link span { font-size:18px; transition:transform .25s ease; }.editorial-link:hover span { transform:translateX(5px); }
.landing-intro__visual { position:relative; min-height:420px; margin-right:calc(-1 * clamp(28px,5vw,84px)); display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; }
.landing-intro__visual::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,var(--paper) 0%,transparent 38%),linear-gradient(0deg,var(--paper) 0%,transparent 45%); }
.landing-intro__visual img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(.9); opacity:.54; }
.landing-intro__visual p { max-width:430px; margin:0 0 clamp(24px,4vw,58px) clamp(28px,5vw,72px); color:#584a40; font-size:17px; line-height:1.65; }
.landing-categories { position:sticky; top:0; z-index:20; display:flex; flex-wrap:wrap; gap:8px; padding:14px 0; background:color-mix(in srgb,var(--paper) 94%,transparent); backdrop-filter:blur(14px); border-top:1px solid #cbbbaa; border-bottom:1px solid #cbbbaa; }
.landing-categories a { padding:9px 14px; border-radius:99px; font:11px Arial,sans-serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.landing-categories a:hover,.landing-categories a.active { background:var(--ink); color:#fff; }
.marquee-gallery { width:calc(100% + clamp(28px,5vw,84px)); margin:24px 0 0; overflow:hidden; }
.marquee-row { overflow:hidden; margin-bottom:10px; }
.marquee-track { display:flex; width:max-content; gap:10px; will-change:transform; }
.marquee-sequence { display:flex; flex:none; gap:10px; }
.marquee-track.is-ready.moves-left { animation:marquee-left var(--marquee-duration) linear infinite; }
.marquee-track.is-ready.moves-right { transform:translateX(calc(-1 * var(--marquee-distance))); animation:marquee-right var(--marquee-duration) linear infinite; }
.marquee-row:hover .marquee-track { animation-play-state:paused; }
.marquee-item { position:relative; flex:none; display:block; height:clamp(170px,18vw,300px); overflow:hidden; background:#ddd3c7; text-decoration:none; }
.marquee-item:nth-child(3n+1) { width:clamp(260px,27vw,470px); }.marquee-item:nth-child(3n+2) { width:clamp(210px,21vw,360px); }.marquee-item:nth-child(3n+3) { width:clamp(290px,31vw,540px); }
.marquee-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease,filter .6s ease; }
.marquee-item span { position:absolute; inset:auto 14px 14px; padding:10px 12px; border-radius:8px; background:#f8f4eedf; opacity:0; transform:translateY(8px); transition:.3s ease; font:12px Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.marquee-item span small { display:block; margin-top:3px; color:#74695f; }.marquee-item:hover img { transform:scale(1.035); filter:brightness(.8); }.marquee-item:hover span { opacity:1; transform:none; }
.landing-footer-callout { position:relative; width:calc(100% + clamp(56px,10vw,168px)); margin:clamp(46px,7vw,96px) calc(-1 * clamp(28px,5vw,84px)) 0; min-height:560px; display:grid; align-items:center; overflow:hidden; padding:clamp(56px,8vw,120px) clamp(28px,8vw,140px); color:#f8f1e8; background:#34271d; isolation:isolate; }
.landing-footer-callout::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#34271df5 0%,#34271ddb 46%,#34271d4d 100%); }
.landing-footer-callout__image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; filter:saturate(.65) contrast(.9); opacity:.62; }
.landing-footer-callout__content { width:min(820px,72%); }
.landing-footer-callout h2 { margin:.12em 0 .28em; font:clamp(50px,7vw,106px)/.88 "Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; letter-spacing:-.055em; }
.landing-footer-callout__content>p:not(.eyebrow) { max-width:610px; color:#f8f1e8c7; font-size:18px; line-height:1.65; }
.callout-actions { display:flex; flex-wrap:wrap; gap:28px; margin-top:30px; }.callout-actions a { padding-bottom:6px; border-bottom:1px solid #f8f1e899; font:11px Arial,sans-serif; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
@keyframes marquee-left { to { transform:translateX(calc(-1 * var(--marquee-distance))); } }
@keyframes marquee-right { to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce){.marquee-track.is-ready{animation-duration:90s!important}.marquee-item img{transition:none}}
@media(max-width:760px){.landing-intro{grid-template-columns:1fr;margin-top:-24px;padding-top:0}.landing-intro__copy{padding:28px 0 8px}.landing-intro__visual{min-height:270px;margin-right:-18px}.landing-intro__visual p{margin:0 20px 26px;font-size:16px}.landing-categories{top:0;flex-wrap:nowrap;overflow:auto}.marquee-gallery{width:calc(100% + 18px)}.marquee-item{height:170px}.landing-footer-callout{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px;min-height:500px;padding:56px 22px}.landing-footer-callout__content{width:100%}.landing-footer-callout::after{background:#34271dd9}.landing-footer-callout h2{font-size:clamp(46px,15vw,72px)}}

.site-footer { width:calc(100% + clamp(56px,10vw,168px)); margin:0 calc(-1 * clamp(28px,5vw,84px)) calc(-1 * clamp(28px,5vw,84px)); display:grid; grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(150px,1fr)); gap:clamp(30px,5vw,80px); padding:clamp(54px,7vw,100px) clamp(28px,5vw,84px) 34px; color:#e9dfd2; background:#241a14; }
.site-footer__brand { max-width:390px; }.site-footer__brand img { display:block; width:auto; height:62px; margin-bottom:18px; }.site-footer__brand strong { font:400 17px Georgia,serif; letter-spacing:.08em; }.site-footer__brand p { color:#e9dfd2a8; line-height:1.65; }
.site-footer h2 { margin:0 0 18px; color:#f8f1e8; font:11px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.site-footer>div:not(.site-footer__brand):not(.site-footer__bottom) { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.site-footer a,.site-footer span { color:#e9dfd2b8; text-decoration:none; overflow-wrap:anywhere; }.site-footer a:hover { color:#fff; }
.site-footer__bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:24px; margin-top:20px; padding-top:24px; border-top:1px solid #f8f1e824; font:10px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }

.about-hero { max-width:1180px; padding:clamp(20px,4vw,58px) 0 clamp(52px,8vw,110px); }
.about-hero h1 { font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; font-size:clamp(60px,9vw,132px); letter-spacing:-.055em; }
.about-hero>p:last-child { max-width:730px; color:#65584e; font-size:clamp(18px,2vw,25px); line-height:1.6; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,100px); padding:clamp(42px,6vw,86px) 0; border-top:1px solid #cbbbaa; }
.about-grid article { max-width:650px; }.about-grid h2 { margin:.2em 0 .45em; font:clamp(38px,5vw,70px)/.98 "Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; }.about-grid article>p:not(.eyebrow) { color:#65584e; font-size:17px; line-height:1.7; }
@media(max-width:900px){.site-footer{grid-template-columns:1fr 1fr}.site-footer__brand,.site-footer__bottom{grid-column:1/-1}.about-grid{grid-template-columns:1fr}}
@media(max-width:560px){.site-footer{width:calc(100% + 36px);margin-right:-18px;margin-left:-18px;margin-bottom:-48px;grid-template-columns:1fr;padding:52px 18px 28px}.site-footer__brand,.site-footer__bottom{grid-column:auto}.site-footer__bottom{flex-direction:column}.about-hero{padding-top:0}}

/* Maintained About page */
.about-introduction { padding:clamp(12px,3vw,42px) 0 clamp(34px,5vw,70px); border-bottom:1px solid #cbbbaa; }
.about-introduction h1 { margin:.1em 0 .12em; font:clamp(48px,7vw,96px)/.95 "Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; letter-spacing:-.045em; }
.about-subtitle { margin:0; color:#6b5d52; }
.about-story-row,.about-why { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); align-items:center; gap:clamp(32px,7vw,110px); padding:clamp(50px,7vw,100px) 0; border-bottom:1px solid #cbbbaa; }
.about-mission { max-width:900px; margin:auto; padding:clamp(52px,7vw,92px) 0; text-align:center; border-bottom:1px solid #cbbbaa; }
.about-heritage { display:grid; gap:34px; padding:clamp(50px,7vw,100px) 0; border-bottom:1px solid #cbbbaa; }.about-heritage article { max-width:900px; }
.prose { color:#51443b; font-size:17px; line-height:1.78; }
.about-photo { position:relative; display:grid; place-items:center; overflow:hidden; border-radius:16px; background:linear-gradient(135deg,#e8ddcf,#d5c5b4); color:#756557; font:11px Arial,sans-serif; letter-spacing:.13em; text-align:center; text-transform:uppercase; }
.about-photo--portrait { aspect-ratio:4/3; }.about-photo--wide { aspect-ratio:2.8/1; }.about-photo img { width:100%; height:100%; object-fit:cover; }
.about-why ul { display:grid; gap:18px; margin:28px 0 0; padding:0; list-style:none; }.about-why li { display:grid; grid-template-columns:160px 1fr; gap:18px; padding-bottom:16px; border-bottom:1px solid #ded2c6; }.about-why li span { color:#65584e; line-height:1.55; }
.about-contact { padding:clamp(52px,7vw,92px) 0; border-bottom:1px solid #cbbbaa; }.about-contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:26px; }.about-contact-grid>div { display:grid; gap:8px; }.about-contact-grid strong { font:11px Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.about-socials { padding:clamp(48px,6vw,80px) 0; }.about-socials>div { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; }.about-socials a { display:grid; grid-template-columns:36px auto; place-content:center; align-items:center; gap:14px; min-height:110px; border:1px solid #c99b61; border-radius:12px; font:11px Arial,sans-serif; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; transition:.25s ease; }.about-socials svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }.about-socials svg path,.about-socials svg rect { fill:currentColor; stroke:none; }.about-socials .instagram-icon rect,.about-socials .instagram-icon circle:not(.social-icon-fill) { fill:none; stroke:currentColor; }.about-socials .social-icon-fill { fill:currentColor; stroke:none; }.about-socials a:hover { color:#fff; background:var(--ink); border-color:var(--ink); transform:translateY(-2px); }
@media(max-width:760px){.about-story-row,.about-why{grid-template-columns:1fr}.about-photo--wide{aspect-ratio:4/3}.about-why li{grid-template-columns:1fr;gap:5px}.about-contact-grid,.about-socials>div{grid-template-columns:1fr}.about-socials a{min-height:76px}}

/* Final public frame and navigation */
:root { --public-header-height:105px; }
.brand-rail { display:none; }
.site-shell { margin-left:0; padding-top:calc(var(--public-header-height) + 40px); }
.public-header--sticky { position:fixed; inset:0 0 auto; height:var(--public-header-height); z-index:60; padding:18px clamp(28px,5vw,84px); color:#f8f1e8; background:rgba(52,39,29,.98); border:0; box-shadow:0 8px 24px #2319121f; backdrop-filter:blur(14px); }
.public-identity { display:flex; align-items:center; gap:16px; }
.public-logo { display:inline-flex; align-items:center; }.public-logo img { display:block; width:auto; height:64px; max-width:220px; object-fit:contain; }
.public-brand-copy { display:grid; gap:3px; }.public-brand-copy strong { color:#f8f1e8; font:400 16px Georgia,serif; letter-spacing:.08em; }.public-brand-copy small { color:#f8f1e8b3; font:9px Arial,sans-serif; letter-spacing:.2em; }
.public-header nav { align-items:center; gap:8px; }.public-header nav>a,.nav-dropdown>summary { padding:9px 14px; border-radius:999px; color:#f8f1e8; text-decoration:none; cursor:pointer; list-style:none; transition:.2s ease; }.nav-dropdown>summary::-webkit-details-marker { display:none; }
.public-header nav>a:hover,.public-header nav>a.active,.nav-dropdown>summary:hover { color:#fff; background:#ffffff24; }.public-header nav>a.active,.nav-dropdown.active>summary,.nav-dropdown[open]>summary { color:var(--ink); background:#f2e7d8; }
.nav-dropdown { position:relative; }.nav-dropdown__menu { position:absolute; top:calc(100% + 12px); right:0; width:max-content; min-width:210px; max-height:320px; overflow:auto; padding:8px; border:1px solid #d5c5b4; border-radius:12px; background:#fff; box-shadow:0 18px 50px #261a1230; }.nav-dropdown:not([open]) .nav-dropdown__menu { display:none; }.nav-dropdown__menu a,.nav-dropdown__menu span { display:block; padding:10px 12px; border-radius:7px; color:var(--ink); text-decoration:none; white-space:nowrap; }.nav-dropdown__menu a:hover,.nav-dropdown__menu a.active { background:var(--sand); }
.landing-categories { top:var(--public-header-height); width:calc(100% + clamp(28px,5vw,84px)); z-index:50; }
@media(max-width:760px){
 :root{--public-header-height:82px}.public-header--sticky{height:var(--public-header-height);padding:10px 18px}.site-shell{padding-top:calc(var(--public-header-height) + 24px)}.public-logo img{height:48px;max-width:170px}.public-brand-copy strong{font-size:12px}.public-brand-copy small{font-size:8px}.public-header nav{width:100%;overflow:auto;flex-wrap:nowrap}.landing-categories{top:var(--public-header-height);width:calc(100% + 18px)}.nav-dropdown__menu{position:fixed;top:var(--public-header-height);right:12px;left:12px;width:auto}}
