.template-grid--six { grid-template-columns: repeat(3, 1fr); }
.template-card--food .template-card__window { background:#ee332b; color:#fff6e8; }
.template-card--barber .template-card__window { background:#e8e5df; color:#171815; }
.template-card--shop .template-card__window { background:#c6dbea; color:#15191d; }
.preview-page .back-link { top:auto; bottom:20px; }
.landing { --ink:#171717; --paper:#f2efe8; min-height:100vh; background:var(--paper); color:var(--ink); }
.landing * { box-sizing:border-box; }
.landing h1,.landing h2,.landing h3,.landing p { margin-top:0; }
.landing h1 { font-size:clamp(4rem,9vw,9rem); line-height:.82; letter-spacing:-.085em; }
.landing h2 { margin:0; font-size:clamp(2.6rem,6vw,6rem); line-height:.9; letter-spacing:-.065em; }
.landing em { font-family:Georgia,serif; font-weight:400; }
.landing-nav { position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; padding:24px 4vw; font-size:.68rem; font-weight:800; letter-spacing:.08em; }
.landing-nav b { font-size:1.1rem; line-height:.85; letter-spacing:-.06em; }
.landing-nav nav { display:flex; gap:28px; }
.landing-nav nav a { position:relative; }
.landing-nav nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-4px; height:1px; background:currentColor; transition:right .25s ease; }
.landing-nav nav a:hover::after { right:0; }
.pill,.round-link { display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; border-radius:99px; padding:12px 18px; font-size:.68rem; font-weight:800; letter-spacing:.04em; transition:transform .25s ease,background .25s ease,color .25s ease; }
.pill:hover,.round-link:hover { transform:translateY(-3px); background:var(--ink); color:var(--paper); }
.landing-hero { position:relative; min-height:calc(100vh - 75px); overflow:hidden; padding:12vh 7vw 8vh; }
.landing-hero > p,.landing-hero > div > p { max-width:390px; }
.landing-hero h1 + p,.landing-hero h1 + .round-link { margin-top:28px; }
.kicker { margin:0 0 22px; font-size:.65rem; font-weight:900; letter-spacing:.15em; }
.section { padding:110px 7vw; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:60px; }
.section-heading .kicker { flex:0 0 auto; }
.landing-footer { display:flex; justify-content:space-between; gap:20px; padding:26px 7vw; font-size:.7rem; font-weight:800; letter-spacing:.06em; border-top:1px solid currentColor; }
.hero-enter { opacity:0; transform:translateY(26px); animation:heroIn .8s cubic-bezier(.2,.7,.2,1) forwards; }
.delay-1 { transition-delay:.1s; animation-delay:.1s; }.delay-2{transition-delay:.2s;animation-delay:.2s}.delay-3{transition-delay:.3s;animation-delay:.3s}.delay-4{transition-delay:.4s;animation-delay:.4s}
@keyframes heroIn { to { opacity:1; transform:none; } }
.reveal { opacity:0; transform:translateY(55px); transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.marquee { overflow:hidden; background:#161616; color:#fff; padding:13px 0; font-size:.72rem; font-weight:900; letter-spacing:.11em; white-space:nowrap; }
.marquee div { width:max-content; animation:marquee 18s linear infinite; }
.marquee:hover div { animation-play-state:paused; }
@keyframes marquee { to { transform:translateX(-50%); } }
.restaurant-hero { color:#fff3df; background:#d84c2f; padding-right:48%; }
.restaurant-hero .hero-photo { position:absolute; inset:4% 3% 4% 55%; border-radius:48% 48% 8px 8px; background-size:cover; background-position:center; }
.restaurant-hero .round-link { margin-top:24px; }
.landing--restaurant { --ink:#42261e; --paper:#f4e4c8; }
.restaurant-menu { background:#f4e4c8; }
.dish-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.dish-card { position:relative; padding-bottom:20px; border-bottom:1px solid #a78f70; }
.dish-card > div { aspect-ratio:1; background-size:cover; background-position:center; border-radius:50% 50% 6px 6px; transition:transform .5s ease,border-radius .5s ease; }
.dish-card:hover > div { transform:translateY(-10px) rotate(2deg); border-radius:8px; }
.dish-card span { display:block; margin-top:16px; font:700 .68rem ui-monospace,monospace; }
.dish-card h3 { margin:8px 0; font:400 2rem/1 Georgia,serif; }
.dish-card p { color:#765c4a; font-size:.85rem; }
.split-cta { display:flex; align-items:end; justify-content:space-between; gap:50px; min-height:55vh; padding:100px 7vw; background:#41251d; color:#f6e7cd; }
.split-cta p { max-width:350px; font:400 1.5rem/1.25 Georgia,serif; }
.split-cta strong { font-size:clamp(3rem,7vw,8rem); line-height:.83; text-align:right; letter-spacing:-.07em; }
.landing--delivery { --ink:#080808; --paper:#f0eee8; }
.delivery-hero { display:grid; grid-template-columns:1fr 1.08fr; padding:0; background:#050505; color:#f5f0e7; }
.delivery-photo { min-height:calc(100vh - 75px); background-size:cover; background-position:center; }
.delivery-copy { position:relative; display:flex; flex-direction:column; justify-content:center; padding:7vw; background:#edeae4; color:#090909; }
.delivery-copy h1 { font-size:clamp(4rem,8.2vw,8rem); }
.delivery-copy em { color:#e52c28; font-family:inherit; font-style:normal; }
.stamp { position:absolute; right:6%; top:8%; display:grid; place-items:center; width:95px; aspect-ratio:1; border:2px solid #e52c28; border-radius:50%; color:#e52c28; font-weight:950; text-align:center; transform:rotate(9deg); animation:spin 14s linear infinite; }
@keyframes spin { to { rotate:360deg; } }
.marquee--red { background:#e52c28; }
.food-slider { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; }
.slider-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(270px,36%); gap:14px; overflow:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.food-card { scroll-snap-align:start; border:1px solid #b8b4ad; padding:12px; }
.food-card > div { aspect-ratio:1.1; background-size:cover; background-position:center; filter:saturate(.75); transition:filter .35s,transform .35s; }
.food-card:hover > div { filter:saturate(1.2); transform:scale(.985); }
.food-card small { display:block; margin-top:15px; }.food-card h3{margin:7px 0;font-size:1.7rem}.food-card p{min-height:40px;color:#67625e;font-size:.8rem}.food-card strong{font-size:1.2rem}
.slider-button { border:1px solid currentColor; border-radius:50%; width:42px; aspect-ratio:1; background:transparent; color:inherit; cursor:pointer; }
.metric-strip,.service-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#333; color:#fff; }
.metric-strip div,.service-trust div { min-height:210px; padding:38px; background:#0e0e0e; }
.metric-strip strong,.service-trust strong { display:block; font-size:clamp(3rem,7vw,7rem); letter-spacing:-.08em; }.metric-strip span,.service-trust span{font-size:.72rem;letter-spacing:.05em}
.landing--barber { --ink:#11120f; --paper:#e8e5df; font-family:"Arial Narrow",Impact,sans-serif; }
.barber-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:4vw; padding-top:8vh; }
.barber-photo { min-height:70vh; background-size:cover; background-position:center; filter:grayscale(1) contrast(1.1); }
.barber-process { padding:110px 7vw; border-top:1px solid #999; }
.stage-layout { display:grid; grid-template-columns:220px 1fr; gap:28px; }
.stage-buttons { display:flex; flex-direction:column; }
.stage-buttons button { padding:17px 4px; border:0; border-bottom:1px solid #aaa; background:transparent; color:inherit; text-align:left; text-transform:uppercase; cursor:pointer; opacity:.5; }
.stage-buttons button.active { opacity:1; font-weight:900; transform:translateX(8px); }
.stage-visual { display:grid; grid-template-columns:1fr 280px; align-items:end; gap:25px; }
.stage-visual > div { min-height:460px; background-size:cover; background-position:center; filter:grayscale(1); opacity:1; transform:translateX(0); transition:opacity .26s,transform .26s; }
.stage-visual > div.changing { opacity:0; transform:translateX(35px); }.stage-visual p{font-family:Inter,sans-serif;font-size:1rem;line-height:1.4}
.barber-services { padding:90px 7vw; background:#10110f; color:#eae7df; }
.barber-services a { display:grid; grid-template-columns:60px 1fr auto; align-items:center; padding:22px 0; border-top:1px solid #53534f; font-size:clamp(1.7rem,5vw,5rem); letter-spacing:-.05em; }.barber-services a span{font-size:.7rem}.barber-services a b{font-size:.8rem;letter-spacing:0}
.landing--shop { --ink:#151515; --paper:#f4f3ef; }
.marquee--thin { padding:8px 0; }
.shop-hero { padding:0; min-height:calc(100vh - 104px); }
.shop-slide { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:end; padding:8vh 8vw; background-size:cover; background-position:center; opacity:0; transform:scale(1.04); transition:opacity .7s,transform 1.2s; }
.shop-slide::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.56),transparent 65%); }.shop-slide > *{position:relative;color:#fff}.shop-slide.active{opacity:1;transform:scale(1)}
.shop-dots { position:absolute; z-index:2; bottom:25px; right:6%; display:flex; gap:8px; }.shop-dots button{width:45px;height:4px;border:0;background:#ffffff66;cursor:pointer}.shop-dots button.active{background:#fff}
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.product-card div{position:relative;aspect-ratio:.78;background-size:cover;background-position:center;overflow:hidden}.product-card div::after{content:"";position:absolute;inset:0;background:#0000;transition:background .3s}.product-card div span{position:absolute;z-index:1;left:14px;right:14px;bottom:-45px;padding:14px;background:#fff;text-align:center;font-size:.7rem;font-weight:900;transition:bottom .3s}.product-card:hover div::after{background:#0003}.product-card:hover div span{bottom:14px}.product-card h3{margin:12px 0 5px}.product-card p{font-size:.8rem}
.landing--service { --ink:#162b27; --paper:#edf0e8; }.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;background:#173e37;color:#eaf4de}.service-photo{min-height:68vh;background-size:cover;background-position:center;border-radius:160px 160px 8px 8px}.service-copy h1{font-size:clamp(3.8rem,7vw,7rem)}.service-copy .round-link{margin-top:25px}.service-trust{background:#aebcb4}.service-trust div{background:#e8ede5;color:#183d37}.service-list{padding:110px 7vw}.service-list>a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;padding:26px 0;border-top:1px solid #99aaa0}.service-list>a span{font-size:.7rem}.service-list>a strong{font-size:clamp(1.5rem,4vw,4rem);letter-spacing:-.05em}.service-list>a i{font-style:normal;font-size:1.4rem;transition:transform .25s}.service-list>a:hover i{transform:translate(6px,-6px)}.quote-slider{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;min-height:380px;padding:70px 10vw;background:#173e37;color:#eaf4de}.quote-slider button{width:45px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit}.quote-slider blockquote{margin:0;font:400 clamp(1.7rem,4vw,4rem)/1.05 Georgia,serif;text-align:center;transition:opacity .22s,transform .22s}.quote-slider blockquote.changing{opacity:0;transform:translateX(25px)}.quote-slider cite{display:block;margin-top:25px;font:700 .7rem Inter,sans-serif;letter-spacing:.06em}
.landing--portfolio { --ink:#ee2d2d; --paper:#f8e4e1; }.portfolio-loader{position:fixed;z-index:20;inset:0;display:flex;align-items:end;justify-content:space-between;padding:30px;background:#ef2f2e;color:#fae6df;font-size:clamp(2rem,7vw,7rem);font-weight:900;letter-spacing:-.07em;transition:transform .8s cubic-bezier(.7,0,.2,1)}.portfolio-loader.done{transform:translateY(-105%)}.portfolio-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center}.portfolio-hero h1{color:#ee2d2d}.card-ring{position:relative;min-height:470px;perspective:900px;animation:ringFloat 4s ease-in-out infinite}.card-ring i{position:absolute;left:50%;top:50%;width:42%;aspect-ratio:.78;background-size:cover;background-position:center;transform:translate(-50%,-50%) rotateY(0deg)}.card-ring i:nth-child(2){transform:translate(-82%,-45%) rotateY(35deg) rotate(-8deg)}.card-ring i:nth-child(3){transform:translate(-18%,-45%) rotateY(-35deg) rotate(8deg)}@keyframes ringFloat{50%{transform:translateY(-12px) rotate(1deg)}}.portfolio-projects{padding:110px 7vw;background:#f8e4e1}.project{display:grid;grid-template-columns:55px 1fr minmax(220px,38%);align-items:center;gap:20px;padding:18px 0;border-top:1px solid #e7a7a4}.project strong{font-size:clamp(1.6rem,4vw,4rem);letter-spacing:-.06em}.project i{display:block;height:160px;background-size:cover;background-position:center;transform:scale(.8) rotate(-3deg);opacity:.65;transition:transform .4s,opacity .4s}.project:hover i{transform:scale(1) rotate(2deg);opacity:1}.portfolio-about{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:100px 7vw;background:#ee2d2d;color:#fae6df}.portfolio-about>p{font-size:clamp(2rem,5vw,5rem);line-height:.95;letter-spacing:-.06em}.portfolio-about div{display:flex;flex-wrap:wrap;align-content:center;gap:8px}.portfolio-about span{border:1px solid currentColor;border-radius:99px;padding:13px 17px}.social-links{padding:80px 7vw}.social-links a{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid #e7a7a4;font-size:clamp(1.7rem,4vw,4rem);letter-spacing:-.05em}.social-links a span{transition:transform .25s}.social-links a:hover span{transform:translate(6px,-6px)}
@media (max-width:900px){.template-grid--six{grid-template-columns:repeat(2,1fr)}.landing-nav nav{display:none}.landing-hero{min-height:auto;padding:125px 22px 65px}.restaurant-hero{padding-right:22px;padding-bottom:370px}.restaurant-hero .hero-photo{inset:auto 22px 20px 22px;height:320px}.dish-grid,.product-grid{grid-template-columns:1fr}.split-cta{align-items:start;flex-direction:column;min-height:0;padding:70px 22px}.split-cta strong{text-align:left}.delivery-hero,.barber-hero,.service-hero,.portfolio-hero{grid-template-columns:1fr}.delivery-photo{min-height:55vh;order:2}.delivery-copy{min-height:72vh;padding:110px 22px 55px}.stamp{top:22px}.stage-layout{grid-template-columns:1fr}.stage-buttons{display:grid;grid-template-columns:repeat(4,1fr)}.stage-buttons button{font-size:.58rem}.stage-visual{grid-template-columns:1fr}.stage-visual>div{min-height:390px}.barber-photo,.service-photo{min-height:55vh}.metric-strip,.service-trust{grid-template-columns:1fr}.metric-strip div,.service-trust div{min-height:150px}.slider-track{grid-auto-columns:82%}.section{padding:75px 22px}.section-heading{align-items:start;flex-direction:column;margin-bottom:35px}.shop-hero{min-height:75vh;padding:0}.portfolio-about{grid-template-columns:1fr;padding:70px 22px}.portfolio-projects,.service-list,.barber-process{padding:75px 22px}.project{grid-template-columns:35px 1fr}.project i{grid-column:2;height:220px}.quote-slider{padding:55px 22px;gap:12px}.landing-footer{padding:22px;font-size:.62rem}.food-slider{grid-template-columns:1fr}.slider-button{display:none}.portfolio-loader{padding:20px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
