/* Public pages load only this stylesheet and explicitly permitted brand assets. */
@font-face{font-family:Manrope;src:url('/public/assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/public/assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Josefin Sans';src:url('/public/assets/contact-josefin-sans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Josefin Sans';src:url('/public/assets/contact-josefin-sans-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#F5F0E6;--ink:#292C28;--olive:#555737;--clay:#A15A43;--sand:#DED4C2;--line:#CEC7BA;--muted:#62645B;color-scheme:light;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.25em;touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1,h2,.brand,.photo-placeholder{font-family:'Josefin Sans',Arial,sans-serif;font-weight:500}a:focus-visible{outline:3px solid var(--clay);outline-offset:5px}::selection{background:#CEB366;color:var(--ink)}
.skip-link{position:absolute;left:1rem;top:0;transform:translateY(-150%);background:var(--ink);color:var(--paper);padding:.75rem 1rem;z-index:2}.skip-link:focus{transform:none}
.site-header,.site-footer,.product-page,.home-page{width:min(1180px,calc(100% - 3rem));margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:110px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.75rem;font-size:1.8rem;font-weight:700;letter-spacing:-.035em;text-decoration:none;color:var(--olive)}.brand img{width:38px;height:38px;object-fit:contain}.brand-note{font-size:.75rem;letter-spacing:.09em;color:var(--muted)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.65rem;font-size:.8rem;color:var(--muted);padding-block:1.75rem;overflow-wrap:anywhere}.breadcrumb a{min-height:30px;display:inline-flex;align-items:center}
.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding-bottom:4rem;align-items:start}
.product-visual{overflow:hidden;background:var(--sand);border-radius:45% 45% 4px 4px;aspect-ratio:6/7}.product-photo{width:100%;height:100%;object-fit:cover}.product-visual--empty{display:grid;place-items:center;background:linear-gradient(145deg,#e8e0cd,#ded4c2);color:var(--olive)}.photo-placeholder{font-size:clamp(1.5rem,4vw,3rem);letter-spacing:.1em;opacity:.65}
.product-copy{padding-top:1.5rem;min-width:0}.product-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:1.5rem;color:var(--olive);font-size:.8rem;letter-spacing:.07em}.product-brand img{object-fit:contain;background:var(--olive);border-radius:3px;padding:.4rem;width:64px;height:48px}
.product-copy h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.045em;overflow-wrap:anywhere}.subtitle{font-size:1.3rem;color:var(--olive);margin-top:.5rem}.description{font-size:1.05rem;margin-top:1.75rem;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere}
.presentations{margin-top:2.25rem}.presentations h2,.product-details h2{font-family:Manrope,Arial,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--olive)}.presentations ul{list-style:none;padding:0;margin:1rem 0 0}.presentations li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.presentations li:last-child{border-bottom:1px solid var(--line)}.presentations h3{font-size:1rem;font-weight:600;overflow-wrap:anywhere}.presentations li p{color:var(--muted);font-size:.85rem;margin-top:.25rem}.price{font-size:.95rem;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.price small{font-size:.65rem;color:var(--muted)}
.product-details{display:grid;gap:1.5rem;margin-top:2rem}.product-details p{font-size:.9rem;margin-top:.5rem;white-space:pre-line;overflow-wrap:anywhere;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:1rem;min-height:48px;margin-top:2rem;font-size:.85rem;color:var(--olive)}
.home-intro{padding-block:clamp(3rem,7vw,6rem);max-width:700px}.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--olive)}:is(.home-intro h1,.home-intro .page-headline-copy){font-size:clamp(3.25rem,7vw,6rem);letter-spacing:-.045em;margin-block:1rem 1.5rem}.home-intro>p:last-child{font-size:1.05rem;color:var(--muted);max-width:35ch}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.75rem 1.75rem;padding-bottom:4rem}.product-card{min-width:0}.product-card>a{display:block;text-decoration:none}.card-visual{aspect-ratio:1;overflow:hidden;background:var(--sand);border-radius:4px}.card-visual img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.product-card a:hover .card-visual img{transform:scale(1.025)}.card-copy{padding-top:1rem}.card-copy h2{display:flex;justify-content:space-between;gap:.75rem;font-size:1.65rem;overflow-wrap:anywhere;margin-top:.35rem}.card-copy h2 span{font-family:Manrope,Arial,sans-serif;font-size:1rem;flex-shrink:0}.card-copy>p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-top:.35rem;overflow-wrap:anywhere}.card-link{display:inline-block;font-size:.75rem;border-bottom:1px solid var(--line);margin-top:1rem}.empty-state{padding-bottom:4rem;max-width:40ch;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;padding-block:2rem;color:var(--olive);font-size:.75rem}.site-footer>a{font-family:'Josefin Sans',Arial,sans-serif;font-size:1.25rem;letter-spacing:-.035em;font-weight:700;text-decoration:none}.site-footer p:last-child{margin-left:auto;color:var(--muted)}
@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-layout{gap:2rem}.product-copy{padding-top:.5rem}.price{flex-shrink:1}}
@media(max-width:600px){.site-header,.site-footer,.product-page,.home-page{width:calc(100% - 2rem)}.site-header{min-height:84px}.brand{font-size:1.5rem}.brand img{width:30px;height:30px}.brand-note{font-size:.6rem;max-width:11ch;text-align:right}.breadcrumb{padding-block:1.25rem;font-size:.75rem}.product-layout{grid-template-columns:minmax(0,1fr);gap:1.75rem}.product-visual{aspect-ratio:1;max-height:520px}.product-copy{padding-top:0}.product-brand{margin-bottom:1rem}.product-copy h1{font-size:2.75rem}.presentations{margin-top:1.75rem}.product-grid{gap:2rem 1rem}.card-copy h2{font-size:1.35rem}.card-copy .eyebrow{font-size:.6rem}.card-copy>p:not(.eyebrow){font-size:.8rem}.site-footer p:last-child{margin-left:0;width:100%}}
@media(max-width:360px){.product-grid{grid-template-columns:minmax(0,1fr)}.product-copy h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.card-copy .card-price{font-size:1rem!important;color:var(--olive)!important;font-weight:600;margin-top:.75rem}.card-price small{font-size:.65em}.card-copy .card-sizes{font-size:.8rem;margin-top:.25rem}

.product-photo-gallery{padding-top:3rem}
.card-visual{display:grid;place-items:center}
.card-visual img.card-placeholder{width:35%;height:auto;object-fit:contain;opacity:.45}
