@font-face{font-family:Nimbus Roman;src:url('/assets/fonts/roman.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Nimbus Roman;src:url('/assets/fonts/roman-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Nimbus Sans;src:url('/assets/fonts/sans.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Nimbus Sans;src:url('/assets/fonts/sans-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
:root{
  --pine:#010f08;--green:#1a2922;--cream:#f4f0e7;--paper:#faf7ef;
  --ink:#19271f;--muted:#526053;--gold:#be9a55;--light-gold:#e2bd79;
  --line:#d7cdb9;--dark-line:#465141;--body:'Nimbus Sans',Arial,sans-serif;
  --editorial:'Nimbus Roman',Georgia,serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 var(--body)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
figure,p,dl,dd{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button,select{cursor:pointer}
h1,h2,h3{font-family:var(--editorial);font-weight:400;line-height:.99;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(3.75rem,7vw,7rem)}
h2{font-size:clamp(2.45rem,4.1vw,4.4rem)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #986c23;outline-offset:4px}
.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible,.quote-band :focus-visible{outline-color:var(--light-gold)}
::selection{background:var(--light-gold);color:var(--pine)}
.shell{width:min(1340px,100% - clamp(2rem,9vw,10rem));margin-inline:auto}
.section{padding-block:clamp(3.75rem,7vw,7rem)}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:absolute;z-index:5;top:1rem;left:1rem;background:var(--paper);color:var(--ink);padding:.7rem 1rem}
.eyebrow,.category-meta,.product-meta,.footer-bottom,.hero-art figcaption,.detail-photo figcaption{
  font-size:.68rem;font-weight:700;letter-spacing:.16em;line-height:1.35;text-transform:uppercase;
}
.eyebrow{color:#775821;margin-bottom:1.1rem}
.ruled{display:flex;align-items:center;gap:.65rem}
.ruled::before{content:'';width:1.8rem;height:1px;background:currentColor;flex:none}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.8rem;
  min-height:48px;padding:.7rem 1.03rem;border:1px solid transparent;font-weight:700;
  font-size:.88rem;line-height:1.25;white-space:nowrap;transition:background .18s,border-color .18s,color .18s;
}
.button span,.text-link span,.nav-quote span{font-size:1.05em}
.button-gold{background:var(--light-gold);color:var(--pine);border-color:var(--light-gold)}
.button-gold:hover{background:#f3d395;border-color:#f3d395}
.button-outline{border-color:#7a7458;color:var(--paper)}
.button-outline:hover{background:var(--green);border-color:var(--light-gold)}
.button-light{border-color:#8b8d78;color:var(--ink)}
.button-light:hover{background:#eae2d2}
.button-dark{background:var(--green);color:var(--paper);border-color:var(--green)}
.button-dark:hover{background:var(--pine);border-color:var(--pine)}
.button:disabled{cursor:default;opacity:.6}
.text-link{
  display:inline-flex;align-items:center;gap:.5rem;width:fit-content;padding:.2rem 0;border:0;border-bottom:1px solid #a48f68;
  background:none;font-weight:700;font-size:.9rem;line-height:1.3;
}
.text-link:hover{border-color:currentColor}
.site-header{background:var(--pine);color:var(--cream)}
.nav-shell{display:flex;justify-content:space-between;align-items:center;min-height:81px;border-bottom:1px solid var(--dark-line);gap:1.2rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;width:max-content;max-width:100%;color:var(--light-gold)}
.brand img{width:45px;height:38px;object-fit:contain}
.brand span{display:grid;gap:.25rem}
.brand strong{font:400 1.18rem/.95 var(--editorial);letter-spacing:.1em;white-space:nowrap}
.brand small{font-size:.55rem;letter-spacing:.15em;color:#c8b583;line-height:1.1;white-space:nowrap}
.main-nav{display:flex;align-items:center;gap:clamp(1rem,3.1vw,3.15rem);font-size:.88rem}
.main-nav a{color:#e6e7db;white-space:nowrap}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--light-gold)}
.main-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.main-nav .nav-quote{border:1px solid #8f7746;color:var(--light-gold);padding:.6rem .9rem}
.main-nav .nav-quote:hover{background:var(--green);border-color:var(--light-gold)}
.menu-toggle{display:none}
.hero{background:var(--pine);color:var(--cream);border-bottom:1px solid var(--gold)}
.hero-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;
  gap:clamp(1.75rem,4.5vw,5rem);padding-block:clamp(3.4rem,7.2vw,7.4rem) clamp(3rem,6.3vw,6.75rem);
}
.hero .eyebrow,.quote-band .eyebrow,.site-footer .eyebrow{color:var(--light-gold)}
.hero h1{font-size:clamp(3.4rem,6.6vw,7rem);line-height:.93;margin:1.55rem 0 1.5rem}
.hero h1 em{color:var(--light-gold);font-weight:400}
.hero-description{max-width:390px;color:#d5dbce;font-size:clamp(1rem,1.35vw,1.15rem)}
.hero-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.85rem}
.hero-art{position:relative}
.hero-art::before{
  content:'';position:absolute;inset:-12px -12px 20px 12px;border:1px solid #675736;pointer-events:none;
}
.hero-art img{
  position:relative;width:100%;height:auto;min-height:310px;max-height:510px;aspect-ratio:1.28;object-fit:cover;
  border:1px solid #9b8556;object-position:50% 50%;
}
.hero-art figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;color:#c8b583;font-size:.62rem}
.section-heading,.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.35rem;margin-bottom:1.85rem}
.section-heading h2{margin-bottom:.1em}
.section-heading .text-link{margin-bottom:.2rem;flex-shrink:0}
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.65rem,1.55vw,1.45rem)}
.category-card{display:flex;flex-direction:column;gap:.46rem;min-width:0;padding-bottom:.65rem;border-bottom:1px solid var(--line)}
.category-card:hover{border-color:var(--gold)}
.category-card img{width:100%;aspect-ratio:1.36;object-fit:cover}
.category-meta{margin-top:.32rem;color:#775821;font-size:.62rem}
.category-title{display:flex;align-items:baseline;justify-content:space-between;gap:.3rem;font:400 clamp(1.25rem,1.9vw,2rem)/1.03 var(--editorial);letter-spacing:-.03em}
.category-title span{font:400 .9rem var(--body);color:#775821}
.category-description{font-size:.82rem;color:var(--muted)}
.image-note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.9rem;margin-top:2rem}
.quote-band{background:var(--green);color:var(--cream);border-block:1px solid var(--gold)}
.band-inner{display:flex;justify-content:space-between;align-items:center;gap:1.75rem;padding-block:clamp(2.4rem,5vw,4.8rem)}
.band-inner p:not(.eyebrow){margin-top:.8rem;color:#d8dece}
.site-footer{background:var(--pine);color:#e1e5d9}
.footer-grid{display:grid;grid-template-columns:1.35fr .75fr 1fr;gap:2rem;padding:2.8rem 0}
.footer-grid p{font-size:.86rem;color:#cdd5c7;margin-top:.85rem}
.footer-links{display:grid;align-content:start;justify-items:start;gap:.5rem;font-size:.89rem}
.footer-links .eyebrow{margin:.2rem 0 .32rem}
.footer-links a:hover{color:var(--light-gold)}
.footer-links .text-link{font:inherit;border:0;padding:0}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 1.25rem;border-top:1px solid var(--dark-line);color:#c6b78e}
.page-heading{padding-bottom:1.65rem;border-bottom:1px solid var(--line)}
.page-heading h1{margin-bottom:.6rem}
.page-heading p:not(.eyebrow){color:var(--muted);font-size:1.12rem}
.catalog-toolbar{display:grid;gap:1.15rem;margin-block:1.15rem .85rem}
.search-box{display:flex;align-items:center;gap:.65rem;min-width:0;max-width:490px;padding:0 .8rem;background:var(--paper);border:1px solid #a59b83;color:#586456}
.search-box:focus-within{outline:2px solid #986c23;outline-offset:2px}
.search-box input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:.72rem 0;outline:none}
.search-box input:focus-visible{outline:none}
.search-box svg{flex:none}
.filters{display:flex;gap:.45rem;flex-wrap:wrap}
.filter{border:1px solid #b8ae98;background:transparent;padding:.48rem .78rem;min-height:42px;font-size:.9rem}
.filter small{margin-left:.24rem;color:#666950}
.filter:hover{background:#eae2d2}
.filter[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--paper)}
.filter[aria-pressed="true"] small{color:var(--light-gold)}
.results-line{display:flex;justify-content:space-between;align-items:center;min-height:2.5rem;margin-bottom:.55rem;color:var(--muted);font-size:.88rem}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.85rem,2.2vw,1.8rem)}
.product-card{min-width:0;background:var(--paper);border:1px solid var(--line);transition:border-color .18s}
.product-card:hover{border-color:#9a7b43}
.product-card a{height:100%;display:block}
.product-card-image{overflow:hidden;background:#e6d9c4}
.product-card-image img{width:100%;aspect-ratio:1.40;object-fit:cover;transition:transform .3s}
.product-card a:hover img{transform:scale(1.035)}
.product-card-copy{position:relative;padding:.9rem 2rem .85rem .85rem;min-height:100px}
.product-meta{color:#775821;display:block;font-size:.61rem}
.product-card h2{margin:.36rem 0 0;font-size:clamp(1.35rem,2.2vw,2.05rem);letter-spacing:-.035em;line-height:1.01}
.product-subtitle{margin-top:.35rem;color:var(--muted);font-size:.83rem}
.card-arrow{position:absolute;right:.72rem;top:.68rem;color:#775821}
.empty-state{text-align:center;background:var(--paper);padding:2.9rem 1rem;border:1px solid var(--line)}
.empty-state p{margin-top:.55rem;color:var(--muted)}
.breadcrumbs{display:flex;gap:.62rem;flex-wrap:wrap;font-size:.83rem;color:var(--muted);margin-bottom:1.7rem}
.breadcrumbs a{text-decoration:underline;text-decoration-color:#a7987d;text-underline-offset:4px}
.detail-section{padding-bottom:clamp(2rem,5vw,5rem);padding-top:clamp(2rem,4vw,4rem)}
.detail-grid,.about-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(2rem,6vw,6.5rem);align-items:center}
.detail-photo img{width:100%;aspect-ratio:1.4035;object-fit:cover;border:1px solid var(--line)}
.detail-photo figcaption{margin-top:.65rem;color:var(--muted);font-size:.6rem}
.detail-copy h1{font-size:clamp(3.1rem,5.65vw,6.05rem);margin-bottom:1.25rem}
.detail-copy p:not(.eyebrow){margin:1.15rem 0;color:var(--muted);max-width:30rem}
.specifications{border-top:1px solid var(--line)}
.specifications div{display:grid;grid-template-columns:minmax(7.4rem,.65fr) minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--line);padding:.62rem 0}
.specifications dt{color:var(--muted);font-size:.85rem}
.specifications dd{font-size:.9rem}
.related{padding-top:2rem;border-top:1px solid var(--line)}
.related .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.about-grid p:not(.eyebrow),.contact-copy p:not(.eyebrow){max-width:30rem;margin-top:1rem;color:var(--muted)}
.about-grid p.editorial-lead,.contact-copy p.editorial-lead{
  color:#795e2c;font:italic 400 clamp(1.65rem,3vw,2.8rem)/1.05 var(--editorial);margin-top:.6rem;
}
.about-grid .button,.contact-copy .button{margin-top:1.5rem}
.about-mark{background:var(--pine);border:1px solid var(--gold);display:grid;place-items:center;min-height:310px}
.about-mark img{width:min(78%,370px);height:auto}
.about-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,6vw,6rem);margin-top:clamp(3rem,7vw,7rem);padding-top:2rem;border-top:1px solid var(--line)}
.about-range ul{margin:0;padding:0;list-style:none}
.about-range li a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.about-range li a:hover{border-color:#9a7b43}
.about-range li a span:first-child{font:400 1.5rem var(--editorial)}
.about-range li a span:last-child{font-size:.83rem;color:var(--muted);white-space:nowrap}
.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.contact-methods{border-top:1px solid var(--line);margin-top:1.65rem}
.contact-methods div{padding:.8rem 0;border-bottom:1px solid var(--line)}
.contact-methods dt{color:#775821;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:700}
.contact-methods a{display:inline-flex;gap:.55rem;align-items:center;overflow-wrap:anywhere;font-size:1.05rem}
.contact-methods a:hover{text-decoration:underline}
.quote-panel{padding:clamp(1.1rem,3vw,2.5rem);border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--paper);scroll-margin-top:1rem}
.quote-panel h2{font-size:clamp(2.55rem,4.25vw,4.35rem)}
.quote-panel p:not(.eyebrow){font-size:.91rem;color:var(--muted);margin-top:.65rem}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem;margin:1.15rem 0}
.form-grid label,.draft-copy{display:grid;gap:.26rem;font-size:.86rem;font-weight:700}
.optional{font-weight:400;color:var(--muted)}
.field-wide{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea,.draft-copy textarea{
  display:block;width:100%;min-width:0;background:#fffdf7;border:1px solid #a59b83;border-radius:0;
  padding:.53rem .62rem;font-size:1rem;font-weight:400;color:var(--ink);
}
.form-grid input,.form-grid select{height:44px}
.form-grid textarea,.draft-copy textarea{resize:vertical}
.quote-draft{padding:.85rem;margin-top:1rem;border:1px solid var(--line);background:var(--cream)}
.quote-draft .text-link{margin:.65rem 0}
.draft-copy textarea{font-size:.85rem}
.not-found p:not(.eyebrow){margin:.95rem 0}
@media(max-width:1040px){
  .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero h1{font-size:clamp(3.45rem,7.1vw,5.7rem)}
}
@media(max-width:780px){
  .nav-shell{min-height:69px;position:relative;flex-wrap:wrap;gap:0}
  .menu-toggle{display:inline-flex;gap:.5rem;align-items:center;padding:.45rem .65rem;border:1px solid #8f7746;background:transparent;color:var(--light-gold);font-size:.88rem;min-height:44px}
  .main-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:.7rem}
  .menu-toggle[aria-expanded="true"]+.main-nav{display:flex}
  .main-nav a{min-height:44px;display:flex;align-items:center;gap:.45rem;padding:.45rem .25rem;border-top:1px solid var(--dark-line)}
  .main-nav .nav-quote{margin-top:.4rem;align-self:flex-start}
  .hero-grid{grid-template-columns:1fr;gap:2.45rem;padding-top:3.3rem}
  .hero h1{font-size:clamp(3.65rem,10vw,5.5rem)}
  .hero-art{margin-right:.65rem}
  .hero-art img{min-height:0;aspect-ratio:1.62}
  .hero-art::before{inset:-9px -9px 19px 9px}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detail-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:1.75rem}
  .detail-copy{grid-row:1}
  .detail-photo{max-width:650px}
  .about-mark{min-height:0}
  .about-mark img{width:min(70%,320px)}
}
@media(max-width:520px){
  .section{padding-block:3rem}
  .hero-grid{gap:2.1rem;padding-top:2.65rem;padding-bottom:2rem}
  .hero h1{margin:1.1rem 0 .85rem;font-size:clamp(2.95rem,10.8vw,4rem)}
  .hero-actions{margin-top:1.25rem}
  .hero-actions .button{font-size:.82rem;padding:.58rem .6rem;gap:.38rem}
  .section-heading,.page-heading,.band-inner{align-items:flex-start;flex-direction:column;gap:.85rem}
  .category-grid,.product-grid,.related .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-grid{row-gap:1.2rem}
  .category-title{font-size:1.35rem}
  .product-card-copy{padding:.6rem 1.22rem .6rem .55rem;min-height:95px}
  .product-card h2{font-size:1.35rem}
  .card-arrow{right:.35rem;top:.48rem}
  .footer-grid,.about-range{grid-template-columns:1fr;gap:1.35rem}
  .footer-bottom{font-size:.56rem}
  .filters{gap:.33rem}
  .filter{padding:.42rem .52rem;font-size:.83rem}
  .form-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important}
}
