/* Every rule is behind a frozen phone classification, never a width-only switch. */
.phone-mode{scroll-padding-top:0;background:#171912}
.phone-mode body.phone{overflow:visible;background:#171912}
.phone .stage,.phone #intro-ui,.phone #snow,.phone #progress,.phone #still-mode,.phone #media-notice,.phone #review-toggle,.phone #review,.phone #replay{display:none!important}
.phone header{position:sticky;top:0;z-index:8;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:#171b15f7;box-shadow:0 1px 0 #c4a77940}
.phone header::after{display:none}
.phone header .brand{font:22px/1.2 Georgia,serif;letter-spacing:.4px;white-space:nowrap;flex:1}
.phone header .call{margin:0;padding:9px 10px;font:12px/1.2 Arial;min-height:36px;display:grid;place-items:center;border:1px solid #c4a77990}
.phone #phone-menu-toggle{font-size:12px;min-height:36px;padding:8px 0;background:none}
.phone header nav{position:absolute;top:100%;left:0;right:0;margin:0;width:100%;padding:14px 20px;background:#171b15;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #c4a77960}
.phone header nav button{font-size:12px;min-height:44px}
.phone #journey{height:auto;min-height:0;margin:0}
.phone .panel,.phone .chapter,.phone #work,.phone #contact{position:relative;inset:auto;width:100%;max-width:none;height:auto;max-height:none;min-height:0;margin:0;padding:0 20px 52px;display:flex;flex-direction:column;gap:0;overflow:visible;overscroll-behavior:auto;pointer-events:auto;transform:none;filter:none;opacity:1;scroll-margin-top:calc(var(--header-clearance,80px) + 8px);background:none}
.phone .panel>*{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;flex-shrink:0}
.phone .panel .phone-room{width:calc(100% + 40px)!important;margin:0 -20px 28px;overflow:hidden;aspect-ratio:4/3;background:#292419;isolation:isolate;order:-1;max-width:none}
.phone .phone-room>img,.phone .phone-room>canvas{display:block;position:absolute;max-width:none;height:auto;pointer-events:none}
.phone #hero .phone-room{aspect-ratio:16/10;max-height:390px}
.phone .phone-room-hero>img:not(.phone-sign){width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.phone .phone-room-hero>.phone-sign{width:112px;height:42px;object-fit:cover;object-position:center;left:16px;top:16px;transform:rotate(-3deg);filter:drop-shadow(0 3px 5px #0008)}
.phone .phone-room-work>img{width:213.333%;left:-72.222%;top:0}
.phone .phone-room-services>img{width:150%;left:0;top:-5%}
.phone #contact .phone-room{aspect-ratio:1;max-width:500px!important;align-self:center}
.phone #phone-office{width:295.3846%;left:-138.4615%;top:-6.1538%;height:auto}
.phone #phone-office-status{padding:30px;font-size:14px}
.phone #phone-office-status button{padding:12px;background:#d3bd98;color:#171b15}
.phone .panel>.eyebrow,.phone .work-story>.eyebrow,.phone .reviews>.eyebrow{font-size:10px;letter-spacing:1.8px;line-height:1.6;margin:0 0 15px;color:#e0bd86}
.phone .hero h1{font-size:clamp(34px,8.8vw,44px);line-height:1.1;letter-spacing:-1.4px;margin:0 0 22px}
.phone .hero .support{font-size:14px;line-height:1.7;margin:0 0 24px}
.phone .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}
.phone .hero-actions button{font-size:13px;min-height:46px;padding:12px 16px}
.phone .hero .scroll-cue{font-size:10px;letter-spacing:.8px;margin:24px 0 0;line-height:1.6}
.phone #work .work-story,.phone #work .reviews,.phone #work .gallery-zone{position:relative;inset:auto;width:100%;max-width:none;margin:0;padding:0;background:none}
.phone #work .work-story{order:0}
.phone #work .work-story h2{font-size:40px;line-height:1.08;letter-spacing:-1.3px;margin:0 0 18px}
.phone #work .work-story h2 br{display:none}
.phone #work .work-story .editorial{font-size:19px;line-height:1.5;margin:0 0 28px}
.phone #work .gallery-zone{order:1;margin:0 0 40px}
.phone #work #fan{height:auto;aspect-ratio:4/5;max-height:530px;width:100%;margin:0 0 16px;touch-action:pan-y}
.phone #work .photo-card{display:none;inset:0;width:100%;height:100%;padding:0;transform:none!important;background:transparent;border:0;box-shadow:none}
.phone #work .photo-card.active{display:block}
.phone #work .photo-card img{object-fit:contain;width:100%;height:100%;filter:none}
.phone #work .photo-card span{display:none}
.phone #work #photo-caption{font-size:16px;line-height:1.4;margin:16px 0 8px}
.phone #work .reviews{order:2;border-top:1px solid #c4a77950;padding-top:26px}
.phone #work .review-grid{display:grid;grid-template-columns:1fr;gap:22px;border:0;padding:0}
.phone #work .review-grid p{font-size:17px;line-height:1.6;text-shadow:none}
.phone #work .review-grid small{font-size:12px;flex-wrap:wrap}
.phone #work .chapter-actions{margin-top:24px;gap:20px;flex-wrap:wrap}
.phone .services .service-heading,.phone .services .service-list,.phone .about,.phone #enquiry,.phone .contact-bottom{position:relative;inset:auto;width:100%;max-width:none;max-height:none;overflow:visible;margin:0;padding:0;border:0;box-shadow:none;backdrop-filter:none;background:none}
.phone .services .service-heading h2{font-size:40px;line-height:1.1}
.phone .services .service-heading h2 br{display:none}
.phone .service-cards{gap:12px;margin:24px 0 36px}
.phone .service-cards button{font-size:21px;line-height:1.3;min-height:72px;padding:16px}
.phone .services .service-list h3{font-size:33px;line-height:1.15}
.phone .service-steps{gap:25px;margin-bottom:24px}
.phone .service-steps h4{font-size:23px}.phone .service-steps p{font-size:14px}
.phone .service-list .solid{font-size:18px;min-height:48px;width:100%}
.phone .service-continue{align-self:flex-start;margin-top:18px}
.phone .about h2{font-size:40px}.phone .about h2 br{display:none}
.phone .about .editorial{font-size:21px}
.phone .about>p:not(.eyebrow):not(.editorial){font-size:15px;line-height:1.75}
.phone .contact-lines a{font-size:14px}.phone .contact-lines a:first-child{font-size:27px}
.phone .contact-lines p{font-size:14px}
.phone #enquiry{margin-top:34px;padding-top:28px;border-top:1px solid #c4a77960}
.phone #enquiry h3{font-size:32px}.phone .demo-note{font-size:12px;line-height:1.6}
.phone .form-grid{grid-template-columns:1fr;gap:16px}
.phone .form-grid label{font-size:13px;line-height:1.5}
.phone input,.phone select,.phone textarea{font-size:16px;min-height:46px}
.phone textarea{min-height:120px;max-height:none;resize:vertical}
.phone .upload span{font-size:11px}.phone .upload input{font-size:12px;max-width:100%}
.phone #enquiry .solid{font-size:15px}.phone #enquiry>.tiny{font-size:12px}
.phone .contact-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:28px}
.phone footer{position:relative;inset:auto;display:flex;flex-wrap:wrap;gap:10px 20px;padding:20px 20px calc(24px + env(safe-area-inset-bottom));background:#11150f;letter-spacing:.5px}
.phone footer .prototype-label{display:block;flex-basis:100%;font-size:11px;order:3}
.phone footer #location{font-size:11px}.phone footer button{font-size:13px;min-height:44px}
.phone .footer-actions{margin-left:auto}
.phone.dialog-open{overflow:hidden}
.phone dialog{max-width:calc(100vw - 24px)}
.phone #lightbox,.phone #review-photo-dialog{height:92dvh;max-height:92dvh;padding:48px 12px 14px}
.phone #lightbox-caption,.phone #review-photo-caption{font-size:14px}
.phone #reviews-dialog{max-height:92dvh}
@media(min-width:600px){.phone .panel{padding-left:max(20px,calc((100% - 600px)/2));padding-right:max(20px,calc((100% - 600px)/2))}.phone .panel .phone-room{width:100%!important;margin-left:0;margin-right:0;max-height:390px}.phone #contact .phone-room{max-height:none}.phone .form-grid{grid-template-columns:1fr 1fr}.phone #work #fan{height:360px;aspect-ratio:auto}}
@media(prefers-reduced-motion:no-preference){.phone .phone-room{animation:phone-view-in .22s ease-out}@keyframes phone-view-in{from{opacity:.65}to{opacity:1}}}

.phone #explore{background:#f3eddf;color:#292a24;border:1px solid #f3eddf}
