/* Approved mobile reference. Loaded after the legacy stylesheet and CMS theme. */
.mobile-menu-label,.mobile-menu-contact{display:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.header-phone-icon{display:none}
.home-master .order-master-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 60px}
.home-master-heading{grid-column:1;grid-row:1}
.home-master .order-master-photo{grid-column:2;grid-row:1 / 5}
.home-master .order-master-list,.home-master .order-diploms,.home-master .master-consult{grid-column:1}
.home-master .master-consult{justify-self:start}
@media(max-width:860px){
  body.menu-open{overflow:hidden}
  .site-header{background:var(--paper);backdrop-filter:none;box-shadow:none}
  .header-inner{min-height:70px;gap:12px}
  .brand{min-width:0;max-width:calc(100% - 112px)}
  .brand-logo{height:46px;width:auto;object-fit:contain}
  .header-phone{width:44px;height:44px;justify-content:center;margin-left:auto;font-size:25px;flex:0 0 44px}
  .header-phone::before{content:none}
  .header-phone-icon{display:block}
  .header-phone-text{display:none}
  .menu-toggle,.menu-toggle[aria-expanded=true]{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:0;background:transparent;color:var(--ink);margin-left:0}
  .menu-toggle span{width:22px;margin-left:-11px}
  .menu-open .header-phone{visibility:hidden}
  .primary-nav{position:absolute;top:100%;left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2);height:calc(100dvh - 70px);max-height:none;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:24px 24px calc(28px + env(safe-area-inset-bottom));background:#242a39;color:#f5f2e9;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:none}
  .primary-nav.open{max-height:none;padding:24px 24px calc(28px + env(safe-area-inset-bottom));visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .mobile-menu-label{display:block;color:var(--gold);font-size:11px;letter-spacing:.22em;margin:0 0 14px}
  .primary-nav>a,.primary-nav .nav-item>a{font:400 27px/1.25 var(--serif);letter-spacing:0;text-transform:none;white-space:normal;color:#f5f2e9;padding:16px 0;border-bottom:1px solid #ffffff26;min-height:66px;display:flex;align-items:center;justify-content:space-between}
  .primary-nav>a::after{content:'↗';font:26px var(--sans);color:var(--gold)}
  .primary-nav .nav-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid #ffffff26;flex:none}
  .primary-nav .nav-item>a{border:0}
  .nav-dropdown-toggle{width:44px;height:44px;border:0;border-radius:0;color:var(--gold);background:transparent}
  .nav-dropdown-toggle[aria-expanded=true]{background:transparent;color:var(--gold)}
  .primary-nav .nav-dropdown{grid-column:1 / -1;position:static;min-width:0;max-height:none;display:none;padding:0 0 14px;border:0;background:transparent;box-shadow:none;opacity:1}
  .primary-nav .nav-item.open .nav-dropdown{display:flex;max-height:none;opacity:1}
  .primary-nav .nav-dropdown a{white-space:normal;font:400 15px/1.5 var(--sans);min-height:44px;padding:10px 0 10px 14px;color:#d0d2d7;border:0}
  .mobile-menu-contact{display:block;margin-top:28px;flex:none}
  .primary-nav .menu-lead{display:flex;width:100%;background:var(--paper);color:var(--ink);min-height:52px;padding:14px 18px;font:500 16px/1.4 var(--sans);text-transform:none;letter-spacing:0;border:0;border-radius:3px;gap:12px}
  .mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
  .primary-nav .mobile-menu-actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 6px;border:1px solid #ffffff80;border-radius:3px;font:400 15px/1.3 var(--sans);text-transform:none;letter-spacing:0;color:#f5f2e9}
  .mobile-menu-contact>p{font:400 13px/1.8 var(--sans);color:#b9bdc5;margin:22px 0}
  .primary-nav .menu-socials{display:flex;gap:12px;flex-wrap:wrap}
  .primary-nav .menu-socials a,.home-page .footer-socials a{width:44px;height:44px;min-height:44px;padding:0;border:1px solid #ffffff60;border-radius:50%;background:transparent;color:#f5f2e9;box-shadow:none;display:grid;place-items:center}
  .primary-nav .menu-socials svg{width:20px;height:20px}
  .home-page .shell{width:calc(100% - 40px)}
  .home-page .hero{display:flex;flex-direction:column;gap:0;min-height:0;padding-block:0}
  .home-page .hero-band{background:#242a39}
  .home-page .hero-band .hero-copy{align-items:flex-start;text-align:left;padding:30px 0 22px}
  .home-page .hero-band .hero-copy h1{font-size:clamp(30px,8.5vw,46px);line-height:1.18;letter-spacing:-.035em;margin:0 0 14px;max-width:100%;text-wrap:balance;color:#f5f2e9}
  .home-page .hero-band .hero-copy .eyebrow{font-size:9px;line-height:1.7;margin-bottom:14px}
  .home-page .hero-band .hero-lead{font-size:15px;line-height:1.6;margin:0;color:#d0d2d7}
  .home-page .hero-photo{width:100vw;margin-inline:-20px;min-height:0;max-height:none;aspect-ratio:1.2;border-radius:0}
  .home-page .hero-video{width:100%;height:100%;min-height:0;object-fit:cover}
  .home-page .video-toggle{left:auto;right:16px;bottom:16px;transform:none;min-height:44px;border-radius:3px}
  .home-page .photo-caption{display:none}
  .home-page .hero-cta-band{width:100%;padding:22px 0 26px}
  .home-page .hero-band .hero-actions{width:100%;max-width:none;margin:0;flex-direction:column;gap:12px}
  .home-page .hero-band .hero-actions .button,.home-page .hero-band .hero-actions .text-link{width:100%;border-radius:3px;min-height:52px;font-size:15px;letter-spacing:0;text-transform:none;justify-content:center}
  .home-page .hero-band .hero-actions .button{background:var(--paper);color:var(--ink)}
  .home-page .hero-band .hero-meta{margin:18px 0 0;padding:0;gap:8px 14px;justify-content:flex-start;font-size:9px;color:#c3c5cc}
  .home-page .hero-meta span::before,.home-page .hero-meta span::after{content:none}
  .home-page .section-heading{text-align:left;align-items:flex-start;gap:14px;margin-bottom:24px}
  .home-page .section-heading h2{font-size:clamp(27px,7.5vw,38px);line-height:1.17}
  .home-page .section-heading .text-link{width:auto;font-size:11px;justify-content:flex-start;color:var(--gold)}
  .home-page .home-services,.home-page .home-updates{padding-block:40px}
  .home-page .home-section-divider,.home-page .home-footer-divider{display:none}
  .home-services .service-grid{display:flex;flex-direction:column;gap:0}
  .home-services .service-card{display:grid;grid-template-columns:minmax(88px,30%) minmax(0,1fr);gap:16px;padding:18px 0;min-height:0;background:none;border-radius:0;overflow:visible;border-bottom:1px solid var(--line)}
  .home-services .service-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:none;border-radius:2px}
  .home-services .service-card-body{position:static;inset:auto;background:none;padding:0;gap:5px;color:var(--ink);min-width:0}
  .home-services .service-card-body small{font:400 23px/1 var(--serif);color:var(--gold)}
  .home-services .service-card-body strong{font:400 19px/1.2 var(--serif);margin:0;max-width:none}
  .home-services .service-card-body>span{margin:0;font-size:13px;line-height:1.5;color:#626660;opacity:1}
  .home-master{background:var(--paper);color:var(--ink);padding:40px 0;border-block:1px solid var(--line)}
  .home-master .order-master-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px 16px;align-items:start}
  .home-master-heading{grid-column:1 / -1;grid-row:auto}
  .home-master-heading h2{font-size:clamp(26px,7.4vw,36px);margin:0}
  .home-master .order-master-photo{grid-column:1;grid-row:2;min-width:0}
  .home-master .order-master-photo img{aspect-ratio:3/4;max-height:none;height:auto;object-fit:cover;border-radius:2px}
  .home-master .order-master-photo p{display:block;color:#626660;font-size:11px;line-height:1.5;margin:8px 0 0}
  .home-master .order-master-list{grid-column:2;grid-row:2;margin:0;gap:14px}
  .home-master .order-master-list li{font-size:13px;line-height:1.5;color:var(--ink);padding-left:20px}
  .home-master .order-master-list li::before{width:12px;height:12px;top:4px;background-size:8px}
  .home-master .order-diploms{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
  .home-master .order-diploms img{width:100%;height:auto;aspect-ratio:.72;object-fit:contain;border-radius:0}
  .home-master .master-consult{grid-column:1 / -1;width:100%;min-height:52px;margin:0;padding:14px 12px;background:var(--gold);color:#172128;border:0;gap:10px;font-size:14px;text-transform:none;letter-spacing:0;border-radius:3px}
  .home-updates .updates-card{border:0;border-radius:0;background:none;box-shadow:none}
  .home-updates .updates-card-media,.home-updates .updates-card:first-child .updates-card-media{aspect-ratio:16/9;border-radius:2px}
  .home-updates .updates-card-content{padding:0;background:none}
  .home-updates .updates-card-content strong{font:400 18px/1.4 var(--serif)}
  .home-updates .updates-card-content>span,.home-updates .updates-open{display:block;font-size:12px;color:var(--muted)}
  .home-page .studio-story{padding:0;background-color:#242a39}
  .home-page .studio-story-inner{padding-block:40px;align-items:flex-start;text-align:left;gap:16px}
  .home-page .studio-story h2{font-size:clamp(28px,7.8vw,38px);margin:0}
  .home-page .studio-story p:not(.eyebrow){font-size:15px;margin:0;line-height:1.75}
  .home-page .studio-story .button{max-width:none;background:var(--paper);color:var(--ink);margin-top:8px;font-size:15px;text-transform:none;letter-spacing:0;gap:12px}
  .home-page .site-footer{padding-top:0;background:var(--paper);color:var(--ink)}
  .home-page .footer-top{display:block;padding-block:40px}
  .home-page .footer-visit{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0}
  .home-page .footer-visit h2{font-size:clamp(28px,7.8vw,38px);margin:0 0 22px;order:1}
  .home-page .footer-visit>.eyebrow{order:0;margin-bottom:14px}
  .home-page .footer-visit-photo{order:2;margin:0 0 24px;width:100%;max-height:none}
  .home-page .footer-visit-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:2px}
  .home-page .footer-visit-contacts{order:3;align-items:flex-start;gap:12px;margin:0 0 24px;font-size:15px}
  .home-page .footer-visit-contacts a{font-size:17px;overflow-wrap:anywhere}
  .home-page .footer-socials{order:4;justify-content:flex-start;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);margin:0 0 24px}
  .home-page .footer-socials a{background:var(--ink);color:var(--paper);border:0}
  .home-page .footer-visit>.button{order:5;max-width:none;width:100%;background:var(--gold);color:#172128;font-size:15px;letter-spacing:0;text-transform:none;gap:12px}
  .home-page .footer-bottom-band{background:var(--paper);color:var(--muted)}
  .floating-lead-cta{display:none}
  .cookie-notice{bottom:calc(12px + env(safe-area-inset-bottom));max-height:45dvh;overflow:auto;z-index:60}
  body.menu-open .cookie-notice{display:none}
  .lead-dialog{max-height:calc(100dvh - 24px)}
  .primary-nav a:hover{color:var(--gold)}
}
@media(max-width:350px){
  .home-page .shell{width:calc(100% - 32px)}
  .home-page .hero-photo{margin-inline:-16px}
  .home-master .order-master-inner{grid-template-columns:1fr}
  .home-master .order-master-photo,.home-master .order-master-list{grid-column:1;grid-row:auto}
  .home-master .order-master-photo img{max-height:300px;aspect-ratio:1;object-position:center 25%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-nav,.menu-toggle span,.nav-dropdown{transition:none!important}}
