/* Mobile refinements shared by the Agency and Studio. Desktop art direction is retained. */
body .header .mobile-menu-toggle{display:none}
@media(max-width:760px){
  html{scroll-padding-top:100px}
  body .header.mobile-menu-ready,body[data-page="home"] .header.mobile-menu-ready{
    min-height:88px;height:88px;padding:20px 6%;display:flex;flex-direction:row;
    align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;
  }
  .mobile-menu-ready .brand{width:156px;max-width:calc(100% - 64px);margin:0}
  body .header .mobile-menu-toggle{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:12px;border:1px solid #dcdcd3;background:transparent;color:inherit;cursor:pointer}
  .mobile-menu-toggle .ui-icon{width:22px;height:22px}
  body .header.mobile-menu-ready>nav{
    display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 88px);
    overflow:auto;padding:12px 6% 24px;background:#fff;color:#25251f;border-bottom:1px solid #dcdcd3;
    margin:0;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 16px 22px #24241b0c;
  }
  body .header.mobile-menu-open>nav{display:flex}
  body .header.mobile-menu-ready>nav a{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:14px 0;font-size:13px;letter-spacing:1px;line-height:1.5;border-bottom:1px solid #e8e8e0}
  body .header.mobile-menu-ready>nav a:last-child{border-bottom:0}
  body .header.mobile-menu-ready>nav a::after{display:none}
  .mobile-menu-ready .ex-scroll-progress{bottom:0}
  .ex-hero{height:calc(100svh - 88px);min-height:590px}
  .ex-hero-kicker,.ex-intro .df-label,.ex-section-heading .df-label,.ex-about .df-label,.ex-invitation .df-label{font-size:9px;letter-spacing:1px;line-height:1.8}
  .ex-hero-subtitle{font-size:13px;line-height:1.85;max-width:310px}
  .ex-arrow-link{font-size:12px;min-height:48px}
  .ex-arrow-link>span{width:40px;height:40px}
  .ex-hero-bottom{align-items:center;gap:14px}
  .ex-scroll-cue{font-size:8px;line-height:1.8}
  .ex-hero-bottom button{min-height:44px;font-size:9px;padding:10px 0;flex:none}
  .ex-scene-copy .df-label{font-size:9px;max-width:290px;line-height:1.9}
  .ex-service-detail p,.ex-about p{font-size:14px;line-height:1.85}
  .ex-service-detail p{min-height:0}
  .ex-service-tabs>button{min-height:64px}
  .df-footer p{font-size:12px;line-height:1.8}
  .df-footer nav{gap:4px 22px;font-size:12px;max-width:100%;justify-content:center}
  .df-footer nav a{min-height:44px;display:inline-flex;align-items:center;padding-block:10px}
  body .work-mockup-card .work-tile-caption{font-size:16px;line-height:1.5}
  body .work-mockup-card .work-tile-scope{font-size:12px;line-height:1.65;max-width:none}
  .work-gallery-label{font-size:10px;letter-spacing:1.6px;line-height:1.8}
  .work-gallery-button,.portfolio-filters button{min-height:44px;font-size:12px}
  .portfolio-title>p,.client-intro p,.project-description{font-size:14px;line-height:1.85}
  .portfolio-index{font-size:9px;line-height:1.8;gap:14px}
  .project-scope{font-size:12px;line-height:1.8}
  .project-caption h2{font-size:29px;line-height:1.25;overflow-wrap:anywhere}
  .project-caption h2 button{min-height:44px}
  #project-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px}
  .project-dialog-bar{gap:12px;padding-bottom:10px}
  .project-dialog-bar .eyebrow{font-size:9px;line-height:1.7}
  .project-dialog-bar button{min-height:44px;padding:8px;flex:none}
  .project-dialog-heading{flex-direction:column;align-items:stretch;gap:20px;margin:22px 0}
  .project-dialog-heading>div{min-width:0}
  .project-dialog-heading h2{font-size:28px;line-height:1.2;overflow-wrap:anywhere}
  .project-dialog-heading .eyebrow{font-size:10px;line-height:1.7}
  .preview-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;padding:4px}
  .preview-devices button{min-width:0;min-height:44px;padding:10px 4px;font-size:11px;line-height:1.4}
  .preview-pagination{gap:16px;align-items:center}
  .preview-pagination button{min-height:44px;font-size:12px}
  .preview-details p{font-size:14px;line-height:1.8}
  .preview-details>a{min-height:44px;font-size:13px;white-space:normal}
  .section-top{flex-wrap:wrap;gap:14px}
  .section-top .text-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center;gap:10px}
  .journal-head p,.article-body p,.privacy-page p,.privacy-page li,.df-credits p{font-size:14px;line-height:1.85}
  .journal-grid h2{font-size:26px;line-height:1.3}
  .enquiry-steps{gap:8px}
  .enquiry-steps>button{min-height:44px}
  .form-hint,.enquiry-panel label{font-size:14px!important;line-height:1.7}
  .service-options small,.form-overline,.delivery-note,.optional,.required{font-size:12px;line-height:1.65}
  .enquiry-actions{flex-wrap:wrap;gap:12px}
  .enquiry-actions button{min-height:44px}
  .contact-button{min-width:0;max-width:100%;gap:20px}
  .field-checkboxes{grid-template-columns:1fr}
  .field-checkboxes label{min-height:44px;align-items:center}
  .enquiry-panel input[type=checkbox]{width:20px;height:20px}
  #privacy-dialog .close-dialog{width:44px;min-width:44px;min-height:44px;display:grid;place-items:center}
}
@media(max-width:680px){
  body .header:has(.studio-mark){min-height:124px}
  .hero-eyebrow,.hero-price-line,.hero-direction,.hero-controls>span,.hero-controls #hero-motion{font-size:10px;line-height:1.7}
  .hero-message h1{font-size:clamp(33px,9vw,56px);letter-spacing:-1px}
  .hero-actions{font-size:11px;gap:16px}
  .hero-actions>a{min-height:48px;align-items:center}
  .hero-direction small{font-size:9px}
  .round-arrow,.hospitality-arrow{width:44px;height:44px;flex:0 0 44px}
  .hospitality-kicker{font-size:10px}
  .hospitality-heading h2{font-size:clamp(29px,8.8vw,36px)}
  .hospitality-heading .hospitality-intro{justify-self:start;margin-left:0;text-align:left;font-size:14px}
  .hospitality-caption{font-size:10px;gap:10px;line-height:1.6;flex-wrap:wrap;align-items:baseline}
  .hospitality-caption>span:first-child{font-size:10px}
  .hospitality-caption>span:last-child{font-size:9px;max-width:none;flex-basis:100%;margin-left:24px;text-align:left;letter-spacing:.5px}
  .hospitality-pagination{display:block;width:100%}
  .hospitality-position{font-size:10px;display:block;margin-bottom:8px}
  .hospitality-dots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;gap:0}
  .hospitality-dot{width:100%;min-width:0;height:44px}
  .hospitality-dot::before{left:5px;right:5px}
  .hospitality-pause{font-size:10px;min-height:44px}
  .hospitality-source{font-size:9px;line-height:1.8;align-items:start}
  .hospitality-source a{flex:none;min-height:44px;padding-block:0}
  .offer-index{font-size:11px;line-height:1.7}
  .close-button{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center}
  .dialog-top{gap:12px}
  .dialog-top .eyebrow{font-size:12px;line-height:1.7}
  .quote-summary{grid-template-columns:minmax(0,1fr);padding:18px 0;gap:12px}
  .quote-summary span{font-size:20px;line-height:1.5;overflow-wrap:anywhere}
  .quote-summary strong{font-size:30px;line-height:1.2}
  .quote-summary p{grid-column:1;font-size:14px;line-height:1.7}
  .review-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .review-actions>*{min-height:48px}
  .mood-options button,.underlined,.text-link{min-height:44px}
  .mood-options button{padding-block:10px}
  .underlined{display:inline-flex;align-items:center}
  .package details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between}
  .sample-nav{font-size:10px}
  .sample-nav small{font-size:8px;line-height:1.6}
  .experience-caption strong{font-size:12px;line-height:1.7}
  .experience-caption>span:last-child{font-size:11px}
  .rail-footnote{font-size:10px;line-height:1.8}
  .footer-navigation{font-size:14px;gap:32px 24px}
  .footer-navigation nav,.footer-navigation nav button{font-size:13px}
  .footer-navigation nav a,.footer-navigation nav button{min-height:44px;display:inline-flex;align-items:center}
  .footer-label{font-size:10px;line-height:1.8}
  .footer-bottom>div{font-size:11px}
  .studio-mobile-dock-item{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle{transition:none}}
