:root { --cream:#f5efdf; --paper:#fffaf0; --espresso:#28190f; --coffee:#4b301f; --amber:#d28a36; --ink:#21130c; --line:rgba(40,25,15,.22); --serif:Georgia, 'Times New Roman', serif; --sans:Arial, Helvetica, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
.hero { color:var(--cream); min-height:790px; position:relative; overflow:hidden; padding:28px max(5vw,42px) 72px; background-image:linear-gradient(90deg,rgba(17,9,5,.92) 0%,rgba(24,13,7,.78) 41%,rgba(22,12,6,.18) 74%,rgba(22,12,6,.10) 100%),url('/hero.png'); background-position:center; background-size:cover; }
.topline { display:flex; gap:12px; align-items:center; position:relative; z-index:2; font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.topline__rule { width:36px; height:1px; background:#e8ae59; }
.hero__content { position:relative; z-index:2; max-width:650px; padding-top:115px; }.eyebrow { margin:0 0 16px; color:#8c551e; font-size:11px; font-weight:800; letter-spacing:.19em; line-height:1.4; text-transform:uppercase; }.hero .eyebrow { color:#e6b461; }
h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; } h1 { font-size:clamp(52px,7vw,96px); line-height:.93; margin-bottom:30px; } h1 em,h2 em { color:#a76023; font-weight:400; }.hero h1 em { color:#e6b461; }.hero__lede { max-width:480px; font-size:17px; line-height:1.62; }
.hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:34px; }.button { align-items:center; display:inline-flex; gap:15px; justify-content:center; min-height:50px; padding:13px 21px; font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; transition:transform 160ms cubic-bezier(.23,1,.32,1),background-color 160ms cubic-bezier(.23,1,.32,1); }.button:active { transform:scale(.97); }.button--amber { color:#25160d; background:#e7b361; }.button--amber:hover { background:#f2cb84; }.button--light { color:var(--espresso); background:var(--cream); }.button--espresso { color:white; background:var(--espresso); }.text-link { border-bottom:1px solid currentColor; font-size:11px; font-weight:800; letter-spacing:.12em; padding-bottom:5px; text-transform:uppercase; }.purchase-note { margin-top:50px; font-size:12px; letter-spacing:.04em; }
.purchase-policy { display:flex; flex-direction:column; gap:5px; margin-top:31px; max-width:360px; padding:15px 17px; border-left:2px solid #e6b461; background:rgba(16,8,4,.42); color:#f9ecd4; font-size:13px; line-height:1.45; }.purchase-policy strong { color:#efc677; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }.purchase-policy span { color:#f9ecd4; }.shop-callout__policy { max-width:500px; margin:22px 0 0; color:rgba(255,255,255,.78); font-size:14px; line-height:1.6; }
.manifesto { background:var(--paper); max-width:1110px; margin:0 auto; padding:135px max(5vw,42px) 118px; }.manifesto > h2 { font-size:clamp(40px,5vw,69px); max-width:650px; line-height:.98; margin-bottom:25px; }.manifesto > p:not(.eyebrow) { max-width:590px; font-size:17px; line-height:1.7; }.manifesto__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:82px; }.manifesto__grid article { border-top:1px solid var(--line); padding-top:19px; }.manifesto__grid span { color:#a76023; font-family:var(--serif); font-size:18px; }.manifesto__grid h3 { font-family:var(--serif); font-size:26px; font-weight:400; margin:30px 0 13px; }.manifesto__grid p { font-size:14px; line-height:1.62; }
.collection { background:#e9d2a5; padding:108px max(5vw,42px) 125px; }.collection__heading { align-items:flex-end; display:flex; justify-content:space-between; gap:24px; max-width:1240px; margin:0 auto 20px; }.collection h2 { font-size:clamp(42px,5vw,69px); line-height:.95; margin:0; }.text-link--dark { color:var(--espresso); flex-shrink:0; margin-bottom:8px; }.collection__notice { max-width:1240px; margin:0 auto 36px; font-size:13px; line-height:1.45; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1240px; margin:auto; }.product-card { background:#f7f0df; min-width:0; overflow:hidden; }.product-card a { display:block; }.product-card img,.product-card__image { display:block; height:305px; object-fit:cover; width:100%; background:#ead8b6; transition:transform 260ms cubic-bezier(.23,1,.32,1); }.product-card a:hover img { transform:scale(1.025); }.product-card__image--fallback { align-items:center; color:#6a4124; display:flex; font-family:var(--serif); font-size:28px; justify-content:center; text-align:center; }.product-card__meta { align-items:flex-start; display:flex; gap:16px; justify-content:space-between; padding:18px 17px 19px; }.product-card__meta p { font-family:var(--serif); font-size:20px; line-height:1.08; margin:0; }.product-card__meta span { color:#875322; flex-shrink:0; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.category-card { grid-column:1/-1; background:#f7f0df; max-width:700px; padding:45px; }.category-card h3 { font-family:var(--serif); font-size:38px; font-weight:400; line-height:1.04; margin:0 0 16px; }.category-card p:not(.eyebrow) { font-size:15px; line-height:1.55; margin-bottom:25px; }.loading-card { height:370px; background:linear-gradient(110deg,#e8d7b7 8%,#f3e5cc 18%,#e8d7b7 33%); background-size:220% 100%; animation:loading 1.4s linear infinite; } @keyframes loading { to { background-position:-220% 0; } }
.shop-callout { align-items:center; background:var(--espresso); color:var(--cream); display:flex; gap:35px; justify-content:space-between; padding:105px max(7vw,42px); }.shop-callout .eyebrow { color:#eab867; }.shop-callout h2 { font-size:clamp(44px,5vw,72px); line-height:.93; margin:0; }.shop-callout h2 em { color:#e7b361; }footer { background:#1e120b; color:#e8d8bd; display:flex; flex-wrap:wrap; font-size:11px; font-weight:700; gap:20px; justify-content:space-between; letter-spacing:.12em; padding:28px max(5vw,42px); text-transform:uppercase; }footer a { border-bottom:1px solid rgba(232,216,189,.45); padding-bottom:3px; }
@media (max-width:820px) { .hero { min-height:750px; padding:25px 25px 45px; background-position:62% center; }.hero__content { padding-top:72px; max-width:83%; }.hero__lede { font-size:15px; }.manifesto { padding:92px 25px 82px; }.manifesto__grid { grid-template-columns:1fr; gap:34px; margin-top:55px; }.manifesto__grid h3 { margin:16px 0 7px; }.collection { padding:79px 25px; }.collection__heading { align-items:flex-start; flex-direction:column; }.product-grid { grid-template-columns:1fr 1fr; }.product-card img,.product-card__image { height:260px; }.product-card__meta { display:block; }.product-card__meta span { display:inline-block; margin-top:13px; }.shop-callout { align-items:flex-start; flex-direction:column; padding:80px 25px; } footer { align-items:flex-start; flex-direction:column; } }
@media (max-width:480px) { .hero { background-position:68% center; }.hero__content { max-width:100%; }.product-grid { grid-template-columns:1fr; }.product-card img,.product-card__image { height:330px; }.category-card { padding:30px; }.category-card h3 { font-size:31px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration:.01ms !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
