:root{--tomato:#b3352b;--cream:#fdf6e9;--basil:#3f6b35;--char:#26221e;--sand:#f3e3c2}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--cream);color:var(--char);font-family:'Open Sans',sans-serif;line-height:1.6}
header{background:var(--cream);padding:26px 6vw 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.brand{font-family:'Bree Serif',serif;font-size:1.9rem;color:var(--tomato);line-height:1}
.brand small{display:block;font-family:'Open Sans',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--basil);margin-top:6px;font-weight:700}
nav a{color:var(--char);text-decoration:none;margin-left:26px;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
nav a:hover{color:var(--tomato)}
.checker{height:22px;background:repeating-conic-gradient(var(--tomato) 0% 25%,#fff 0% 50%) 0 0/22px 22px;border-top:3px solid var(--tomato);border-bottom:3px solid var(--tomato)}
.hero{padding:64px 6vw 54px;text-align:center;max-width:860px;margin:0 auto}
.kicker{color:var(--basil);font-weight:700;letter-spacing:.24em;text-transform:uppercase;font-size:.78rem}
.hero h1{font-family:'Bree Serif',serif;font-weight:400;font-size:3.6rem;line-height:1.08;margin-top:14px;color:var(--char)}
.hero h1 span{color:var(--tomato)}
.hero p{margin:18px auto 0;max-width:560px;font-size:1.06rem}
.btn{display:inline-block;margin-top:28px;background:var(--tomato);color:#fff;text-decoration:none;font-weight:700;padding:15px 30px;border-radius:999px;box-shadow:0 4px 0 #7f231c;letter-spacing:.04em}
.btn:hover{background:#c23e33}
.sizes{margin:34px auto 0;background:#fff;border:2px solid var(--sand);border-radius:12px;padding:14px 20px;display:inline-block;font-weight:700;color:var(--basil)}
.menu{padding:64px 6vw;background:#fff;border-top:1px solid #eee0bd;border-bottom:1px solid #eee0bd}
.menu h2,.story h2,.reviews h2,.visit h2{font-family:'Bree Serif',serif;font-weight:400}
.menu h2{text-align:center;font-size:2.2rem;color:var(--tomato)}
.menu .sub{text-align:center;color:#6b6257;margin:8px auto 40px;max-width:520px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:1080px;margin:0 auto}
.col h3{font-family:'Bree Serif',serif;font-weight:400;color:var(--basil);font-size:1.25rem;border-bottom:3px solid var(--sand);padding-bottom:10px;margin-bottom:16px}
.item{padding:12px 0;border-bottom:1px dashed #e2d2a8}
.item:last-child{border-bottom:0}
.item h4{display:flex;justify-content:space-between;gap:12px;font-size:1rem}
.item h4 span{color:var(--tomato);white-space:nowrap}
.item p{font-size:.92rem;color:#5d564d;margin-top:4px}
.story{padding:72px 6vw;max-width:1080px;margin:0 auto}
.story h2{font-size:2rem;color:var(--tomato);text-align:center;margin-bottom:14px}
.story .lead{text-align:center;max-width:680px;margin:0 auto;color:#4a443c;font-size:1.05rem}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.frame{background:#fff;padding:10px 10px 14px;border:1px solid #e8dcc0;box-shadow:0 6px 18px rgba(38,34,30,.08);transform:rotate(-1deg)}
.frame:nth-child(2){transform:rotate(1.2deg)}
.frame:nth-child(3){transform:rotate(-.6deg)}
.scene{height:150px;border-radius:4px;position:relative;overflow:hidden}
.s1{background:linear-gradient(180deg,#f7c873 0 55%,#b3352b 55% 100%)}
.s1::after{content:"";position:absolute;left:18%;right:18%;bottom:22px;height:44px;background:#fdf6e9;border-radius:50% 50% 8px 8px;border:3px solid var(--char)}
.s2{background:linear-gradient(180deg,#a8c686 0 60%,#3f6b35 60%)}
.s2::after{content:"";position:absolute;left:50%;top:28px;width:54px;height:54px;margin-left:-27px;background:radial-gradient(circle at 35% 35%,#e05a4a,#8e231c);border-radius:50%}
.s3{background:linear-gradient(135deg,#26221e,#5a4632)}
.s3::after{content:"EST. 1982";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sand);font-family:'Bree Serif',serif;letter-spacing:.2em;font-size:.9rem}
.frame figcaption{font-size:.85rem;text-align:center;padding-top:10px;color:#6b6257;font-style:italic}
.reviews{padding:66px 6vw;background:var(--basil);color:#fff}
.reviews h2{text-align:center;font-size:2rem;margin-bottom:36px}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1050px;margin:0 auto}
.card{background:var(--cream);color:var(--char);border-radius:14px;padding:26px 22px}
.stars{color:var(--tomato);letter-spacing:.2em;margin-bottom:10px}
.card p{font-size:.96rem}
.card cite{display:block;margin-top:14px;font-style:normal;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--basil)}
.visit{padding:68px 6vw;text-align:center}
.visit h2{font-size:2rem;color:var(--tomato)}
.vgrid{display:flex;justify-content:center;gap:64px;flex-wrap:wrap;margin-top:32px}
.vgrid h4{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--basil);margin-bottom:10px}
.vgrid p{font-size:.98rem}
footer{background:var(--char);color:#d8cbb0;text-align:center;padding:24px 6vw;font-size:.85rem;letter-spacing:.06em}
@media(max-width:820px){.cols,.photos,.rgrid{grid-template-columns:1fr}.hero h1{font-size:2.5rem}nav{display:none}header{justify-content:center;text-align:center}.brand small{text-align:center}}
