:root { --paper:#f0efe7; --ink:#30443e; --accent:#974c43; }
html { scroll-padding-top:110px; }
body::after { content:""; position:fixed; inset:0; z-index:50; pointer-events:none; background:url("assets/cork-texture.png") repeat; background-size:440px; opacity:.035; filter:grayscale(1); mix-blend-mode:multiply; }
.site-header { position:sticky; top:0; z-index:10; width:100%; height:84px; padding-inline:max(56px,calc((100% - 1440px)/2)); display:grid; grid-template-columns:1fr auto 1fr; gap:28px; background:#f0efe7f5; backdrop-filter:blur(12px); border-bottom:3px double #83918660; transition:box-shadow .3s; }
.site-header.is-scrolled { box-shadow:0 4px 15px #233d3410; }
.site-header .brand { justify-self:start; gap:8px; }
.site-header .brand img { width:53px; height:58px; }
.site-header .brand>span { font-size:27px; }
.site-header .brand small { font-size:8px; }
.house-nav { gap:28px; height:100%; align-items:center; }
.house-nav a { position:relative; display:flex; align-items:center; height:100%; padding:0 2px; white-space:nowrap; font-size:12px; font-weight:500; }
.house-nav a::after { content:""; position:absolute; bottom:20px; left:1px; right:1px; height:2px; background:var(--accent); border-radius:40% 20% 50% 30%; transform:scaleX(0) rotate(-1deg); transform-origin:left; transition:transform .25s ease; }
.house-nav a:hover::after,.house-nav a[aria-current]::after { transform:scaleX(1) rotate(-1deg); }
.house-nav a[aria-current] { color:var(--accent); }
.cart-toggle { justify-self:end; padding:10px 0 10px 20px; border-left:1px solid #83918660; gap:9px; }
.cart-toggle .ui-icon { transition:transform .25s; }
.cart-toggle:hover .ui-icon { transform:rotate(-8deg) translateY(-2px); }
.cart-toggle [data-cart-count] { font:17px var(--hand); min-width:18px; text-align:center; }
.shop-section { padding-top:34px; }
.shop-section h1 { font-weight:700; font-style:italic; color:#344941; text-shadow:.5px .6px #f8f6ef; }
.collection-note { font:21px/1.4 var(--hand); color:#925248; transform:rotate(-3deg); padding-right:9px; }
.section-heading .eyebrow { color:#8e5148; }
.rack-caption .handwritten { font-size:25px; }
.band-heading h2 { font-weight:700; font-style:italic; }
.band-heading .eyebrow { font-family:monospace; font-size:10px; }
.photo-wall { background:#e5e9e7 url("assets/whitewashed-timber.png") center / cover no-repeat; border-top:3px double #93a29465; }
.polaroid { background:#f8f6e9; border:1px solid #d5d1bd70; box-shadow:1px 2px 2px #263f3723,3px 7px 9px #334b3826; transform-origin:50% 0; transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .4s; }
.polaroid::before { background:#c4b37ca8; height:32px; box-shadow:0 1px 2px #72633b22; }
.polaroid::after { content:""; pointer-events:none; position:absolute; inset:auto 5px 2px; height:4px; border-bottom:1px solid #c3bfa353; border-radius:50%; }
.polaroid:hover { transform:rotate(calc(var(--tilt) * -.2)) translateY(-7px); }
.polaroid .photo-caption { color:#314e48; }
.wall-postcard { border:1px dashed #789187; box-shadow:2px 4px 4px #3b58451a; background:#cedbd0; }
.wall-sticker img { filter:drop-shadow(2px 3px 0 #fff9); }
.notice-section { background:#e8e9df; }
.notice { transform-origin:50% 12px; transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .4s; }
.notice:hover { transform:rotate(calc(var(--tilt) * -.25)) translateY(-3px); box-shadow:4px 9px 10px #34241638; }
.notice.giveaway { background:#dfcf82; }
.notice.upcoming { background:#cbdadf; }
.notice.brand { background:#e7d2c9; }
.notice .notice-foot { border-top-style:dashed; }
.notice small:first-child { font-family:monospace; font-size:10px; }
.forecast-section { background:#d3dedc; }
.forecast-intro h2 { font-weight:700; font-style:italic; }
.beach-sign { border-color:#ccb044; background:#dbbb4c; box-shadow:3px 7px 0 #b79a35,7px 14px 18px #294c4424,inset 0 0 0 1px #f1d981; }
.chalkboard { background:#30413b; }
.sign-top h3 { text-shadow:.8px .7px #e7cf72; }
.receipt-paper { background:#f6f3e4; }
.receipt-brand { color:#30443e; }
.receipt-end { border-top:1px dashed #9b9d88; padding-top:20px; }
.story-dialog[open],.note-dialog[open],.photo-dialog[open] { animation:paper-open .3s ease-out; }
@keyframes paper-open { from { opacity:0; translate:0 10px; } to { opacity:1; translate:0 0; } }
.add-button,.checkout-button { transition:background .2s,translate .2s; }
.add-button:active,.checkout-button:active { translate:0 1px; }
@media(max-width:1250px) { .site-header { padding-inline:32px; gap:20px; } .house-nav { gap:24px; } }
@media(max-height:850px) { .site-header { height:76px; } .shop-section { padding-top:20px; } }
@media(prefers-reduced-motion:reduce) { .polaroid:hover,.notice:hover { transform:rotate(var(--tilt)); } .cart-toggle:hover .ui-icon { transform:none; } }
