:root { --ink:#20231d; --paper:#fffaf0; --cream:#f6ecd9; --honey:#e8af3c; --amber:#ca7f1d; --muted:#69665e; --line:#eadcc2; font-family:"DM Sans",system-ui,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:linear-gradient(115deg,#fffdf9 0%,#fff8ec 48%,#fffdf9 100%); }
a { color:inherit; text-decoration:none; }
.site-header { max-width:1240px; height:88px; padding:0 32px; margin:auto; display:flex; justify-content:space-between; align-items:center; }
.brand,.footer-brand { display:flex; gap:10px; align-items:center; font-size:12px; font-weight:700; letter-spacing:.12em; line-height:1.05; }
.brand img { width:44px; height:44px; object-fit:contain; border-radius:14px; background:#fff; border:1px solid var(--line); }
.brand small { letter-spacing:.25em; font-size:8px; }
.header-cta { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:3px; }
.header-cta span { color:var(--amber); font-size:18px; line-height:.8; }
.hero { max-width:1176px; min-height:500px; margin:0 auto 94px; padding:clamp(43px,8vw,94px) clamp(26px,8vw,94px); border:1px solid #efdfc1; border-radius:34px; background:linear-gradient(130deg,#fffefa 0%,#fff4dc 54%,#f7dfaa 100%); position:relative; overflow:hidden; display:flex; align-items:center; box-shadow:0 20px 55px rgba(115,81,27,.1); }
.hero-copy { max-width:640px; z-index:1; }
.eyebrow { margin:0 0 18px; color:var(--amber); font-size:11px; letter-spacing:.17em; font-weight:700; }
.eyebrow span { margin-right:5px; }
h1,h2,h3 { font-family:"Fraunces",serif; letter-spacing:-.045em; }
.hero h1 { margin:0; font-size:clamp(48px,7.1vw,83px); line-height:.98; font-weight:600; }
em { color:var(--amber); font-style:italic; }
.intro { color:var(--muted); font-size:16px; line-height:1.65; max-width:500px; margin:22px 0 28px; }
.hero-actions { display:flex; gap:11px; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:12px; border-radius:12px; min-height:48px; padding:0 18px; font-size:13px; font-weight:700; transition:transform .18s ease,box-shadow .18s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { color:#fff; background:var(--ink); box-shadow:0 10px 20px rgba(32,35,29,.15); }
.button.primary span,.button.light span,.text-link span { color:var(--honey); font-size:19px; }
.button.secondary { border:1px solid #e6d5b6; background:rgba(255,255,255,.62); }
.hero-art { position:absolute; inset:0; pointer-events:none; }
.sun { position:absolute; width:430px; height:430px; border:1px solid rgba(180,119,30,.25); border-radius:50%; right:-155px; top:-205px; }
.sun:after { content:""; width:305px; height:305px; border-radius:50%; border:1px solid rgba(180,119,30,.16); position:absolute; left:35px; top:35px; }
.doodle { color:var(--amber); position:absolute; font-family:"Fraunces",serif; opacity:.25; }
.doodle.one { right:14%; top:40%; font-size:140px; transform:rotate(10deg); }.doodle.two { right:30%; bottom:-26px; font-size:100px; }.doodle.three { right:9%; bottom:18%; font-size:82px; transform:rotate(28deg); }
.playroom { max-width:1120px; margin:0 auto 104px; padding:0 22px; display:grid; grid-template-columns:1.04fr .96fr; align-items:center; gap:clamp(35px,8vw,104px); }
.playroom-image-wrap { position:relative; }.playroom-image { width:100%; aspect-ratio:4/4.35; display:block; object-fit:cover; border-radius:26px; box-shadow:0 20px 45px rgba(44,32,14,.15); }.image-note { position:absolute; left:-15px; bottom:27px; color:#fff; background:var(--ink); padding:11px 14px; font-size:10px; font-weight:700; letter-spacing:.16em; line-height:1.45; }
.playroom h2,.moments h2,.menu-banner h2 { margin:0; font-size:clamp(37px,5vw,58px); line-height:1.02; font-weight:600; }.playroom-copy > p:not(.eyebrow) { color:var(--muted); line-height:1.7; font-size:15px; margin:19px 0; }.playroom ul { list-style:none; padding:0; margin:0 0 23px; display:grid; gap:10px; color:#4f514a; font-size:14px; }.playroom li span { color:var(--amber); margin-right:8px; }.text-link { display:inline-flex; align-items:center; gap:9px; font-size:13px; border-bottom:1px solid var(--ink); padding-bottom:3px; font-weight:700; }
.moments { max-width:1120px; margin:0 auto 100px; padding:0 22px; text-align:center; }.moments .eyebrow { margin-bottom:13px; }.moments h2 { font-size:clamp(34px,4.5vw,53px); }.moment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:37px; text-align:left; }.moment-grid article { background:#fffdfa; border:1px solid #eee2cd; padding:26px 23px; border-radius:19px; }.moment-icon { color:var(--amber); font-size:27px; }.moment-grid h3 { margin:15px 0 7px; font-size:23px; }.moment-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.menu-banner { max-width:1176px; min-height:285px; margin:0 auto 35px; padding:45px 30px; color:#fff; text-align:center; background:var(--ink); border-radius:30px; overflow:hidden; position:relative; }.menu-banner:before,.menu-banner:after { content:""; position:absolute; width:280px; height:280px; border:1px solid rgba(242,186,74,.3); border-radius:50%; top:-160px; left:-70px; }.menu-banner:after { left:auto; right:-62px; top:135px; }.banner-star { display:block; color:var(--honey); font-size:23px; margin-bottom:8px; }.menu-banner p { color:#e9b74d; margin:0 0 3px; font-size:11px; letter-spacing:.16em; font-weight:700; }.menu-banner h2 { font-size:44px; position:relative; z-index:1; }.button.light { background:#fff; color:var(--ink); margin-top:21px; position:relative; z-index:1; }
footer { max-width:1176px; margin:auto; padding:21px 2px 30px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; color:var(--muted); font-size:11px; }.footer-brand img { width:29px; height:29px; object-fit:contain; background:#fff; border-radius:9px; }.footer-brand { color:var(--ink); font-size:10px; }.footer-brand span { opacity:.55; }
@media (max-width:760px) { .site-header { height:72px; padding:0 18px; }.brand img { width:36px;height:36px; }.brand { font-size:10px; }.header-cta { font-size:11px; }.hero { margin:0 15px 71px; min-height:485px; padding:52px 25px; border-radius:25px; align-items:flex-start; }.hero h1 { font-size:49px; }.intro { font-size:14px; max-width:280px; }.hero-art { opacity:.72; }.sun { right:-276px; top:-110px; }.doodle.one { font-size:103px; right:-1%; top:50%; }.doodle.two { right:9%; }.playroom { padding:0 18px; grid-template-columns:1fr; gap:43px; margin-bottom:76px; }.playroom-image { aspect-ratio:1/1.08; }.image-note { left:0; }.playroom h2,.moments h2 { font-size:43px; }.moments { margin-bottom:73px; padding:0 18px; text-align:left; }.moment-grid { grid-template-columns:1fr; margin-top:27px; gap:10px; }.moment-grid article { padding:19px; }.moment-grid h3 { margin:8px 0 4px; }.moment-icon { font-size:21px; }.menu-banner { border-radius:24px; margin:0 15px 25px; min-height:275px; padding:43px 22px; }.menu-banner h2 { font-size:40px; } footer { margin:0 18px; padding-bottom:24px; flex-direction:column; gap:12px; } }
