:root{--ink:#151611;--paper:#eeede5;--lime:#e4f46c;--line:#c6c5b8;--gray:#605f56;color:var(--ink);background:var(--paper);font-family:"Instrument Sans",Arial,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}header,footer{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.15rem 5vw}header{border-bottom:1px solid #404135}.brand{font-size:1.7rem;font-weight:900;letter-spacing:-.09em;text-decoration:none}.brand span,.hero h1 span{color:var(--lime)}nav{display:flex;gap:2rem;align-items:center}nav a,footer a{text-decoration:none}nav a:hover,footer a:hover{text-decoration:underline}#bag-count{display:inline-grid;place-items:center;background:var(--lime);color:var(--ink);border-radius:50%;width:1.5rem;height:1.5rem;margin-left:.3rem;font-size:.75rem;font-weight:800}.hero{min-height:clamp(33rem,57vw,48rem);display:flex;align-items:center;padding:3rem 6vw;color:var(--paper);background:#303426;position:relative;isolation:isolate}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141610dc 0%,#14161070 41%,transparent 75%)}.hero-copy{max-width:45rem}.hero h1{font-family:"Archivo Black","Arial Black",Arial,sans-serif;font-size:clamp(4.7rem,12.2vw,11.4rem);line-height:.77;letter-spacing:-.085em;margin:.27em 0 .2em;font-weight:950}.hero-copy>p:not(.eyebrow){font-size:1.1rem;margin:1.8rem 0}.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.16em;font-weight:700}.hero .eyebrow{color:var(--lime)}button,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;background:var(--ink);color:white;border:1px solid transparent;font:inherit;font-weight:720;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#34362a}.lime{background:var(--lime);color:var(--ink)}.lime:hover{background:#f0ff91}button:disabled{opacity:.5;cursor:not-allowed}.collection,.section{padding:4rem 6vw 5rem;max-width:98rem;margin:auto}.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.45rem}.collection-heading>span{font: .8rem monospace;color:var(--gray)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.06em}h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:.95;margin-bottom:1.55rem}h2{font-size:clamp(2rem,4vw,3.8rem);margin-bottom:0}.cards,.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.card{text-decoration:none;display:block}.card-photo,.main-photo{background:#d3d0c4;overflow:hidden}.card-photo img,.main-photo img{width:100%;display:block;object-fit:cover}.card-photo img{aspect-ratio:5/5.5;transition:transform .25s}.card:hover img{transform:scale(1.025)}.card-info{display:flex;justify-content:space-between;gap:.4rem;padding:.9rem 0 .2rem}.card-info h3,.card-info p{margin:0 0 .3rem}.card-info p,.card small{color:var(--gray)}.product{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5vw;padding:2.5rem 6vw 5rem;max-width:98rem;margin:auto}.product-info{padding-top:1rem}.product-info .eyebrow{margin-top:2rem}.product-info p{line-height:1.55}.price{font-weight:bold;font-size:1.2rem}.thumbs,.sizes,.row-form{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.thumbs{margin-top:.65rem}.thumbs button{padding:0;background:transparent;border:2px solid transparent}.thumbs button[aria-pressed=true]{border-color:var(--ink)}.thumbs img{width:62px;height:72px;object-fit:cover;display:block}fieldset{border:0;padding:0;margin:1.6rem 0}legend{margin-bottom:.6rem;font-weight:bold}.sizes label{position:relative}.sizes input{position:absolute;opacity:0}.sizes span{display:block;padding:.65rem;border:1px solid var(--line);cursor:pointer}.sizes input:checked+span{background:var(--ink);color:var(--paper)}.sizes input:disabled+span{color:var(--gray);text-decoration:line-through;cursor:default}:focus-visible,.sizes input:focus-visible+span{outline:2px solid #749818;outline-offset:3px}.bag{max-width:58rem;min-height:58vh}.bag-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.bag-row img{width:68px;height:82px;object-fit:cover}.bag-row p{margin:.25rem 0}.bag-row input,.row-form input[type=number]{width:5rem}.text-button{color:var(--ink);background:none;text-decoration:underline;padding:0;justify-self:start}.text-button:hover{background:none}#cart-totals{border-top:1px solid var(--line);padding:1.2rem 0}#cart-totals p{display:flex;justify-content:space-between}#cart-totals button{display:flex;margin-top:1rem;width:100%}.admin h2{margin:2.5rem 0 1rem}.admin article,.admin details{border:1px solid var(--line);padding:1rem;margin-bottom:.7rem}.row-form{margin:1rem 0}input{font:inherit;padding:.35rem;max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer}.skip{position:absolute;left:-9999px}.skip:focus{position:fixed;left:1rem;top:1rem;z-index:5;background:white;padding:1rem}main{min-height:65vh}@media(min-width:650px){.bag-row{grid-template-columns:auto 1fr auto auto}}@media(max-width:700px){.hero{background-position:63% center;align-items:end}.hero::before{background:linear-gradient(0deg,#141610ee,#14161032 88%)}.product,.admin-grid{grid-template-columns:1fr}.collection,.section{padding-top:2.5rem}.card-info{flex-wrap:wrap}.card-info h3{font-size:1rem}footer{flex-wrap:wrap}}

/* MALCOUR packaging-led boutique identity */
:root{--ink:#302924;--paper:#f7f4ed;--lime:#793e3b;--line:#d9cfc3;--gray:#796d62;--taupe:#a88e70;--burgundy:#793e3b;font-family:"Instrument Sans",Arial,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
header{background:var(--taupe);color:#fff4e2;border:0;padding:1.6rem 5vw;display:grid;grid-template-columns:1fr auto 1fr}
header nav{gap:1.5rem;font-size:.8rem}header nav:last-child{justify-content:flex-end}
.brand{display:block;letter-spacing:normal}.brand img{width:195px;height:auto;display:block}
#bag-count{background:none;color:inherit;width:auto;height:auto;border-radius:0;font-weight:400;margin-left:.4rem}
.hero{min-height:0;padding:0;display:grid;grid-template-columns:1fr 1fr;background:#e9e0d4;color:var(--ink);isolation:auto}
.hero::before{display:none}
.hero-copy{padding:7vw 5vw 7vw 7vw;max-width:none;align-self:center}
.hero .eyebrow{color:var(--burgundy);font-size:.65rem;letter-spacing:.15em}
.hero h1{font-family:"Baskervville",Georgia,serif;font-size:clamp(3rem,5.6vw,6.6rem);font-weight:400;line-height:1.05;letter-spacing:-.045em;margin:2rem 0}
em{font-weight:400}.hero-copy>p:not(.eyebrow){font-size:.9rem;margin:1.5rem 0 2.4rem;color:var(--gray)}
.hero-photo{position:relative;min-height:580px;height:49vw;max-height:750px;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.photo-caption{position:absolute;bottom:1.4rem;left:1.5rem;color:white;font-size:.6rem;letter-spacing:.15em;text-shadow:0 1px 4px #000}
button,.button{background:var(--burgundy);color:#fff8ee;font-size:.8rem;font-weight:500;padding:1rem 1.4rem;border-radius:0;transition:background .2s,transform .2s}
button:hover,.button:hover{background:#5d302e}
.hero .button{background:transparent;color:var(--ink);border-bottom:1px solid var(--ink);padding:.8rem 0;min-width:14rem}
.eyebrow{font-family:Arial,sans-serif;font-weight:400;font-size:.66rem;letter-spacing:.2em}
h1,h2{font-family:"Baskervville",Georgia,serif;font-weight:400;letter-spacing:-.035em}
h1{font-size:clamp(2.6rem,4.6vw,4.7rem);line-height:1.1}h2{font-size:clamp(2.3rem,3.7vw,4rem)}
.collection{padding:5rem 7vw 6rem}.collection-heading{margin-bottom:2rem}.collection-heading>span{font-family:Arial,sans-serif;font-size:.75rem}
.cards{gap:3rem;max-width:1050px;margin:auto}.card-photo{background:#e8e1d7}.card-photo img{aspect-ratio:4/5;object-fit:cover}
.card-info{padding:1rem 0;gap:1rem;font-size:.8rem}.card-info h3{font-weight:400;font-size:1rem}.card-info p{font-size:.75rem;margin-top:.5rem}
.editorial{display:grid;grid-template-columns:1fr 1fr;background:#e9e0d4;align-items:center}
.editorial-photo{height:600px;padding:3.5rem 5vw;background:#c2ac92}.editorial-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.editorial-copy{padding:4rem 7vw}.editorial-copy h2{line-height:1.15;margin:1.5rem 0 2rem}.editorial-copy>p:not(.eyebrow):not(.tagline){font-size:.9rem;line-height:1.8;max-width:24rem}.editorial-copy>a{font-size:.8rem;text-underline-offset:.5rem}
.tagline{font-family:Georgia,serif;font-style:italic;color:var(--burgundy);letter-spacing:.07em;font-size:1rem;margin:1.6rem 0}
footer{background:var(--taupe);color:#fff4e2;padding:4rem 7vw;align-items:start;gap:3rem}
footer .tagline{font-size:.8rem;margin:.8rem 0 2rem}footer .eyebrow{font-size:.6rem}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;font-size:.75rem}footer small{font-size:.65rem}
.product{padding:3rem 6vw 5rem;gap:7vw}.product-info{padding-top:1.5rem}.product-info>a{font-size:.75rem;text-decoration:none}.product-info h1{font-size:3.5rem;margin-bottom:1rem}
.product-info>p:not(.eyebrow):not(.price){font-size:.9rem;color:var(--gray);line-height:1.8}.price{font-weight:400;font-size:1rem}
.color-options{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0}.color-options a{font-size:.75rem;text-decoration:none;border:1px solid var(--line);padding:.7rem}.color-options a[aria-current]{border-color:var(--ink)}
legend{font-size:.8rem;font-weight:400}.sizes span{min-width:3.5rem;text-align:center;font-size:.8rem;padding:.9rem}.sizes input:checked+span{background:#a88e70;color:white}
#add-item>.button{width:100%;justify-content:center;padding:1.1rem}
.product-details details{border-top:1px solid var(--line);padding:1rem 0;font-size:.8rem;line-height:1.8}.product-details details:last-child{border-bottom:1px solid var(--line)}.product-details p{margin-top:1rem}
.service{max-width:48rem;min-height:55vh}.service p{line-height:1.9}.service>a{display:inline-block;margin-top:1.5rem;font-size:.8rem}
.admin h1{font-size:3rem}.admin h2{font-size:2.4rem}.admin article{background:#eee7dc;padding:1.5rem}.admin h3{font-family:Georgia,serif;font-weight:400}.row-form{align-items:end;gap:1rem}.row-form label{font-size:.8rem}.row-form input:not([type=checkbox]),textarea,select{display:block;background:var(--paper);border:1px solid var(--line);padding:.6rem;font:inherit;color:var(--ink);max-width:100%}textarea{width:100%;min-height:6rem}.edit-form{display:grid;gap:1rem}.edit-form label{display:block;font-size:.8rem}.edit-form input{width:100%}.edit-form input[type=checkbox]{width:auto}.admin summary{font-size:.85rem}.admin .admin-grid{gap:2rem}.text-button{background:none;color:var(--burgundy)}.text-button:hover{background:none}
:focus-visible,.sizes input:focus-visible+span{outline:2px solid var(--burgundy);outline-offset:4px}
@media(max-width:700px){
header{padding:1.25rem 5vw;grid-template-columns:1fr auto 1fr}.brand img{width:140px}header nav{font-size:.7rem}header nav:first-child a:last-child{display:none}
.hero{grid-template-columns:1fr;display:flex;flex-direction:column}.hero-copy{padding:2.7rem 7vw 3rem;align-self:stretch}.hero h1{font-size:3.7rem;margin:1.4rem 0}.hero-copy>p:not(.eyebrow){margin:1rem 0 1.5rem}.hero-photo{height:110vw;min-height:0;width:100%;max-height:570px}.hero .eyebrow{font-size:.58rem}
.collection{padding:3.5rem 5vw}.cards{gap:1rem}.card-info{display:block}.card-info>span{display:block;margin-top:.6rem;font-size:.75rem}.card-info h3{font-size:.9rem}.card-info p{font-size:.65rem}
.editorial{grid-template-columns:1fr}.editorial-photo{height:110vw;padding:2rem 10vw;max-height:550px}.editorial-copy{padding:3rem 8vw 3.5rem}.editorial-copy h2{font-size:2.7rem}
footer{display:grid;grid-template-columns:1fr;padding:3rem 7vw}.footer-links{gap:1rem 2rem}.product{padding:1rem 5vw 3rem;gap:1.5rem}.product-info h1{font-size:2.8rem}.product-info .eyebrow{margin-top:1.5rem}.product-info{padding-top:0}.thumbs img{width:52px;height:62px}.section{padding-left:6vw;padding-right:6vw}.admin h1{font-size:2.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied editorial photography: stable frames and complete garment views. */
.hero-photo img{object-position:center 33%}
.editorial-photo img{object-position:center 36%}
.main-photo{aspect-ratio:4/5;display:grid;place-items:center;background:#e8e1d7}
.main-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.main-photo img[src*="-product."]{object-fit:contain}
.thumbs img[src*="-product."]{object-fit:contain;background:#e8e1d7}
@media(max-width:700px){
  .hero-photo{height:min(118vw,610px)}
  .hero-photo img{object-position:center 27%}
  .editorial-photo img{object-position:center 29%}
}
