
:root { --pearl:#f6f1e8; --sand:#dfc8a6; --ink:#251a15; --gold:#b18749; --orange:#d96b24; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--pearl); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.announcement { background:var(--ink); color:var(--pearl); padding:10px 20px; text-align:center; font-size:10px; letter-spacing:.22em; }
.nav-shell { height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4vw; border-bottom:1px solid rgba(37,26,21,.12); position:relative; z-index:10; }
.wordmark { font-family:Georgia, 'Times New Roman', serif; font-size:29px; letter-spacing:.16em; }
nav { display:flex; gap:42px; font-size:13px; }
nav a,.nav-actions a { position:relative; }
nav a:after,.nav-actions a:after { content:""; position:absolute; height:1px; left:0; right:100%; bottom:-7px; background:var(--ink); transition:right .25s ease; }
nav a:hover:after,.nav-actions a:hover:after { right:0; }
.nav-actions { justify-self:end; display:flex; gap:25px; font-size:12px; }
.hero { min-height:calc(100vh - 116px); display:grid; grid-template-columns:44% 56%; overflow:hidden; }
.hero-copy { padding:8vh 4vw 4vh; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:700; }
h1,h2 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; margin:0; }
h1 { font-size:clamp(58px,6.2vw,104px); line-height:.92; letter-spacing:-.055em; margin:26px 0 30px; }
h1 em,h2 em { font-weight:400; color:var(--orange); }
.hero-lede { font-size:16px; line-height:1.65; max-width:530px; color:#5f5048; }
.hero-actions { display:flex; gap:12px; margin-top:32px; }
.button { min-height:55px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; gap:22px; text-transform:uppercase; letter-spacing:.08em; font-size:11px; transition:.25s ease; border:1px solid var(--ink); }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--ink); color:white; }
.button-light { background:transparent; }
.button-gold { background:var(--gold); border-color:var(--gold); color:white; }
.hero-proof { display:flex; gap:28px; margin-top:auto; padding-top:30px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#74645a; }
.hero-proof span:not(:last-child):after { content:"·"; margin-left:28px; color:var(--gold); }
.hero-visual { background:linear-gradient(135deg,#ead9bd,#c79663); position:relative; display:flex; align-items:center; justify-content:center; isolation:isolate; }
.hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(160deg,transparent 55%,rgba(75,36,13,.13)); z-index:-1; }
.hero-visual img { width:88%; mix-blend-mode:multiply; filter:contrast(1.04); animation:arrive 1.1s cubic-bezier(.22,1,.36,1) both; }
.sun-disc { position:absolute; width:42vw; height:42vw; border-radius:50%; background:#e98839; opacity:.78; z-index:-1; }
.vertical-note { position:absolute; right:22px; top:50%; transform:rotate(90deg) translateX(50%); transform-origin:right center; font-size:9px; letter-spacing:.25em; }
.hero-swatch { position:absolute; bottom:25px; right:30px; font-size:10px; text-transform:uppercase; letter-spacing:.13em; display:flex; gap:10px; align-items:center; }
.hero-swatch span { width:11px; height:11px; border-radius:50%; background:#dc6a1d; border:2px solid rgba(255,255,255,.7); }
.manifesto { padding:12vw 10vw; text-align:center; background:#efe4d1; }
.manifesto>p { text-transform:uppercase; font-size:10px; letter-spacing:.22em; }
.manifesto h2 { max-width:1060px; margin:35px auto 0; font-size:clamp(40px,5.1vw,76px); line-height:1.08; letter-spacing:-.035em; }
.collection { padding:9vw 4vw; background:#fbf8f2; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:55px; }
.section-heading h2 { font-size:clamp(44px,5vw,72px); letter-spacing:-.04em; margin-top:12px; }
.section-heading>p { max-width:410px; line-height:1.65; color:#6d5d54; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-card { background:white; position:relative; overflow:hidden; }
.product-image { aspect-ratio:1.08/1; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; }
.product-image img { width:94%; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.product-card:hover .product-image img { transform:scale(1.045); }
.product-meta { padding:20px 22px 16px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #eee5dc; }
.product-meta h3 { margin:0 0 7px; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.product-meta p { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#7d6b62; }
.color-dot { width:18px; height:18px; border-radius:50%; box-shadow:0 0 0 4px white,0 0 0 5px #d8cec5; }
.quick-view { padding:13px 22px; background:var(--ink); color:white; display:flex; justify-content:space-between; font-size:10px; text-transform:uppercase; letter-spacing:.12em; transform:translateY(100%); margin-top:-40px; transition:.25s ease; }
.product-card:hover .quick-view,.product-card:focus-within .quick-view { transform:translateY(0); }
.materials { display:grid; grid-template-columns:55% 45%; min-height:780px; background:#d8b78c; }
.material-image { overflow:hidden; display:flex; align-items:center; background:#fff; }
.material-image img { width:100%; mix-blend-mode:multiply; }
.material-copy { padding:8vw 7vw; display:flex; flex-direction:column; justify-content:center; }
.material-copy h2 { font-size:clamp(55px,6vw,88px); line-height:.95; letter-spacing:-.05em; margin:22px 0 34px; }
.material-copy>p:not(.eyebrow) { line-height:1.75; max-width:520px; color:#59463b; }
dl { margin:40px 0 0; border-top:1px solid rgba(37,26,21,.25); }
dl div { display:grid; grid-template-columns:50px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid rgba(37,26,21,.25); }
dt { color:#8b633d; font-size:11px; }
dd { margin:0; display:flex; justify-content:space-between; gap:20px; font-size:13px; }
dd strong { font-weight:600; } dd span { color:#725c4d; }
.concierge { min-height:560px; padding:10vw 4vw; text-align:center; background:var(--ink); color:var(--pearl); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.concierge h2 { font-size:clamp(58px,8vw,120px); letter-spacing:-.055em; margin:18px 0 20px; }
.concierge>p:not(.eyebrow) { max-width:590px; line-height:1.6; color:#cbbdb4; margin-bottom:32px; }
footer { padding:70px 4vw 30px; display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; position:relative; }
footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
footer p { margin:0; color:#75655d; font-size:12px; }
.footer-label { text-transform:uppercase; letter-spacing:.15em; color:var(--ink); font-weight:700; }
footer a:not(.wordmark) { font-size:13px; }
.copyright { position:absolute; right:4vw; bottom:30px; }
@keyframes arrive { from { opacity:0; transform:translateX(35px) scale(1.04); } to { opacity:1; transform:none; } }

@media (max-width:900px) {
  .announcement { font-size:8px; }
  .nav-shell { grid-template-columns:1fr auto; height:70px; } nav { display:none; } .nav-actions a:first-child { display:none; }
  .hero { grid-template-columns:1fr; min-height:auto; } .hero-copy { min-height:650px; padding:70px 6vw 35px; } .hero-visual { min-height:480px; }
  .hero-proof { flex-wrap:wrap; } .product-grid { grid-template-columns:repeat(2,1fr); }
  .materials { grid-template-columns:1fr; } .material-image { min-height:480px; } .material-copy { padding:80px 7vw; }
}
@media (max-width:600px) {
  .wordmark { font-size:23px; } .hero-copy { min-height:620px; } h1 { font-size:58px; }
  .hero-actions { flex-direction:column; } .button { width:100%; } .hero-proof { gap:9px 16px; } .hero-proof span:after { display:none; }
  .hero-visual { min-height:360px; } .sun-disc { width:80vw; height:80vw; }
  .manifesto,.collection { padding:90px 6vw; } .section-heading { align-items:start; flex-direction:column; margin-bottom:35px; }
  .product-grid { grid-template-columns:1fr; } .quick-view { transform:none; margin:0; }
  .materials { min-height:0; } .material-image { min-height:360px; } dd { flex-direction:column; gap:5px; }
  footer { grid-template-columns:1fr 1fr; } footer>div:first-child { grid-column:1/-1; } .copyright { position:static; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
