/* ALFORD FORMA V3 — Editorial demo family. Designed to be independent of main site CSS. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;600;700;800&display=swap');
:root{font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;background:var(--bg);color:var(--ink);min-width:280px}body[data-theme=barber]{--bg:#111b1a;--paper:#1b2926;--ink:#f3ebdd;--muted:#b2b3a8;--accent:#cba776;--line:#53625c;--surface:#23332e;--heroHeight:670px}body[data-theme=beauty]{--bg:#faf5ef;--paper:#fffaf7;--ink:#382c31;--muted:#866e77;--accent:#bb637b;--line:#e9d8dc;--surface:#f5e8ec;--heroHeight:650px}body[data-theme=cleaning]{--bg:#eff8f4;--paper:#ffffff;--ink:#143c38;--muted:#54716c;--accent:#167a69;--line:#cfe1dc;--surface:#dbf0e9;--heroHeight:650px}body[data-theme=cafe]{--bg:#f3e8d5;--paper:#fff9ef;--ink:#34251f;--muted:#806e60;--accent:#a65938;--line:#dbcab2;--surface:#ede0ca;--heroHeight:670px}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.wrap{width:min(1240px,calc(100% - 72px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:#fff;color:#000;padding:8px}.skip:focus{top:12px}
.ribbon{background:#4665d6;color:white;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px max(36px,calc((100% - 1240px)/2));font-size:10px;letter-spacing:.12em;font-weight:800}.ribbon a{white-space:nowrap;border-bottom:1px solid #fff9}.site-nav{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:24px 0;position:relative;z-index:20}.studio-mark{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.035em;font-size:24px}.studio-mark small{display:block;font-size:9px;letter-spacing:.22em;font-weight:700;margin-top:1px;color:var(--muted)}.mark-icon{display:grid;place-items:center;border:1px solid var(--accent);color:var(--accent);border-radius:999px;width:42px;height:42px;font-size:20px}.nav-links{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:700}.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent)}.nav-right{display:flex;align-items:center;gap:13px}.lang-nav{display:flex;gap:4px;background:var(--surface);border-radius:99px;padding:4px}.lang-nav a{font-size:11px;font-weight:800;padding:7px 9px;border-radius:40px}.lang-nav a[aria-current=page]{background:var(--accent);color:#fff}.nav-cta,.pill,.solid-btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:14px 20px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--accent);background:var(--accent);color:#fff;transition:transform .2s ease,filter .2s ease}.nav-cta:hover,.pill:hover,.solid-btn:hover{transform:translateY(-3px);filter:brightness(1.08)}.nav-toggle{display:none;border:1px solid var(--line);padding:10px;border-radius:10px;background:transparent;color:var(--ink)}
.hero{min-height:var(--heroHeight);display:grid;grid-template-columns:.91fr 1.09fr;gap:35px;align-items:center;padding:35px 0 86px}.hero-content{padding:25px 0}.eyebrow,.kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--accent)}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent)}.hero h1,.section-head h2,.about h2,.cta h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(65px,6.6vw,116px);font-weight:400;letter-spacing:-.065em;line-height:.95;margin:26px 0}.hero h1 em,.section-head h2 em,.about h2 em,.cta h2 em{color:var(--accent);font-weight:400}.hero-intro{font-size:16px;line-height:1.8;color:var(--muted);max-width:460px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:35px}.link-btn{font-size:12px;font-weight:800;border-bottom:1px solid var(--accent);padding:10px 0}.hero-visual{position:relative;min-height:550px;isolation:isolate}.hero-photo{height:520px;width:90%;margin-left:auto;object-fit:cover;box-shadow:0 25px 70px #0002;border-radius:0 130px 0 0;filter:saturate(.94)}.hero-photo-wrap{position:relative}.hero-photo-wrap:before{content:'';position:absolute;inset:-18px 35px 15px 0;border:1px solid var(--accent);border-radius:0 140px 0 0;z-index:-1}.hero-stamp{position:absolute;left:0;bottom:40px;background:var(--paper);color:var(--ink);padding:26px 24px;border:1px solid var(--line);width:235px;box-shadow:0 14px 40px #0002}.hero-stamp span{font-size:10px;letter-spacing:.17em;color:var(--accent);font-weight:800}.hero-stamp strong{display:block;font-size:25px;font-family:'DM Serif Display',Georgia,serif;font-weight:400;margin-top:12px;line-height:1.1}.hero-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0 40px;font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:800}
body[data-theme=cleaning] .hero-photo{border-radius:24px 24px 170px 24px}body[data-theme=cleaning] .hero-photo-wrap:before{border-radius:24px 24px 170px 24px}body[data-theme=cafe] .hero-photo{border-radius:47% 47% 10px 10px}body[data-theme=cafe] .hero-photo-wrap:before{border-radius:48% 48% 10px 10px}body[data-theme=beauty] .hero-photo{border-radius:260px 260px 0 0}body[data-theme=beauty] .hero-photo-wrap:before{border-radius:260px 260px 0 0}
.section{padding:95px 0}.section.soft{background:var(--paper)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head h2,.about h2,.cta h2{font-size:clamp(48px,5vw,78px);margin:16px 0 0}.section-head p{color:var(--muted);line-height:1.7;font-size:14px;max-width:375px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service{background:var(--surface);border:1px solid var(--line);padding:30px;min-height:248px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .24s ease,box-shadow .24s ease}.service:hover{transform:translateY(-5px);box-shadow:0 18px 40px #0002}.service .n{color:var(--accent);letter-spacing:.12em;font-weight:800;font-size:11px}.service h3{font-size:26px;line-height:1.13;letter-spacing:-.05em;margin:30px 0 10px}.service p{line-height:1.6;font-size:13px;color:var(--muted);margin:0}.service-bottom{margin-top:auto;padding-top:29px;display:flex;justify-content:space-between;align-items:center;width:100%}.service-bottom strong{font-size:16px}.service .service-button{border:0;border-bottom:1px solid var(--accent);color:var(--accent);background:transparent;padding:8px 0;font-size:11px;font-weight:800}
.photo-grid{display:grid;grid-template-columns:1.23fr .77fr;gap:16px}.photo-grid .main-img img{height:490px}.photo-grid .small-img{display:grid;gap:16px;grid-template-rows:1fr 1fr}.photo-grid .small-img img{height:237px}.photo-grid img{width:100%;object-fit:cover;background:var(--surface)}.photo-credit{font-size:11px;color:var(--muted);margin-top:15px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:100px 0}.about-photo{height:530px;width:100%;object-fit:cover;border-radius:0 100px 0 0}.about p{line-height:1.85;font-size:16px;color:var(--muted);max-width:520px}.hours-panel{border-top:1px solid var(--line);padding:32px 0 52px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.hours-panel h2{font-family:'DM Serif Display',Georgia,serif;font-size:42px;font-weight:400;line-height:1;margin:18px 0}.hours-panel .hours-list{display:grid;align-content:center;gap:16px}.hours-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;font-weight:700}.hours-panel .hours-note{font-size:11px;color:var(--muted)}.cta{padding:115px 0;text-align:center;background:var(--surface)}.cta h2{margin:15px 0}.cta p{color:var(--muted);line-height:1.8;max-width:570px;margin:18px auto 30px}.footer{padding:25px 0;display:flex;justify-content:space-between;gap:15px;align-items:center;color:var(--muted);font-size:11px}.footer b{color:var(--ink)}
/* interactive controls: cleaning estimate and café menu */
.demo-extra{border:1px solid var(--line);border-radius:17px;padding:28px;background:var(--paper);margin-top:22px}.extra-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.extra-head h3{font-size:26px;letter-spacing:-.05em;margin:0}.extra-head p{color:var(--muted);font-size:12px;margin:5px 0}.quote-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end;margin-top:22px}.quote-form label{display:grid;gap:10px;font-size:12px;font-weight:700}.quote-form select{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:13px;border-radius:9px}.quote-result{border-radius:10px;background:var(--surface);padding:16px;color:var(--ink)}.quote-result span{display:block;font-size:10px;letter-spacing:.08em}.quote-result strong{font-size:30px}.menu-switch{display:inline-flex;gap:6px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px}.menu-switch button{border:0;background:transparent;padding:12px 20px;border-radius:999px;color:var(--ink);font-size:13px;font-weight:800}.menu-switch button[aria-pressed=true]{background:var(--accent);color:#fff}.menu-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.menu-item{padding:18px;border:1px solid var(--line);background:var(--bg)}.menu-item b{display:block;font-size:16px}.menu-item span{color:var(--accent);display:block;margin-top:10px;font-weight:800}.demo-modal[hidden]{display:none}.demo-modal{position:fixed;inset:0;z-index:200;background:#101319C9;display:grid;place-items:center;padding:24px}.modal-card{background:var(--paper);color:var(--ink);width:min(440px,100%);padding:38px;box-shadow:0 25px 100px #0007}.modal-card h3{font-family:'DM Serif Display';font-weight:400;font-size:35px;line-height:1.1;margin:10px 0}.modal-card p{color:var(--muted);line-height:1.7}.modal-card button{background:var(--accent);border:0;color:white;padding:14px 22px;cursor:pointer;margin-top:15px}.modal-card .modal-selected{color:var(--accent);font-weight:800;font-size:12px}.concept-banner{display:inline-block;background:var(--surface);padding:8px 12px;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--accent)}
@media(max-width:980px){.wrap{width:calc(100% - 44px)}.hero{grid-template-columns:1fr;gap:20px;min-height:0;padding-top:20px}.hero-visual{min-height:430px}.hero-photo{height:430px;width:90%}.hero-stamp{bottom:25px}.nav-links{gap:14px}.nav-cta{display:none}.hero h1{max-width:800px}.photo-grid .main-img img{height:410px}.photo-grid .small-img img{height:197px}.about{gap:35px}}
@media(max-width:680px){.wrap{width:calc(100% - 34px)}.ribbon{padding:11px 17px;font-size:9px;line-height:1.45;letter-spacing:.06em}.ribbon>span{max-width:58%}.site-nav{padding:16px 0}.studio-mark{font-size:20px}.studio-mark small{font-size:8px}.mark-icon{width:36px;height:36px}.nav-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);padding:20px;border:1px solid var(--line);flex-direction:column;align-items:stretch;z-index:40;box-shadow:0 18px 45px #0002}.nav-links.is-open{display:flex}.hero h1{font-size:clamp(58px,13vw,80px)}.hero{padding:35px 0 38px}.hero-intro{font-size:15px}.hero-visual{min-height:370px}.hero-photo{height:365px;width:94%}.hero-photo-wrap:before{inset:-9px 14px 10px 0}.hero-stamp{width:190px;padding:16px;bottom:15px}.hero-stamp strong{font-size:19px}.hero-foot{padding-bottom:25px}.section{padding:68px 0}.section-head{display:block}.section-head h2{font-size:clamp(44px,10vw,62px)}.services{grid-template-columns:1fr}.service{min-height:205px}.service h3{margin-top:18px}.photo-grid{grid-template-columns:1fr}.photo-grid .main-img img{height:310px}.photo-grid .small-img{grid-template-columns:1fr 1fr;grid-template-rows:auto}.photo-grid .small-img img{height:180px}.about{grid-template-columns:1fr;padding:65px 0}.about-photo{height:340px}.hours-panel{grid-template-columns:1fr;gap:10px}.cta{padding:70px 0}.footer{flex-direction:column;align-items:flex-start}.quote-form{grid-template-columns:1fr}.menu-items{grid-template-columns:1fr}.nav-right{gap:7px}.nav-cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
