/* Shared touch and small-screen layout for all public and owner pages. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:1.5rem}body{overflow-wrap:break-word}main,section,article,figure,header,footer,nav,.controls,.preview,.workspace,.step,.contact-details,.map-frame,.city-copy>*{min-width:0}input,select,textarea,video,iframe{max-width:100%}img,video{vertical-align:middle}.button,button,input[type=submit],.navcta{touch-action:manipulation}.menu-toggle{display:none}.story-heading h1,.admin-page h1{letter-spacing:-.035em}.story-signature .button{white-space:normal;text-align:center}.footer-links a{display:inline-flex;align-items:center;min-height:44px}.accessible-file{font-size:1rem}.note,.extras .note,.previewbottom p,.studio-hours .note{font-size:.875rem;line-height:1.65}.admin-page input,.admin-page select,.admin-page button{font-size:1rem}.admin-page #access-help{font-size:.875rem}.floating-wa{max-width:calc(100vw - 2rem)}
@media(max-width:1100px){header nav{font-size:1rem}header nav a{min-height:44px;display:inline-flex;align-items:center}header .logobrand img{width:96px;height:88px}header .logobrand small{font-size:.75rem;letter-spacing:2px}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.controls{padding:1.5rem}.preview{padding:1.25rem}}
@media(max-width:880px){
body header{gap:.75rem;min-height:0;flex-wrap:wrap;padding:12px max(5vw,env(safe-area-inset-left)) 12px max(5vw,env(safe-area-inset-right))}header .logobrand{gap:8px;flex:1;min-width:0}header .logobrand img{width:78px;height:76px}header .logobrand small{font-size:.6875rem;letter-spacing:1.5px;max-width:82px}header .navcta{padding:10px 12px;min-height:44px;font-size:.9375rem;margin-left:auto}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid #786348;background:#14120f;color:#ead6b6;font-size:1rem;padding:10px 14px;min-height:44px;border-radius:5px}header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;max-width:100%;order:4;flex-basis:100%;overflow:visible;white-space:normal;padding:12px 0 0;border-top:1px solid #514535;justify-content:stretch}.menu-enhanced header nav{display:none}.menu-enhanced header nav.menu-open{display:grid}header nav a{min-height:48px;padding:10px 12px;justify-content:flex-start;border-radius:4px;line-height:1.35}header nav a[aria-current=page]{border:1px solid #786348;background:#211b13;padding:10px 12px}.workspace{grid-template-columns:1fr}.preview{border-left:0;border-top:1px solid #514535}.studio-grid,.story-layout,.story-intro{grid-template-columns:minmax(0,1fr);gap:2rem}.studio-grid>div{max-width:none}.story-layout figure{position:static;max-width:480px;margin:auto}.story-layout article{max-width:none}.story-intro img{max-height:500px}.contact-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.map-frame iframe{height:320px}.timer-story{gap:2rem}.city-copy .intro{font-size:1rem}.admin-page header>a:last-child{min-height:44px;display:flex;align-items:center}}
@media(max-width:600px){
body{padding-bottom:calc(90px + env(safe-area-inset-bottom));font-size:1rem}h1,h2,h3{overflow-wrap:break-word}section:not(.hero){padding:2.5rem 6%}.extras{padding:2.5rem 6%}.sectionhead{display:block;margin-bottom:2rem}.sectionhead h2,.contact h2,.studio-grid h2,.extras h2{font-size:clamp(2rem,8.5vw,3rem);line-height:1.15;letter-spacing:-.035em}.sectionhead>p,.section-lead,.intro,.extras p,.contact-details p,.studio p{font-size:1rem;line-height:1.7}.eyebrow,.city-copy .eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:1.5px}.hero-city .hero-copy.city-copy{padding:1.5rem 6%;gap:1.5rem}.city-copy h1{font-size:clamp(1.9rem,7.8vw,2.7rem);letter-spacing:-.025em}.hero-city .hero-actions{display:grid;grid-template-columns:1fr}.hero-city .hero-actions .button{width:100%;font-size:1rem}.button{min-height:48px;font-size:1rem;white-space:normal;text-align:center;padding:12px 16px;line-height:1.4}.opening-duo{display:grid;grid-template-columns:1fr;padding:1.5rem 6%;gap:1.25rem}.opening-card{grid-template-columns:minmax(0,1fr);min-height:0}.opening-card .opening-image{height:auto;max-height:320px}.opening-card .opening-image img{height:260px;object-fit:contain}.opening-card>div{padding:1.5rem}.opening-card h2{font-size:1.8rem}.opening-card .eyebrow{font-size:.75rem}.opening-card p:not(.eyebrow){font-size:1rem}.opening-card .button{font-size:1rem}.featured-grid{grid-template-columns:1fr;gap:1.25rem}.feature-card{height:300px}.feature-card img{object-fit:contain}.feature-card span{font-size:1.25rem}.featured h2{font-size:2rem;line-height:1.15}.feature-cta{gap:1rem}.feature-cta p{font-size:1.4rem}.feature-cta .button{width:100%}.controls,.preview{padding:1.25rem}.controls .step>label,.previewbottom>label,#style-label{font-size:1rem}.controls input:not([type=range]),.controls select,.controls textarea{font-size:1rem;min-height:48px;min-width:0}.controls .choices button,.portfolio-tools button{font-size:1rem;min-height:44px;padding:10px 14px}.controls>.button{width:100%}.controls>#save{font-size:1rem;min-height:48px}.step{margin-bottom:1.5rem}.rangeends,.previewtop{font-size:.875rem;letter-spacing:0}.previewtop{flex-wrap:wrap;gap:.5rem}.study{height:clamp(220px,50vh,360px)}.previewbottom p{font-size:.875rem}.upload{min-height:48px;display:flex;align-items:center;font-size:1rem}.accessible-file{width:100%;min-width:0}.accessible-file::file-selector-button{min-height:44px;font:inherit;margin-right:.5rem;max-width:100%}input[type=range]{min-height:44px;margin:8px 0;touch-action:pan-y}input[type=range]::-webkit-slider-thumb{min-width:24px;min-height:24px}input[type=range]::-moz-range-thumb{width:24px;height:24px}.portfolio-tools{gap:8px;margin-bottom:1.5rem}.gallery{grid-template-columns:1fr;gap:1.5rem}.gallery .caption strong{font-size:1.2rem}.gallery .caption>span{font-size:.875rem;letter-spacing:.5px}.idea-grid,.guide-grid,.extra-split,.care-grid,.process-grid,.gift-history,.gift-current,.timer-story,.studio-room-grid,.studio-history-grid,.owner-media{grid-template-columns:1fr}.studio-history-grid>div{grid-column:auto}.idea-card img{height:300px;object-fit:contain}.idea-card>div,.guide-grid article,.care-grid article{padding:1.25rem}.care-grid,.process-grid{gap:1.25rem}.extras summary{font-size:1rem;min-height:48px;line-height:1.5;padding:10px 0}.guide-grid summary{font-size:1rem}.extras details{padding:10px 0}.tariff-grid{gap:1rem}.tariff-grid article>span{font-size:.75rem;letter-spacing:1px}.tariff-grid p{font-size:1rem}.tariff-grid article>strong{font-size:2rem}.deposit-policy,.booking-rule{padding:1.25rem}.deposit-grid h4{font-size:1.4rem}.deposit-grid p{font-size:1rem}.timer-story figure{width:100%;max-width:360px}.timer-story figcaption,.studio-photos figcaption{font-size:.875rem;line-height:1.6}.time-examples span{font-size:1rem;flex:1;min-width:130px}.gift-event-details{grid-template-columns:1fr}.contact-phone{font-size:clamp(1.5rem,7vw,2rem);min-height:48px}.contact-buttons .button,.review-actions .button{width:100%}.textbutton{font-size:1rem;min-height:44px;line-height:1.5;padding:10px 0}.story-page main{padding:1rem 6% 2rem}.story-heading h1{font-size:clamp(2rem,8vw,3rem);letter-spacing:-.025em}.story-layout article{font-size:1rem;line-height:1.8}.story-layout article>p:first-child{font-size:1.25rem}.story-heading{padding:1.5rem 0 2rem}.story-intro{margin:2rem 0}.story-intro h3{font-size:2rem}.owner-media img,.owner-media video{height:auto;max-height:440px}.owner-media figcaption{font-size:1rem}.map-frame iframe{height:300px}.map-frame>a{padding:1rem;font-size:1rem}.home-story{padding:2rem 6%}.home-story h2{font-size:2rem;letter-spacing:-.025em}footer{padding:2rem 6%;align-items:flex-start;flex-direction:column}.footer-links{justify-content:flex-start;gap:4px 18px;font-size:1rem}.floating-wa{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;padding:12px 16px;font-size:.9375rem}#lightbox{width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:12px}dialog>img{max-width:100%;width:auto;max-height:calc(100dvh - 180px);margin-top:12px}.lightbox-nav{flex-wrap:wrap;gap:8px}.lightbox-nav button,dialog #close{font-size:.875rem;min-height:44px}.lightbox-nav span{font-size:.875rem}.admin-page main{padding:1.5rem 6% 2rem}.admin-page section{padding:1.5rem 0}.admin-page h1{font-size:2rem}.admin-page #upload-form{padding:1rem}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-toolbar .button{width:100%}.admin-page form .button{width:100%;justify-self:stretch}.admin-page input[type=file]{padding:10px;font-size:1rem}.admin-page input[type=file]::file-selector-button{display:block;margin-bottom:10px;min-height:44px;font:inherit}.admin-page #preview img,.admin-page #preview video{width:100%;height:auto;max-height:300px}.admin-media{grid-template-columns:1fr}.admin-media img,.admin-media video{height:auto;max-height:360px}.admin-media .button{width:100%}}
@media(max-width:380px){header .logobrand img{width:64px;height:64px}header .logobrand small{font-size:.625rem;max-width:68px}.menu-toggle{padding:10px;font-size:.9375rem}header .navcta{font-size:.875rem;padding:10px}.tariff-grid{grid-template-columns:1fr}.opening-card>div{padding:1.25rem}.opening-card h2{font-size:1.65rem}.page-breadcrumb{font-size:.875rem!important}}
@media(hover:none){.work:hover .crop img,.feature-card:hover img{transform:none}.button:hover{background:inherit;color:inherit}}
@media(max-height:500px) and (orientation:landscape){#lightbox{max-height:94dvh}dialog>img{max-height:calc(100dvh - 140px)}.floating-wa{font-size:.875rem;padding:8px 12px}.study{height:240px}}

@media(max-width:880px){.menu-toggle{display:none}.menu-enhanced .menu-toggle{display:inline-flex}}.dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dimensions>div{min-width:0}.dimensions input{width:100%;min-width:0}@media(max-width:600px){.dimensions input{padding:12px;background:#171718;border:1px solid #786348;color:#eeece7}.dimensions label{display:block;margin-bottom:8px}}
