:root { --olive:#58634c; --brown:#493f39; --cream:#f8f3ea; --clay:#bd837d; --denim:#8797a1; --gold:#b89b6b; --blush:#ead5d0; --sage:#d9dfd2; --soft:#ecebe4; --line:rgba(73,63,57,.18); --serif:"Cormorant Garamond",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; --script:"Parisienne",cursive; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--brown); background:var(--cream); font:400 16px/1.6 var(--sans); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.19; background-image:radial-gradient(rgba(63,51,41,.25) .55px,transparent .75px); background-size:5px 5px; mix-blend-mode:multiply; z-index:10; }
::selection { background:var(--olive); color:var(--cream); }
a { color:inherit; text-underline-offset:4px; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid var(--clay); outline-offset:4px; }
.shell { width:min(1100px,calc(100% - 2.5rem)); margin-inline:auto; }
.skip { position:absolute; left:-999px; top:1rem; background:var(--brown); color:var(--cream); padding:.6rem 1rem; z-index:100; }
.skip:focus { left:1rem; }
.site-header { border-bottom:1px solid var(--line); padding:.45rem 0; }
.nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:inline-flex; gap:.65rem; align-items:center; text-decoration:none; font:700 1.8rem/1 var(--serif); letter-spacing:-.05em; }
.brand-logo { display:block; width:118px; height:118px; object-fit:cover; border-radius:50%; }
.links { display:flex; align-items:center; gap:1.15rem; font:700 1rem/1 var(--serif); letter-spacing:.01em; }
.links a { text-decoration:none; }
.links a::before { content:"✦"; margin-right:.32rem; color:var(--clay); font:400 .55rem var(--sans); vertical-align:.15rem; }
.links a:hover,.links a[aria-current="page"] { color:var(--olive); }
.links .shop-link { border-bottom:2px solid var(--gold); padding-bottom:.2rem; }
.page-hero { position:relative; overflow:hidden; padding:4.25rem 0 3.75rem; border-bottom:1px solid var(--line); background:linear-gradient(112deg,#efe3d5 0%,var(--cream) 58%,var(--sage) 100%); }
.page-hero::after { content:"❧"; position:absolute; right:5%; bottom:-5rem; color:rgba(88,99,76,.11); font:400 14rem var(--serif); transform:rotate(-18deg); }
.page-hero .eyeline { display:block; color:var(--olive); font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:1.1rem; }
h1,h2,h3 { font-family:var(--serif); font-weight:600; line-height:.9; letter-spacing:-.055em; margin:0; text-wrap:balance; }
h1 { font-size:clamp(4rem,9vw,8rem); max-width:8ch; }
h2 { font-size:clamp(2.7rem,5vw,5rem); max-width:12ch; }
h3 { font-size:clamp(1.8rem,3vw,2.8rem); }
.page-hero p { max-width:52ch; color:#5c5044; font-size:1.08rem; margin:1.55rem 0 0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:49px; padding:.75rem 1.1rem; background:var(--olive); color:var(--cream); font-size:.74rem; font-weight:700; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; border:0; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.button:hover { background:var(--brown); transform:translateY(-2px); }
.button.light { background:var(--gold); color:var(--brown); }
.button.disabled { opacity:.56; cursor:not-allowed; pointer-events:none; }
.section { padding:3.75rem 0; }
.section.alt { background:var(--soft); }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2.5rem; }
.section-head p { max-width:40ch; margin:0; color:#5c5044; }
.listing { border-top:1px solid var(--line); }
.listing a { display:grid; grid-template-columns:.26fr 1.5fr .55fr; gap:1.7rem; align-items:center; border-bottom:1px solid var(--line); padding:1.7rem 0; text-decoration:none; }
.listing a:hover h3 { color:var(--olive); }
.listing span { color:var(--denim); font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.listing p { color:#675a4c; margin:0; font-size:.85rem; text-align:right; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.topic-card { min-height:270px; padding:1.8rem; background:var(--cream); text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:background .2s ease,color .2s ease; }
.topic-card:nth-child(2) { background:#dce1d8; }.topic-card:nth-child(3) { background:#eadfce; }
.topic-card:hover { background:var(--olive); color:var(--cream); }
.topic-card span { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.topic-card strong { display:block; max-width:9ch; font:600 2.65rem/.86 var(--serif); letter-spacing:-.055em; }
.store-note { border:1px solid var(--line); padding:1.4rem 1.5rem; background:#fbf5ea; color:#5c5044; font-size:.92rem; }
.products { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.product { background:var(--cream); min-height:355px; padding:1.45rem; display:flex; flex-direction:column; }
.product-art { min-height:180px; padding:1rem; display:flex; align-items:end; background:var(--gold); color:var(--brown); }
.product:nth-child(3n+2) .product-art { background:var(--clay); color:var(--cream); }.product:nth-child(3n) .product-art { background:var(--denim); color:var(--cream); }
.product-art b { font:600 2.7rem/.82 var(--serif); letter-spacing:-.06em; }
.product h2 { font-size:2.15rem; margin:1.2rem 0 .45rem; }.product p { margin:0 0 1.2rem; color:#5c5044; font-size:.9rem; }.product .button { margin-top:auto; align-self:start; }
.empty { grid-column:1/-1; padding:3rem; background:#fbf5ea; text-align:center; }.empty h2 { margin-inline:auto; font-size:3rem; }.empty p { max-width:44ch; margin:1rem auto 0; color:#5c5044; }
.newsletter { padding:3.6rem 0; background:var(--brown); color:var(--cream); }.newsletter .form { display:flex; max-width:520px; margin-top:1.5rem; border-bottom:2px solid rgba(243,235,221,.75); }.newsletter input { color:var(--cream); background:transparent; border:0; padding:1rem 0; min-width:0; flex:1; font:inherit; }.newsletter input::placeholder { color:#e5d9c7; }.newsletter button { background:transparent; color:var(--gold); border:0; font:700 .72rem var(--sans); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.script-label { display:block; color:var(--clay); font:400 clamp(2rem,4vw,3.25rem)/1 var(--script); transform:rotate(-2deg); }
.feature-banner { display:grid; grid-template-columns:.9fr 1.1fr; border:1px solid var(--line); background:#efe3d5; }
.feature-banner blockquote { margin:0; padding:2rem; background:var(--olive); color:var(--cream); font:600 clamp(2rem,3.7vw,3.4rem)/.97 var(--serif); letter-spacing:-.04em; }
.feature-banner cite { display:block; margin-top:1rem; color:#e2e6df; font:700 .68rem var(--sans); font-style:normal; letter-spacing:.11em; text-transform:uppercase; }
.feature-copy { padding:2rem; align-self:center; }.feature-copy h2{margin:.35rem 0 .9rem}.feature-copy p{max-width:48ch;color:#62564e}
.tag-list { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.2rem 0 0; padding:0; list-style:none; }.tag-list li,.tag { border:1px solid var(--line); background:rgba(255,255,255,.25); padding:.35rem .65rem; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.editorial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.85rem; }
.editorial-card { position:relative; overflow:hidden; min-height:260px; padding:1.45rem; display:flex; flex-direction:column; justify-content:space-between; background:var(--cream); border:1px solid var(--line); text-decoration:none; }
.editorial-card:nth-child(2){background:var(--blush)}.editorial-card:nth-child(3){background:var(--sage)}
.editorial-card::after { content:"✿"; position:absolute; right:-.3rem; bottom:-1.8rem; color:rgba(73,63,57,.1); font:400 6rem var(--serif); }
.editorial-card span { font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase }.editorial-card strong { position:relative;z-index:1;max-width:9ch;font:600 2.55rem/.87 var(--serif);letter-spacing:-.05em }.editorial-card p{position:relative;z-index:1;margin:.75rem 0 0;color:#62564e;font-size:.88rem}
.editorial-card:hover{background:var(--clay);color:var(--cream)}.editorial-card:hover p{color:var(--cream)}
.social-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:start; }
.social-card { border:1px solid var(--line); background:var(--cream); padding:1rem; }.social-card h3{margin:.2rem 0 .7rem}.social-card p{color:#62564e}.social-card .text-link{display:inline-block;margin-top:.7rem}
.source-note { color:#6b6058;font-size:.8rem;margin:.8rem 0 0 }
.published-stories[hidden] { display:none; }
.published-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); }
.published-card { display:flex; min-width:0; flex-direction:column; background:#fbf7ef; text-decoration:none; }
.published-card:hover .published-copy h3 { color:var(--olive); }
.published-image { aspect-ratio:4/3; overflow:hidden; background:var(--sage); }
.published-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }
.published-card:hover .published-image img { transform:scale(1.025); }
.published-copy { display:flex; flex:1; flex-direction:column; padding:1.05rem; }
.published-copy .published-category { color:var(--olive); font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.published-copy h3 { margin:.45rem 0 .55rem; font-size:2rem; }
.published-copy p { margin:0; color:#62564e; font-size:.88rem; }
.published-copy time { margin-top:auto; padding-top:1rem; color:#74685f; font-size:.72rem; }
footer { padding:3.2rem 0 1.6rem; background:var(--olive); color:var(--cream); }.footer-flex { display:flex; justify-content:space-between; gap:2rem; align-items:start; }.footer-quote { max-width:30ch; font:600 1.55rem/1 var(--serif); letter-spacing:-.035em; margin:0; }.footer-quote cite { display:block; margin-top:.8rem; color:#dde4d6; font:700 .68rem var(--sans); letter-spacing:.1em; text-transform:uppercase; }.footer-links { display:flex; flex-wrap:wrap; gap:.55rem 1.25rem; font-size:.78rem; }.footer-links a { color:#e9e7da; }.footer-bottom { margin-top:2.5rem; padding-top:1.2rem; border-top:1px solid rgba(243,235,221,.28); color:#dbe2d5; font-size:.72rem; }
@media (max-width:720px) { .shell { width:min(100% - 2rem,620px); }.nav{flex-wrap:wrap}.brand{font-size:1.45rem}.brand-logo{width:96px;height:96px}.links{width:100%;overflow-x:auto;white-space:nowrap;padding:.2rem 0 .55rem}.page-hero { padding:3rem 0; }.section{padding:3rem 0}.listing a { grid-template-columns:1fr; gap:.6rem; }.listing p { text-align:left; }.card-grid,.products,.editorial-grid,.social-grid,.feature-banner,.published-grid { grid-template-columns:1fr; }.section-head,.footer-flex { display:block; }.section-head p { margin-top:1.3rem; }.footer-links { margin-top:2rem; }.newsletter .form { width:100%; }.feature-banner blockquote,.feature-copy{padding:1.5rem} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; scroll-behavior:auto !important; } }
