
:root{--bg:#f7f4ed;--card:#fff;--ink:#292622;--accent:#aa8065;--line:color-mix(in srgb,var(--ink) 16%,transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.wrap{width:min(1140px,90%);margin:auto}.eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--accent)}.serif{font-family:Georgia,"Yu Mincho",serif;letter-spacing:.045em}h1,h2,h3,p{margin-top:0}h1{line-height:1.12}h2{font-size:clamp(1.75rem,3.5vw,3.6rem);line-height:1.25;margin-bottom:18px}.muted{opacity:.68}.section{padding:85px 0;scroll-margin-top:78px}.section-head{margin-bottom:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--accent);border-radius:3px;padding:12px 21px;background:var(--accent);color:var(--bg);font-weight:700;font-size:.9rem}.button.secondary{background:transparent;color:var(--ink)}.button:hover{filter:brightness(1.08)}.photo{object-fit:cover;display:block;width:100%;height:100%;min-height:0}.panel{background:var(--card)}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px}.split .media{height:430px;overflow:hidden}.site-head{display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:20px;position:relative;z-index:10}.site-head .brand{font-size:1.06rem;font-weight:800;letter-spacing:.12em}.nav{display:flex;gap:21px;align-items:center;font-size:.78rem;letter-spacing:.08em}.nav a:hover{color:var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 12px;border-radius:3px}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.style-card{overflow:hidden;background:var(--card)}.style-card img{aspect-ratio:4/4;object-fit:cover;width:100%;display:block}.style-card .inner{padding:18px}.style-card h3{margin:4px 0}.text-list{border-top:1px solid var(--line)}.text-list .entry{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.text-list time{min-width:100px;color:var(--accent);font-size:.82rem}.price-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:15px}.price-row strong{white-space:nowrap}.foot{padding:45px 0;border-top:1px solid var(--line);font-size:.84rem}.foot .grid{align-items:start}.catalog-head{padding:80px 0 45px}.catalog-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 80px}.catalog-card{display:block;background:var(--card);border:1px solid var(--line);transition:transform .2s}.catalog-card:hover{transform:translateY(-5px)}.catalog-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.catalog-card div{padding:20px}.catalog-card h2{font-size:1.55rem;margin:6px 0}.palette-trigger{position:fixed;bottom:22px;right:22px;z-index:70;border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:0 7px 32px #0003;border-radius:40px;padding:13px 20px;font-weight:700}.palette-panel{position:fixed;right:22px;bottom:82px;z-index:70;background:var(--card);color:var(--ink);box-shadow:0 12px 60px #0003;border:1px solid var(--line);border-radius:14px;padding:18px;width:min(340px,calc(100vw - 30px));display:none}.palette-panel.active{display:block}.swatch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.swatch{border:1px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;text-align:left;font-size:.82rem}.swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.dot{width:26px;height:26px;border-radius:50%;border:1px solid #aaa6;flex:0 0 auto}.modal{position:fixed;inset:0;background:#0009;z-index:90;display:none;align-items:center;justify-content:center;padding:18px}.modal.active{display:flex}.dialog{background:var(--card);color:var(--ink);border-radius:8px;max-width:620px;width:100%;max-height:90vh;overflow:auto}.dialog img{width:100%;height:260px;object-fit:cover}.dialog-content{padding:25px}.close{float:right;border:1px solid var(--line);background:transparent;color:var(--ink);padding:5px 10px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter-row button{background:transparent;border:1px solid var(--line);padding:8px 16px;color:var(--ink);border-radius:20px}.filter-row button.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.hidden{display:none!important}
/* Standard */ .standard-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:560px}.standard-hero .visual{height:560px}.standard-hero .copy{display:flex;justify-content:center;flex-direction:column;padding:55px 9%}.standard-hero h1{font-size:clamp(2.8rem,5.3vw,6.2rem)}.standard .info-block{padding:30px;border:1px solid var(--line)}.standard .booking{background:var(--card);padding:40px;text-align:center}
/* Editorial */.editorial{font-family:Georgia,"Yu Mincho",serif}.editorial .site-head,.editorial .tag,.editorial .button{font-family:Arial,"Hiragino Kaku Gothic ProN",sans-serif}.editorial-hero{position:relative;height:min(770px,88svh);min-height:480px;overflow:hidden}.editorial-hero .photo{position:absolute;inset:0;filter:brightness(.60)}.editorial-hero .hero-copy{position:absolute;left:8%;bottom:9%;color:#fff;max-width:710px}.editorial-hero h1{font-size:clamp(3.7rem,8vw,9rem);font-weight:400}.editorial .offset-images{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}.editorial .offset-images img:first-child{width:100%;height:490px;object-fit:cover}.editorial .offset-images img:last-child{width:100%;height:310px;object-fit:cover;margin-top:110px}.editorial .editorial-intro{font-size:clamp(1.4rem,3vw,2.6rem);line-height:1.7;max-width:900px}.editorial .style-card{background:transparent}.editorial .style-card .inner{padding-left:0}.editorial .booking{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:90px 15px}
/* Interactive */.interactive{--side:235px}.interactive .shell{padding-left:var(--side)}.interactive .sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--side);background:var(--card);border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;gap:38px}.interactive .sidebar nav{display:flex;flex-direction:column;gap:15px;font-size:.82rem;letter-spacing:.08em}.interactive .sidebar a:hover{color:var(--accent)}.interactive .site-head{display:none}.interactive .intro-hero{position:relative;height:650px}.interactive .intro-hero img{filter:brightness(.55)}.interactive .intro-hero .copy{position:absolute;bottom:55px;left:6%;right:6%;color:#fff}.interactive .intro-hero h1{font-size:clamp(3rem,7vw,7rem)}.interactive .dashboard{display:grid;grid-template-columns:1fr 1fr;gap:26px}.interactive .dashboard .box{padding:32px;background:var(--card)}.interactive .style-card{cursor:pointer}.interactive .style-card:hover img{filter:saturate(1.25)}
@media(max-width:850px){.split,.standard-hero,.interactive .dashboard,.editorial .offset-images{grid-template-columns:1fr}.standard-hero .visual{height:390px}.standard-hero .copy{padding:45px 5%}.standard-hero h1{font-size:3.5rem}.editorial .offset-images img:last-child{margin-top:0;height:260px}.editorial .offset-images img:first-child{height:350px}.interactive .shell{padding-left:0}.interactive .sidebar{display:none}.interactive .site-head{display:flex}.interactive .intro-hero{height:520px}.catalog-cards{grid-template-columns:1fr 1fr}}@media(max-width:640px){.site-head{padding:14px 5%}.menu-toggle{display:block}.site-head .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);padding:22px 5%;box-shadow:0 20px 30px #0002;flex-direction:column;align-items:flex-start}.site-head .nav.active{display:flex}.section{padding:60px 0}.grid.three,.grid.two,.catalog-cards{grid-template-columns:1fr}.standard-hero .visual{height:315px}.standard-hero .copy{padding:35px 5%}.standard-hero h1{font-size:2.8rem}.editorial-hero{min-height:590px}.editorial-hero h1{font-size:3.6rem}.editorial-hero .hero-copy{left:6%;right:6%}.interactive .intro-hero{height:530px}.interactive .intro-hero h1{font-size:3.4rem}.text-list .entry{gap:12px}.text-list time{min-width:73px}.palette-trigger{right:12px;bottom:12px}.palette-panel{right:12px;bottom:69px}.split .media{height:330px}.editorial .offset-images img:first-child{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Snack bar-specific treatment */
:root{--bg:#f9f4ee;--card:#fffaf4;--ink:#352a27;--accent:#9f6653}
.standard-hero .visual img{object-position:center}.editorial-hero .photo{filter:brightness(.48)}
.snack-photo{width:100%;height:100%;object-fit:cover;display:block}.mama-portrait{aspect-ratio:4/5;object-fit:cover;width:100%;max-height:560px}
.mama-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}.mama-panel img{border-radius:2px}
.events-list{border-top:1px solid var(--line)}.event-row{padding:19px 0;display:flex;gap:30px;align-items:baseline;border-bottom:1px solid var(--line)}.event-row time{font-size:.9rem;color:var(--accent);min-width:105px}.event-row strong{font-weight:550}
.section-title{font-family:Georgia,'Yu Mincho',serif}.editorial .look-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.editorial .look-grid img{width:100%;height:410px;object-fit:cover}.editorial .look-grid img:last-child{height:300px;margin-top:110px}
.snack-tip{font-size:.8rem;opacity:.75}.tagline{max-width:580px;line-height:2}
.interactive .intro-hero .photo{filter:brightness(.48)}
.interactive .event-card{border:1px solid var(--line);padding:22px;background:var(--card);cursor:pointer;text-align:left;color:var(--ink);width:100%}.event-card:hover{border-color:var(--accent)}.event-card time{color:var(--accent);font-size:.82rem}.event-card strong{display:block;font-size:1.1rem;margin:6px 0}.event-card .tag{display:inline-block}
.demo-notice{font-size:.76rem;opacity:.7;margin-top:22px}
@media(max-width:850px){.mama-panel{grid-template-columns:1fr;gap:22px}.editorial .look-grid img{height:260px!important;margin-top:0!important}}
@media(max-width:640px){.event-row{gap:12px}.event-row time{min-width:78px}.editorial .look-grid{grid-template-columns:1fr}.editorial .look-grid img{height:260px}.mama-panel img{max-height:420px}}
