:root { --ink:#271817; --wine:#6e2630; --wine-dark:#41181d; --terracotta:#b95d3e; --gold:#e9b86a; --cream:#f7f1e7; --paper:#fffdf8; --olive:#69704a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", Arial, sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.site-header { height:96px; display:flex; align-items:center; justify-content:space-between; max-width:1440px; margin:auto; padding:0 5.4vw; background:var(--paper); }
.brand { display:flex; align-items:center; gap:.78rem; font-family:"Playfair Display", Georgia, serif; font-size:1.83rem; font-weight:600; letter-spacing:-.04em; }
.brand em { font-size:.67em; font-weight:500; letter-spacing:-.05em; }
.brand-mark { width:52px; height:52px; flex:0 0 auto; }
.brand-type { display:flex; flex-direction:column; line-height:.92; }
.brand-type small { margin-top:.42rem; color:var(--terracotta); font-family:"DM Sans", Arial, sans-serif; font-size:.46rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.header-link, .text-link { color:var(--wine); font-size:.92rem; font-weight:700; letter-spacing:.01em; }
.header-link span, .text-link span { margin-left:.35rem; font-size:1.12em; }
.hero { position:relative; min-height:660px; max-width:1440px; margin:auto; overflow:hidden; display:flex; align-items:center; }
.hero-image, .hero-overlay { position:absolute; inset:0; }
.hero-image { background:url("savor-the-bay-hero.png") center center/cover no-repeat; }
.hero-overlay { background:linear-gradient(90deg,rgba(20,10,8,.83) 0%,rgba(24,12,9,.66) 30%,rgba(25,11,8,.10) 63%,rgba(19,10,8,.08) 100%); }
.hero-content { position:relative; z-index:1; width:min(600px, 100%); margin-left:10vw; padding:5.2rem 1.5rem 5.2rem 0; color:white; }
.eyebrow { margin:0 0 1.05rem; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; color:#f4c878; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Playfair Display", Georgia, serif; letter-spacing:-.045em; line-height:1.06; }
h1 { margin-bottom:1.3rem; font-size:clamp(3.4rem,6.1vw,6rem); font-weight:600; }
h1 em { color:#f1c16e; font-weight:500; }
.hero-copy { max-width:480px; margin-bottom:2rem; font-size:1.1rem; line-height:1.65; color:#f8f2eb; }
.button { display:inline-flex; align-items:center; gap:1.4rem; border-radius:999px; padding:1rem 1.4rem 1rem 1.6rem; font-weight:700; font-size:.95rem; transition:transform .2s ease, background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:1.35rem; line-height:0; }
.button-primary { background:#f4c778; color:#351b18; }
.hero-note { position:absolute; z-index:1; bottom:1.8rem; right:3rem; color:#f3e7dc; font-size:.75rem; letter-spacing:.04em; }
.welcome { max-width:1180px; margin:0 auto; padding:7.3rem 2rem; display:grid; grid-template-columns:1.05fr .95fr; gap:9vw; }
.dark { color:var(--terracotta); }
.welcome h2 { margin:0; font-size:clamp(2.4rem,4.4vw,4.2rem); }
.welcome-copy { padding-top:1.65rem; font-size:1.05rem; }
.welcome-copy p { margin-bottom:1.2rem; }
.text-link { display:inline-block; margin-top:.55rem; }
.moments { max-width:1180px; margin:0 auto 7.5rem; padding:0 2rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.moments article { min-height:272px; position:relative; padding:2rem; border:1px solid #e7d9c8; background:var(--cream); }
.moments article:nth-child(2) { background:#ebe2d1; }
.moments article:nth-child(3) { background:#f2d2b5; }
.number { position:absolute; right:1.8rem; top:1.6rem; font-size:.72rem; font-weight:700; letter-spacing:.15em; color:var(--terracotta); }
.moments svg { width:43px; height:43px; margin:1.65rem 0 1rem; color:var(--wine); }
.moments h3 { margin-bottom:.55rem; font-size:1.72rem; }
.moments p { margin:0; font-size:.94rem; line-height:1.55; max-width:275px; }
.join { position:relative; overflow:hidden; max-width:1440px; margin:auto; min-height:470px; background:var(--wine-dark); display:grid; place-items:center; text-align:center; color:white; }
.join::after { content:""; position:absolute; inset:22px; border:1px solid rgba(244,199,120,.39); pointer-events:none; }
.join-decoration { position:absolute; left:3vw; bottom:-12.5rem; color:rgba(244,199,120,.09); font:500 34rem/1 "Playfair Display",serif; }
.join-content { position:relative; z-index:1; width:min(630px, 90%); padding:4.5rem 0; }
.join h2 { margin:.15rem 0 1rem; font-size:clamp(3rem,5vw,5rem); color:#f6ca78; }
.join-content > p:not(.eyebrow) { max-width:490px; margin:0 auto 1.8rem; color:#f4e8de; font-size:1.05rem; }
.button-light { background:#f8f0e3; color:var(--wine-dark); }
footer { max-width:1440px; margin:auto; padding:2.2rem 5.4vw; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #eadfce; color:#5c4a43; font-size:.82rem; }
footer p { margin:0; }
footer > a:last-child { color:var(--wine); font-weight:700; }
.footer-brand { font-size:1.1rem; color:var(--ink); }
.footer-brand .brand-mark { width:31px; height:31px; }
@media (max-width:700px) { .site-header { height:82px; padding:0 1.25rem; } .brand { font-size:1.45rem; gap:.55rem; } .brand-mark { width:41px; height:41px; } .brand-type small { font-size:.4rem; margin-top:.3rem; } .header-link { font-size:.78rem; } .hero { min-height:650px; align-items:flex-end; } .hero-image { background-position:64% center; } .hero-overlay { background:linear-gradient(0deg,rgba(20,10,8,.88),rgba(20,10,8,.14) 80%); } .hero-content { margin:0; padding:3rem 1.5rem 5rem; } h1 { font-size:3.5rem; } .hero-copy { font-size:1rem; } .hero-note { bottom:1.25rem; left:1.5rem; right:auto; font-size:.66rem; } .welcome { grid-template-columns:1fr; gap:1.6rem; padding:5rem 1.5rem; } .welcome-copy { padding:0; } .moments { grid-template-columns:1fr; padding:0 1.5rem; margin-bottom:5rem; } .moments article { min-height:225px; } .join { min-height:430px; } .join-content { padding:4rem 0; } footer { padding:1.7rem 1.5rem; gap:1rem; flex-wrap:wrap; } footer p { order:3; width:100%; } }
