/* Phone compositions are separate from the desktop sections. Desktop never renders this layer. */
.mobile-composition,.hero-secondary{display:none!important}
@media(max-width:1024px){
:root{--mobile-pad:18px}
.reference-demo{background:var(--bg)}
.reference-demo .preview-bar{display:none}
.reference-demo .demo-shell{max-width:none;margin:0;min-width:0;overflow:clip}
.reference-demo .demo-header{height:65px;padding:0 var(--mobile-pad);box-shadow:none}
.reference-demo .demo-logo{font-size:19px;letter-spacing:.04em;max-width:calc(100vw - 105px);overflow:hidden;text-overflow:ellipsis}
.reference-demo .demo-menu{font-size:0;position:relative;width:44px;height:44px;display:grid;place-content:center}
.reference-demo .demo-menu:after{content:'☰';font:24px Arial;line-height:1}
.reference-demo .demo-menu[aria-expanded=true]:after{content:'×';font-size:30px}
.reference-demo main>.demo-hero~:not(.mobile-composition){display:none}
.reference-demo .mobile-composition{display:block!important}
.reference-demo .demo-footer{padding:18px var(--mobile-pad) 22px;font-size:10px;gap:5px}
.reference-demo .demo-footer strong{display:none}
.reference-demo .demo-hero{height:clamp(310px,92vw,440px);min-height:0;align-items:flex-end;position:relative}
.reference-demo .demo-hero .hero-photo{object-fit:cover;object-position:center}
.reference-demo .demo-hero .hero-shade{background:linear-gradient(0deg,#15120fee 0%,#15120f8a 46%,transparent 89%)}
.reference-demo .hero-copy{width:100%;max-width:none;padding:30px var(--mobile-pad) 26px;align-self:end}
.reference-demo .hero-copy .label{font-size:10px;margin-bottom:9px}
.reference-demo .hero-copy h1{font-size:clamp(34px,10vw,48px);line-height:1.02;letter-spacing:-.04em}
.reference-demo .hero-copy p{font-size:13px;margin:12px 0 17px;line-height:1.48;max-width:340px}
.reference-demo .hero-copy .demo-btn{min-height:44px;font-size:12px;padding:10px 15px}
.mobile-composition{font-size:13px;line-height:1.5}
.mobile-composition h2{font-size:clamp(23px,6.3vw,30px);line-height:1.08;margin:0 0 13px}
.mobile-composition h3{font:400 17px/1.15 var(--heading);margin:0 0 3px}
.mobile-composition p{margin:7px 0 13px}
.mobile-paper{padding:28px var(--mobile-pad);background:var(--bg);color:var(--ink)}
.mobile-paper .label,.mobile-dark .label{font-size:9px;letter-spacing:.18em;margin-bottom:10px}
.mobile-list{margin-top:17px}
.mobile-row{display:grid;grid-template-columns:105px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:91px;padding:8px 0;border-bottom:1px solid currentColor;border-color:#7774;text-decoration:none;color:inherit}
.mobile-row:last-child{border-bottom:0}
.mobile-row img{width:105px;height:72px;object-fit:cover}
.mobile-row p{font-size:11px;line-height:1.35;margin:3px 0}
.mobile-chevron{font-size:17px;justify-self:end}
.mobile-icon{width:37px;height:40px;font-size:28px;display:grid;place-content:center;color:var(--accent)}
.mobile-textlink{font-size:11px;text-decoration:none;border-bottom:1px solid currentColor;display:inline-block;margin:5px 0 15px}
.mobile-action{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:10px 16px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;font-size:12px;border:1px solid var(--accent)}
.mobile-action span{font-size:16px;font-weight:400}
.mobile-banner{padding:32px var(--mobile-pad);text-align:center;background:var(--accent);color:var(--accent-ink)}
.mobile-banner .mobile-action{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.mobile-dark{padding:27px var(--mobile-pad);background:var(--panel);color:#fff}
.mobile-dark h2{color:#fff}
.mobile-fixed-cta{position:sticky;bottom:0;z-index:4;background:var(--bg);padding:9px var(--mobile-pad) max(9px,env(safe-area-inset-bottom));box-shadow:0 -5px 15px #0003}
.mobile-fixed-cta .mobile-action{width:100%}
.mobile-fixed-cta.mobile-dual{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-fixed-cta .secondary{background:var(--panel);border-color:var(--panel);color:#fff}
/* B01: pale editorial intro, horizontal treatment rows, numbered process, brown close. */
.beauty .demo-hero{height:345px}.beauty .hero-photo{object-position:57% 35%}.beauty .mobile-row{grid-template-columns:104px 1fr 13px}.beauty .mobile-process{background:#e9dfd4}.beauty .mobile-process ol{list-style:none;padding:0;margin:12px 0 0;counter-reset:none}.beauty .mobile-process li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #bdb0a5;font-size:12px}.beauty .mobile-process li span{width:26px;height:26px;border-radius:50%;background:#d6c0ad;display:grid;place-content:center}.beauty .mobile-process li b{margin-left:auto;font-weight:400}
/* F01: portrait hero, edge-to-edge horizontal lookbook, list, cream about, copper CTA. */
.salon .demo-header{background:#101010;color:#fff}.salon .demo-logo{font-family:Georgia,serif;font-weight:400;letter-spacing:.13em}.salon .demo-hero{height:360px}.salon .hero-photo{object-position:54% 40%}.salon .hero-copy h1{font-family:Georgia,serif;font-size:43px}.salon .mobile-lookstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;background:#121212}.salon .mobile-lookstrip img{width:32%;height:98px;flex:none;object-fit:cover;scroll-snap-align:start}.salon .mobile-dark{background:#161616}.salon .mobile-row{grid-template-columns:70px 1fr 16px}.salon .mobile-row img{width:70px;height:62px}.salon .mobile-row h3{font-family:Georgia,serif}.salon .salon-mobile-about{background:#f3eee6;color:#161616}.salon .demo-footer{background:#151515;color:#fff}
/* BA01: icon trio, filmstrip, image-and-copy shop panel, white schedule. */
.barber .demo-header{background:#111516;color:#fff}.barber .demo-hero{height:286px}.barber .hero-photo{object-position:60% 34%}.barber .hero-copy h1{font-size:36px}.barber .hero-copy p{display:none}.barber .mobile-barber-services{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 10px;background:#171b1b;color:#fff}.barber .mobile-barber-services article{padding:3px 7px;border-right:1px solid #4b4e4b}.barber .mobile-barber-services article:last-child{border:0}.barber .mobile-barber-services article>span{display:block;color:#c54b40;font-size:24px;height:32px}.barber .mobile-barber-services h3{font:700 11px Arial,sans-serif;text-transform:uppercase}.barber .mobile-barber-services p{font-size:10px;margin:3px 0}.barber .mobile-dark{background:#131819}.barber .mobile-lookstrip{display:flex;gap:6px;overflow:auto}.barber .mobile-lookstrip img{width:32%;height:95px;object-fit:cover;flex:none}.barber .mobile-barber-place{background:#181d1d;color:#fff;display:grid;grid-template-columns:43% 1fr;align-items:center}.barber .mobile-barber-place img{height:130px;width:100%;object-fit:cover}.barber .mobile-barber-place>div{padding:12px}.barber .mobile-barber-place h2{font-size:18px}.barber .mobile-paper{background:#f5f1e9;color:#161a1b}.barber .demo-footer{background:#111516;color:#fff}
/* H01: glassy nature hero, inquiry panel overlapping hero, room photo cards, lake. */
.hotel .demo-header{background:#f6f4ee}.hotel .demo-hero{height:360px;color:#1e4031}.hotel .hero-photo{object-position:63% 40%}.hotel .hero-shade{background:linear-gradient(90deg,#fff9e8dd,#fff9e833 80%)}.hotel .hero-copy{align-self:center;color:#17412e;padding-top:30px}.hotel .hero-copy h1{font-size:40px}.hotel .mobile-book{margin:-28px 14px 0;position:relative;background:#fff;color:#213b30;padding:14px;box-shadow:0 10px 20px #2d473625}.hotel .mobile-book>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hotel .mobile-book>div span{padding:8px;border-bottom:1px solid #ddd;font-size:12px}.hotel .mobile-book p{padding:8px;margin:0}.hotel .mobile-book .mobile-action{width:100%}.hotel .mobile-book>small{display:block;text-align:center;font-size:10px;padding-top:7px}.hotel .mobile-rooms .mobile-row{grid-template-columns:40% 1fr;align-items:stretch;border:1px solid #dcded7;margin:14px 0;padding:0;gap:10px}.hotel .mobile-rooms .mobile-row img{width:100%;height:155px}.hotel .mobile-rooms .mobile-row>div{padding:12px 8px 8px 0}.hotel .mobile-rooms .mobile-chevron{display:none}.hotel .mobile-location img{width:100%;height:150px;object-fit:cover}.hotel .mobile-location div{padding:20px var(--mobile-pad)}
/* R01: cream story, dark image-led dishes, cream hours, green contact. */
.restaurant .demo-header{background:#263628;color:#fff}.restaurant .demo-hero{height:315px}.restaurant .hero-photo{object-position:59% 40%}.restaurant .mobile-story{background:#f6f2e9}.restaurant .mobile-dark{background:#263b2d}.restaurant .mobile-row{grid-template-columns:82px 1fr 15px}.restaurant .mobile-row img{width:82px;height:63px}.restaurant .mobile-end{background:#1c3023}.restaurant .demo-footer{background:#f5f1e9}
/* I01: two hero actions, line-drawn list, featured burger and dark details. */
.imbiss .demo-header{background:#fff}.imbiss .demo-hero{height:375px}.imbiss .hero-photo{object-position:66% 50%}.imbiss .hero-copy h1{font-size:42px}.imbiss .hero-copy .demo-btn{display:flex;width:100%;margin:7px 0}.imbiss .hero-copy .hero-secondary{display:flex!important;order:-1;background:#c71928;color:#fff;border-color:#c71928}.imbiss .hero-copy{display:flex;flex-direction:column}.imbiss .hero-copy .label,.imbiss .hero-copy h1,.imbiss .hero-copy p{order:-2}.imbiss .hero-copy .demo-btn:not(.hero-secondary){background:#15110f99;border:1px solid #fff}.imbiss .mobile-menu .mobile-row{grid-template-columns:41px 1fr 18px;min-height:63px}.imbiss .mobile-menu .mobile-row h3{font:700 14px Arial,sans-serif}.imbiss .mobile-feature{background:#fff;box-shadow:0 8px 19px #0002;margin-top:15px}.imbiss .mobile-feature img{height:165px;width:100%;object-fit:cover}.imbiss .mobile-feature div{padding:13px}.imbiss .mobile-feature .label{color:#c71928}.imbiss .mobile-info{background:#1e1713}.imbiss .mobile-info .mobile-action{display:flex;width:100%}
/* C01: icon-only menu rows, yellow story callout, compact hours & contact. */
.cafe .demo-header{background:#faf5eb}.cafe .demo-hero{height:325px}.cafe .hero-photo{object-position:57% 42%}.cafe .hero-copy h1{font-size:36px}.cafe .mobile-cafe-menu .mobile-row{grid-template-columns:40px 1fr 15px}.cafe .mobile-cafe-menu .mobile-row h3{font-size:17px}.cafe .mobile-cafe-note{margin:8px var(--mobile-pad);background:#ffedbe;padding:24px;color:#342517}.cafe .mobile-cafe-note a{font-size:11px;color:inherit}.cafe .mobile-cafe-box{margin:10px var(--mobile-pad);border:1px solid #dfd5c1}.cafe .mobile-cafe-box h2{font-size:21px}.cafe .demo-footer{background:#f3ce78;color:#322318}
/* HW01: six service rows, project image banner, navy/orange bottom inquiry. */
.handwerk .demo-header{background:#f7f6f3}.handwerk .demo-logo{font-size:17px}.handwerk .demo-hero{height:365px}.handwerk .hero-photo{object-position:62% 45%}.handwerk .hero-shade{background:linear-gradient(0deg,#071a2fda,#0a263d0a 82%)}.handwerk .hero-copy h1{font-size:35px}.handwerk .mobile-hw-services .mobile-row{grid-template-columns:37px 1fr 16px;min-height:58px}.handwerk .mobile-hw-services .mobile-row p{display:none}.handwerk .mobile-hw-services .mobile-row h3{font:600 13px Arial,sans-serif}.handwerk .mobile-hw-project{height:170px;position:relative;background:#112b41;color:#fff}.handwerk .mobile-hw-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.handwerk .mobile-hw-project:before{position:absolute;content:'';inset:0;background:linear-gradient(90deg,#0c2539e8,transparent);z-index:1}.handwerk .mobile-hw-project div{position:relative;z-index:2;padding:22px;max-width:65%}.handwerk .mobile-hw-project h2{font-size:22px}.handwerk .mobile-hw-project a{color:#fff}.handwerk .mobile-fixed-cta{background:#f5f3ee}.handwerk .demo-footer{background:#103047;color:#fff}
/* E01: photo/text occasion rows, narrow photo strip, dark/bronze action dock. */
.event .demo-header{background:#f8f5ef}.event .demo-hero{height:335px}.event .hero-photo{object-position:61% 44%}.event .hero-copy h1{font-size:39px}.event .mobile-occasions .mobile-row{grid-template-columns:100px 1fr 13px;min-height:113px}.event .mobile-occasions .mobile-row img{height:95px;width:100px}.event .mobile-room-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4px;padding:18px var(--mobile-pad);background:#eee8de}.event .mobile-room-strip>div{padding-right:8px}.event .mobile-room-strip h2{font-size:19px}.event .mobile-room-strip img{height:95px;width:100%;object-fit:cover}.event .mobile-fixed-cta{background:#f8f5ef}.event .demo-footer{background:#f8f5ef}
/* FT01: compact five-tile training, actual seven-row timetable, image CTA and fixed action. */
.fitness .demo-header{background:#1c292d;color:#fff}.fitness .demo-logo{font-size:17px}.fitness .demo-hero{height:320px}.fitness .hero-photo{object-position:59% 42%}.fitness .hero-copy h1{font-size:35px}.fitness .mobile-ft-types{background:#f2f3f1}.fitness .mobile-ft-types>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.fitness .mobile-ft-types article{background:#e4e7e4;text-align:center;padding:10px 3px;min-height:82px}.fitness .mobile-ft-types article span{display:block;font-size:24px}.fitness .mobile-ft-types article h3{font:600 12px Arial,sans-serif}.fitness .mobile-ft-week{padding-top:8px}.fitness .mobile-ft-week ul{list-style:none;margin:0;padding:0}.fitness .mobile-ft-week li{display:grid;grid-template-columns:33px 1fr 18px;gap:9px;border-bottom:1px solid #d5d8d4;align-items:center;min-height:38px;font-size:12px}.fitness .mobile-ft-week li strong{background:#e8f4bb;text-align:center;padding:9px 0}.fitness .mobile-ft-cta{position:relative;margin:6px var(--mobile-pad) 15px;color:#fff;min-height:135px}.fitness .mobile-ft-cta img{width:100%;height:150px;object-fit:cover}.fitness .mobile-ft-cta:before{content:'';inset:0;position:absolute;background:linear-gradient(90deg,#121b1ee9,transparent)}.fitness .mobile-ft-cta div{position:absolute;top:12px;left:15px;right:30px}.fitness .mobile-ft-cta h2{font-size:22px}.fitness .mobile-ft-cta p{font-size:11px}.fitness .mobile-ft-cta .mobile-action{min-height:35px}.fitness .mobile-ft-fixed{background:#1c292d}.fitness .demo-footer{background:#1c292d;color:#fff}
}
