:root{color-scheme:light;font-family:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a{color:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.concept-bar{display:flex;min-height:42px;align-items:center;justify-content:center;gap:12px;padding:8px 18px;background:#111;color:#fff;font-size:12px;letter-spacing:.04em;text-align:center}.concept-bar a{font-weight:800;text-underline-offset:3px}.reveal{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px clamp(20px,6vw,84px);font-size:14px}.preview-footer p{max-width:650px;margin:0}.preview-footer a{font-weight:800;text-underline-offset:4px}:focus-visible{outline:3px solid currentColor;outline-offset:4px}

/* Restaurant: warm, tactile editorial dining guide. */
.restaurant{--ink:#271c15;--cream:#f4ead8;--tomato:#b84c2e;--sage:#536447;--line:#cdbda5;background:var(--cream);color:var(--ink);font-family:"Trebuchet MS",Arial,sans-serif}.restaurant .site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px clamp(20px,5vw,72px);border-bottom:1px solid var(--line)}.restaurant .wordmark{font:700 29px/1 Georgia,serif;text-decoration:none}.restaurant .nav-links{display:flex;align-items:center;gap:24px}.restaurant .nav-links a{text-decoration:none;font-weight:700}.restaurant .nav-cta,.restaurant .primary-link{display:inline-flex;min-height:48px;align-items:center;padding:11px 18px;background:var(--tomato);color:#fff;text-decoration:none;font-weight:800}.restaurant .hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:650px}.restaurant .hero-media{position:relative;min-height:560px}.restaurant .hero-media img{width:100%;height:100%;object-fit:cover}.restaurant .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,7vw,100px);background:var(--sage);color:#fff}.restaurant .kicker{margin:0 0 16px;color:#f1d39f;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.restaurant h1,.restaurant h2,.restaurant h3{font-family:Georgia,serif}.restaurant h1{max-width:620px;margin:0;font-size:clamp(52px,7vw,92px);line-height:.93;letter-spacing:-.045em}.restaurant .hero-copy>p:not(.kicker){max-width:560px;font-size:19px;line-height:1.55}.restaurant .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.restaurant .text-link{display:inline-flex;min-height:48px;align-items:center;color:#fff;font-weight:800;text-underline-offset:5px}.restaurant .restaurant-info{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.restaurant .restaurant-info div{padding:22px clamp(20px,4vw,54px);border-right:1px solid var(--line)}.restaurant .restaurant-info div:last-child{border:0}.restaurant .restaurant-info span{display:block;margin-bottom:5px;color:var(--tomato);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.restaurant .menu-section,.restaurant .booking-section,.restaurant .visit-section{padding:clamp(58px,8vw,108px) clamp(20px,6vw,84px)}.restaurant .section-intro{display:grid;grid-template-columns:1.15fr .75fr;gap:34px;align-items:end;margin-bottom:34px}.restaurant .section-intro h2{max-width:760px;margin:0;font-size:clamp(42px,6vw,76px);line-height:.98}.restaurant .section-intro p{margin:0;font-size:18px;line-height:1.55}.restaurant .menu-tabs,.hair .service-tabs,.beauty .treatment-tabs,.coffee .menu-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.restaurant .menu-tabs button{min-height:44px;padding:9px 16px;border:1px solid var(--ink);background:transparent;font-weight:800}.restaurant .menu-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.restaurant .menu-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:#fff7e8;border:1px solid var(--line)}.restaurant .menu-panel img{width:100%;height:100%;min-height:420px;object-fit:cover}.restaurant .dish-list{padding:clamp(28px,5vw,58px)}.restaurant .dish{display:grid;grid-template-columns:1fr auto;gap:8px;padding:18px 0;border-bottom:1px solid var(--line)}.restaurant .dish h3,.restaurant .dish p{margin:0}.restaurant .dish h3{font-size:25px}.restaurant .dish p{grid-column:1/-1;color:#695c4e}.restaurant .booking-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;background:#2d392c;color:#fff}.restaurant .booking-section h2{margin:0 0 16px;font-size:clamp(42px,6vw,72px);line-height:1}.restaurant .booking-section>div>p{font-size:18px;line-height:1.6}.restaurant .booking-demo{padding:26px;background:#f4ead8;color:var(--ink)}.restaurant .booking-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.restaurant .booking-demo label{display:grid;gap:7px;font-weight:800}.restaurant .booking-demo select,.restaurant .booking-demo input{width:100%;min-height:48px;padding:9px;border:1px solid #8f806e;background:#fff}.restaurant .booking-result{min-height:24px;margin:18px 0;color:#4c5e3d;font-weight:800}.restaurant .booking-demo button{min-height:50px;border:0;padding:11px 18px;background:var(--tomato);color:#fff;font-weight:900}.restaurant .visit-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.restaurant .visit-section img{aspect-ratio:16/10;width:100%;object-fit:cover}.restaurant .visit-section h2{margin:0;font-size:clamp(40px,5vw,68px)}.restaurant .visit-section p{font-size:18px;line-height:1.6}.restaurant .preview-footer{background:#271c15;color:#fff}

/* Hair: bright, editorial appointment magazine. */
.hair{--charcoal:#211f1d;--bone:#eee9df;--peach:#e6a269;--blue:#315b64;--line:#bdb6aa;background:var(--bone);color:var(--charcoal);font-family:Arial,sans-serif}.hair .site-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px clamp(18px,5vw,70px)}.hair .wordmark{font:700 26px/1.1 Georgia,serif;text-decoration:none;text-align:center}.hair .nav-note{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hair .nav-links{display:flex;justify-content:flex-end;gap:20px}.hair .nav-links a{font-weight:800;text-decoration:none}.hair .hero{display:grid;grid-template-columns:.78fr 1.22fr;min-height:650px;border-block:1px solid var(--line)}.hair .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,6vw,88px)}.hair .eyebrow{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hair h1,.hair h2{font-family:Georgia,serif}.hair h1{margin:12px 0 20px;font-size:clamp(52px,7vw,96px);line-height:.9;letter-spacing:-.04em}.hair .hero-copy p{font-size:19px;line-height:1.55}.hair .hero-copy a,.hair .booking-card button{display:inline-flex;width:max-content;min-height:50px;align-items:center;padding:12px 20px;border:0;background:var(--blue);color:#fff;text-decoration:none;font-weight:900}.hair .hero-media{position:relative}.hair .hero-media img{width:100%;height:100%;object-fit:cover}.hair .hero-caption{position:absolute;right:20px;bottom:20px;padding:12px;background:var(--bone);font-weight:800}.hair .services,.hair .stylists,.hair .booking{padding:clamp(58px,8vw,105px) clamp(20px,6vw,84px)}.hair .section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.hair .section-heading h2{max-width:760px;margin:0;font-size:clamp(42px,6vw,76px);line-height:.95}.hair .section-heading p{max-width:480px;margin:0;font-size:18px;line-height:1.55}.hair .service-tabs button{min-height:45px;padding:10px 18px;border:1px solid var(--charcoal);border-radius:999px;background:transparent;font-weight:900}.hair .service-tabs button[aria-selected=true]{background:var(--peach)}.hair .service-layout{display:grid;grid-template-columns:1fr .85fr;gap:28px}.hair .service-copy{padding:clamp(26px,5vw,58px);background:#fff}.hair .service-copy h3{margin:0 0 12px;font:700 38px/1 Georgia,serif}.hair .service-copy ul{padding:0;list-style:none}.hair .service-copy li{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.hair .service-layout img{width:100%;height:100%;min-height:440px;object-fit:cover}.hair .stylists{background:var(--charcoal);color:#fff}.hair .stylist-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.hair .stylist-grid img{width:100%;height:100%;max-height:620px;object-fit:cover}.hair .stylist-note{display:flex;flex-direction:column;justify-content:space-between;padding:36px;background:var(--blue)}.hair .stylist-note h3{margin:0;font:700 48px/.95 Georgia,serif}.hair .stylist-note p{font-size:18px;line-height:1.6}.hair .booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.hair .booking h2{margin:0;font-size:clamp(42px,6vw,74px);line-height:.95}.hair .booking-card{padding:26px;background:#fff}.hair .booking-card fieldset{margin:0 0 22px;padding:0;border:0}.hair .booking-card legend{margin-bottom:12px;font-weight:900}.hair .choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hair .choice-grid button{min-height:46px;border:1px solid var(--line);background:var(--bone);color:var(--charcoal);padding:9px}.hair .choice-grid button[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}.hair .appointment-summary{min-height:52px;margin:18px 0;padding:14px;background:#edf4f4}.hair .preview-footer{background:var(--peach)}

/* Beauty: calm consultation-first treatment studio. */
.beauty{--plum:#472d3b;--rose:#d7a6a2;--blush:#f3e6e1;--ivory:#fffaf3;--ink:#33282e;--line:#d1c1bd;background:var(--ivory);color:var(--ink);font-family:Arial,sans-serif}.beauty .site-nav{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,5vw,72px);border-bottom:1px solid var(--line)}.beauty .wordmark{font:italic 700 28px/1 Georgia,serif;text-decoration:none}.beauty .nav-links{display:flex;align-items:center;gap:22px}.beauty .nav-links a{text-decoration:none;font-weight:800}.beauty .nav-cta,.beauty .consult-submit{min-height:48px;padding:11px 18px;border:0;border-radius:999px;background:var(--plum);color:#fff;font-weight:900;text-decoration:none}.beauty .hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;padding:22px}.beauty .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,7vw,96px);background:var(--blush);border-radius:36px 0 0 36px}.beauty .hero-media img{width:100%;height:100%;object-fit:cover;border-radius:0 36px 36px 0}.beauty .eyebrow{color:#8c4f61;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.beauty h1,.beauty h2,.beauty h3{font-family:Georgia,serif}.beauty h1{margin:14px 0;font-size:clamp(52px,7vw,92px);line-height:.92;letter-spacing:-.04em}.beauty .hero-copy p{max-width:580px;font-size:19px;line-height:1.55}.beauty .hero-copy a{display:inline-flex;width:max-content;min-height:48px;align-items:center;padding:11px 18px;border-radius:999px;background:var(--plum);color:#fff;font-weight:900;text-decoration:none}.beauty .treatments,.beauty .care,.beauty .consult{padding:clamp(58px,8vw,105px) clamp(20px,6vw,84px)}.beauty .section-heading{max-width:820px;margin-bottom:34px}.beauty .section-heading h2{margin:0;font-size:clamp(42px,6vw,76px);line-height:.98}.beauty .section-heading p{font-size:18px;line-height:1.6}.beauty .treatment-tabs button{min-height:45px;padding:10px 17px;border:1px solid var(--plum);border-radius:999px;background:transparent;font-weight:900}.beauty .treatment-tabs button[aria-selected=true]{background:var(--plum);color:#fff}.beauty .treatment-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px}.beauty .treatment-layout img{width:100%;height:100%;min-height:470px;object-fit:cover;border-radius:30px}.beauty .treatment-list{display:grid;gap:10px}.beauty .treatment-card{border:1px solid var(--line);border-radius:22px;background:var(--blush);overflow:hidden}.beauty .treatment-card>button{display:grid;width:100%;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:20px;border:0;background:transparent;text-align:left}.beauty .treatment-card h3,.beauty .treatment-card p{margin:0}.beauty .treatment-card h3{font-size:26px}.beauty .treatment-card p{margin-top:7px;color:#6d5b63}.beauty .treatment-detail{display:none;padding:0 20px 20px;line-height:1.55}.beauty .treatment-card.open .treatment-detail{display:block}.beauty .care{display:grid;grid-template-columns:1fr .85fr;gap:35px;align-items:center;background:var(--plum);color:#fff}.beauty .care img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px}.beauty .care h2{margin:0;font-size:clamp(42px,6vw,72px)}.beauty .care p{font-size:18px;line-height:1.6}.beauty .consult{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px}.beauty .consult h2{margin:0;font-size:clamp(42px,6vw,72px);line-height:1}.beauty .consult-form{padding:28px;border:1px solid var(--line);border-radius:28px;background:var(--blush)}.beauty .consult-form label{display:grid;gap:7px;margin-bottom:15px;font-weight:800}.beauty .consult-form input,.beauty .consult-form select,.beauty .consult-form textarea{width:100%;min-height:48px;padding:10px;border:1px solid #967e89;background:#fff}.beauty .consult-form textarea{min-height:100px}.beauty .consult-result{min-height:24px}.beauty .preview-footer{background:var(--rose)}

/* Coffee: fast, modular, product-led visit and collection page. */
.coffee{--espresso:#2b211b;--cream:#f7edda;--orange:#e66a2c;--olive:#52634a;--yellow:#f1c54a;--line:#b9aa91;background:var(--cream);color:var(--espresso);font-family:"Trebuchet MS",Arial,sans-serif}.coffee .site-nav{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,5vw,70px);background:var(--yellow);border-bottom:3px solid var(--espresso)}.coffee .wordmark{font:900 28px/1 Arial,sans-serif;text-decoration:none;text-transform:uppercase}.coffee .nav-links{display:flex;align-items:center;gap:18px}.coffee .nav-links a{text-decoration:none;font-weight:900}.coffee .nav-cta{padding:12px 17px;border:2px solid var(--espresso);background:var(--espresso);color:#fff}.coffee .hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.coffee .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,96px);background:var(--orange);color:#20150f}.coffee .eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.coffee h1,.coffee h2,.coffee h3{font-family:Arial,sans-serif}.coffee h1{margin:12px 0 20px;font-size:clamp(56px,8vw,106px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase}.coffee .hero-copy p{font-size:20px;line-height:1.5}.coffee .mode-switch{display:flex;gap:8px;margin-top:20px}.coffee .mode-switch button{min-height:48px;padding:10px 17px;border:2px solid var(--espresso);background:transparent;font-weight:900}.coffee .mode-switch button[aria-pressed=true]{background:var(--espresso);color:#fff}.coffee .hero-media img{width:100%;height:100%;object-fit:cover}.coffee .status-strip{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px;background:var(--olive);color:#fff;font-weight:900}.coffee .status-strip i{width:10px;height:10px;border-radius:50%;background:#cdea73}.coffee .menu,.coffee .story,.coffee .order{padding:clamp(58px,8vw,100px) clamp(20px,6vw,84px)}.coffee .section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.coffee .section-heading h2{max-width:780px;margin:0;font-size:clamp(46px,7vw,86px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase}.coffee .section-heading p{max-width:460px;font-size:18px;line-height:1.55}.coffee .menu-tabs button{min-height:45px;padding:10px 17px;border:2px solid var(--espresso);background:transparent;font-weight:900}.coffee .menu-tabs button[aria-selected=true]{background:var(--yellow)}.coffee .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.coffee .product{padding:18px;border:2px solid var(--espresso);background:#fff8e8}.coffee .product:nth-child(2){background:#e6eddc}.coffee .product h3{margin:0;font-size:27px}.coffee .product p{min-height:48px}.coffee .product strong{font-size:20px}.coffee .story{display:grid;grid-template-columns:1.1fr .9fr;gap:0;padding-block:0}.coffee .story img{width:100%;height:100%;min-height:520px;object-fit:cover}.coffee .story-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6vw,78px);background:var(--olive);color:#fff}.coffee .story-copy h2{margin:0;font-size:clamp(46px,7vw,84px);line-height:.9;text-transform:uppercase}.coffee .story-copy p{font-size:18px;line-height:1.6}.coffee .order{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.coffee .order h2{margin:0;font-size:clamp(46px,7vw,80px);line-height:.9;text-transform:uppercase}.coffee .order-demo{padding:26px;border:2px solid var(--espresso);background:#fff8e8}.coffee .time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.coffee .time-grid button{min-height:46px;border:2px solid var(--espresso);background:transparent;font-weight:900}.coffee .time-grid button[aria-pressed=true]{background:var(--orange)}.coffee .order-result{min-height:26px;margin:18px 0;font-weight:900}.coffee .order-demo a{display:inline-flex;min-height:50px;align-items:center;padding:11px 18px;background:var(--espresso);color:#fff;text-decoration:none;font-weight:900}.coffee .preview-footer{background:var(--yellow);border-top:3px solid var(--espresso)}

@media(max-width:820px){.reveal{opacity:1;transform:none}.restaurant .site-nav,.hair .site-nav,.beauty .site-nav,.coffee .site-nav{min-height:70px}.restaurant .nav-links a:not(.nav-cta),.hair .nav-note,.hair .nav-links a:not(:last-child),.beauty .nav-links a:not(.nav-cta),.coffee .nav-links a:not(.nav-cta){display:none}.hair .site-nav{grid-template-columns:1fr auto}.hair .wordmark{text-align:left;grid-column:1}.restaurant .hero,.hair .hero,.beauty .hero,.coffee .hero{grid-template-columns:1fr}.restaurant .hero-media,.hair .hero-media,.beauty .hero-media,.coffee .hero-media{min-height:58vw;order:0}.restaurant .hero-copy,.hair .hero-copy,.beauty .hero-copy,.coffee .hero-copy{order:1}.beauty .hero{padding:0}.beauty .hero-copy,.beauty .hero-media img{border-radius:0}.beauty .hero-copy,.beauty .hero-media{min-width:0}.beauty h1{overflow-wrap:anywhere}.restaurant .restaurant-info{grid-template-columns:1fr}.restaurant .restaurant-info div{border-right:0;border-bottom:1px solid var(--line)}.restaurant .section-intro,.hair .section-heading,.beauty .treatment-layout,.coffee .section-heading{display:grid;grid-template-columns:1fr}.restaurant .menu-panel,.restaurant .booking-section,.restaurant .visit-section,.hair .service-layout,.hair .stylist-grid,.hair .booking,.beauty .care,.beauty .consult,.coffee .story,.coffee .order{grid-template-columns:1fr}.restaurant .menu-panel img,.hair .service-layout img,.beauty .treatment-layout img{min-height:70vw}.restaurant .booking-row{grid-template-columns:1fr}.hair .choice-grid{grid-template-columns:repeat(2,1fr)}.beauty .treatment-layout img{order:-1}.coffee .product-grid{display:flex;margin-inline:-20px;padding:0 20px 12px;overflow-x:auto;scroll-snap-type:x mandatory}.coffee .product{flex:0 0 82vw;scroll-snap-align:start}.coffee .story{width:100%;margin:0;padding-inline:0;overflow:hidden}.coffee .story>*{min-width:0;width:100%}.coffee .time-grid{grid-template-columns:repeat(2,1fr)}.preview-footer{align-items:flex-start;flex-direction:column}.preview-footer a{min-height:44px;display:inline-flex;align-items:center}}
@media(max-width:430px){.concept-bar{font-size:11px}.restaurant h1,.hair h1,.beauty h1,.coffee h1{font-size:clamp(48px,15vw,66px)}.restaurant .hero-copy,.hair .hero-copy,.beauty .hero-copy,.coffee .hero-copy{padding:44px 20px}.restaurant .hero-actions{display:grid}.restaurant .hero-actions a,.hair .hero-copy a,.beauty .hero-copy a{width:100%;justify-content:center}.restaurant .dish-list{padding:24px 18px}.restaurant .dish h3{font-size:22px}.hair .section-heading,.coffee .section-heading{align-items:start}.hair .service-copy{padding:24px 18px}.hair .booking-card,.beauty .consult-form,.coffee .order-demo{padding:20px 16px}.beauty .hero-media,.coffee .hero-media{min-height:78vw}.beauty .treatment-card h3{font-size:23px}.coffee .mode-switch{display:grid;grid-template-columns:1fr 1fr}.coffee .story img{min-height:75vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
