/* Phone-only refinement. Tablet and desktop retain the approved composition. */
.phone-intro,.phone-hero-copy,.phone-video-play,.phone-video-fullscreen{display:none}
.phone-hero-picture{display:contents}
@media(max-width:700px),(max-width:1000px) and (max-height:500px) and (pointer:coarse){
  .landing .intro{display:block;margin:0 8px 24px;padding:0;min-height:0}
  .landing .intro h1{font-size:clamp(32px,8.8vw,40px);line-height:1.12}
  .landing .intro .phone-intro{display:block;margin:16px 0 0;padding:0;max-width:33ch;font-size:16px;line-height:1.5;color:var(--muted)}
  .landing .service-panels{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
  .landing .service-panel{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;background:transparent;isolation:isolate}
  .landing .service-panel::after{content:none}
  .landing .panel-image{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;transform:none!important;border-radius:16px}
  .landing .service-panel:first-child .panel-image{aspect-ratio:8/5}
  .landing .service-panel picture{display:contents}
  .landing .panel-content{position:relative;inset:auto;margin:-12px 12px 0;padding:14px 16px;border-radius:16px;background-color:#ffffffe0;z-index:1}
  .landing .panel-heading h2{font-size:23px;line-height:1.25;letter-spacing:-.025em}
  .landing .panel-heading h2 br{display:none}
  .landing .panel-description{display:none}
  .digital-page .site-header .brand,.digital-page .site-header .brand span{color:var(--ink)}
  .digital-page .immersive-hero{height:auto;min-height:0;max-height:none;padding:104px 20px 28px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;background:var(--white);color:var(--ink);overflow:visible}
  .digital-page .immersive-hero::after{content:none}
  .digital-page .hero-bottom{display:contents}
  .digital-page .hero-bottom>div{grid-row:1;min-width:0}
  .digital-page .hero-bottom h1{font-size:clamp(30px,8.6vw,36px);line-height:1.12;letter-spacing:-.025em}
  .digital-page .hero-bottom p{display:none}
  .digital-page .hero-bottom .phone-hero-copy{display:block;color:var(--muted);font-size:16px;line-height:1.5;margin:12px 0 0;max-width:33ch}
  .digital-page .hero-photo{grid-row:2;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;object-position:center;transform:none!important;border-radius:16px}
  .digital-page .hero-bottom>.button{grid-row:3;margin:0;width:100%;min-height:54px}
  .digital-page .light-showroom{height:auto;min-height:0;display:grid;gap:16px;margin:0 20px;background:transparent;overflow:visible;border-radius:0}
  .digital-page .time-bar{grid-row:1;position:relative;inset:auto;transform:none;width:100%;margin:0;max-width:none}
  .digital-page .light-images{grid-row:2;position:relative;inset:auto;aspect-ratio:8/5;width:100%;height:auto;overflow:hidden;border-radius:16px}
  .digital-page .light-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .digital-page .light-label{grid-row:3;position:relative;inset:auto;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:start;gap:14px;width:100%;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .digital-page .light-label::before,.digital-page .light-label::after{content:none}
  .digital-page .light-label>span{font-size:21px;line-height:1.4;margin:0;font-variant-numeric:tabular-nums}
  .digital-page .light-label h3{font-size:19px;line-height:1.4;letter-spacing:-.02em}
  .digital-page .light-label p{font-size:16px;line-height:1.5;margin:4px 0 0;color:var(--muted)}
  .digital-page .video-figure{position:relative;isolation:isolate;overflow:visible}
  .digital-page .video-figure video{width:100%;aspect-ratio:16/9;border-radius:16px}
  .phone-video-play:not([hidden]){display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:max-content;max-width:calc(100% - 24px);height:auto;min-height:54px;padding:12px 20px;border:0;border-radius:100px;color:var(--ink);font:600 16px/1.4 Manrope,sans-serif;background-color:#ffffffe6;cursor:pointer}
  .phone-video-play svg{width:20px;height:20px;fill:currentColor;flex:none}
  .phone-video-fullscreen:not([hidden]){display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 14px;margin:8px 0 0 auto;border:0;border-radius:12px;background:transparent;color:var(--ink);font:500 15px/1.5 Manrope,sans-serif;cursor:pointer}
  .phone-video-fullscreen svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
  .phone-video-play:focus-visible,.phone-video-fullscreen:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
  .site-footer>a.footer-contact{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;min-height:44px;padding:10px 0;font-size:16px;line-height:1.5;max-width:230px;margin-left:auto}
}
@media(max-width:1000px) and (max-height:500px) and (pointer:coarse){
  .landing{padding-top:96px}
  .landing .service-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .landing .panel-heading h2{font-size:19px}
  .landing .panel-content{margin:-8px 6px 0;padding:12px}
  .landing .service-panel:first-child .panel-image{aspect-ratio:4/3}
  .digital-page .immersive-hero{padding-top:100px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:16px;align-items:center}
  .digital-page .hero-bottom>div{grid-column:1;grid-row:1}
  .digital-page .hero-photo{grid-column:2;grid-row:1 / 3}
  .digital-page .hero-bottom>.button{grid-column:1;grid-row:2}
  .digital-page .hero-bottom h1{font-size:30px}
  .digital-page .hero-bottom .phone-hero-copy{font-size:16px;margin-top:10px}
  .digital-page .light-showroom{max-width:620px;margin-inline:auto}
}
@media(max-width:360px){.digital-page .immersive-hero{padding-inline:16px;gap:16px}.site-footer>a.footer-contact{font-size:15px;max-width:190px}}

/* Home copy follows the header wordmark; image cards retain their wider edges. */
.home .home-welcome{margin:0 0 28px;font-size:clamp(28px,4.3vw,58px);line-height:1.2;letter-spacing:-.035em;white-space:nowrap}
@media(max-width:760px){.home .home-welcome{margin-bottom:24px;font-size:clamp(19px,5.7vw,36px);letter-spacing:-.03em}}
.home{--home-text-inset:var(--gutter)}
.home .home-welcome{margin-inline:calc(var(--home-text-inset) - 20px)}
.home .approach,.home .site-footer{max-width:none;padding-inline:var(--home-text-inset)}
@media(max-width:920px){.home{--home-text-inset:20px}}
@media(max-width:760px){
  .home .home-welcome{margin-inline:calc(var(--home-text-inset) - 12px)}
}

/* Brand punctuation stays orange in every hero and language. */
:is(h1,h2,h3,.scroll-words) .heading-dot{color:#ff914f;white-space:nowrap;opacity:1;transform:none}

@media(max-width:360px){.home{--home-text-inset:16px}}
