/* ============================================================================
   FRAME AM — V18 · MOBILE EDITORIALE
   ----------------------------------------------------------------------------
   Livello responsive finale. Tutte le regole sono circoscritte a tablet e
   telefoni: la composizione desktop da 1025 px in su resta invariata.
   ========================================================================== */

@media (max-width:1024px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .eyebrow,.fx-eyebrow,.cfm-eyebrow,.pm-eyebrow,.svc-eyebrow,
  .lux-world-tag,.fx-shot-k,.amc-cat,.v10-service-reader-k{
    font-size:.8rem!important;letter-spacing:.14em!important;line-height:1.45!important;
  }
  .section-subtitle,.lead,.fx-lead,.cfm-lead,.page-head-lead,.page-cover-lead{
    font-size:1rem!important;line-height:1.7!important;
  }
  input,select,textarea{font-size:1rem!important}
  :where(a,button,input,select,textarea){touch-action:manipulation}
  .page-cover,.fx-vista{background-attachment:scroll!important}
}

@media (max-width:900px){
  :root{--mobile-gutter:20px;--r:16px;--r-lg:22px;--r-xl:26px}
  .wrap{width:calc(100% - (var(--mobile-gutter) * 2));max-width:100%}
  body{font-size:16px;line-height:1.68}
  body:not(.v13-home) #main{padding-top:72px}
  body[data-cover-page] #main{padding-top:0}

  /* Header e navigazione */
  .site-header{min-height:72px}
  .header-inner{min-height:72px}
  .brand-logo{width:142px;max-height:48px}
  .menu-toggle{display:grid;width:44px;height:44px;padding:8px;align-items:center;justify-items:center}
  .menu-toggle svg{width:25px;height:25px}
  .main-nav{
    top:72px;height:calc(100dvh - 72px);max-width:100vw;
    padding:16px var(--mobile-gutter) calc(26px + env(safe-area-inset-bottom));
    gap:0;overflow-y:auto;overscroll-behavior:contain;background:rgba(9,9,8,.985);
  }
  .main-nav a{
    width:100%;min-height:48px;padding:12px 2px;border-bottom:1px solid rgba(214,199,164,.1);
    font-family:var(--sans);font-size:.9rem;font-weight:500;line-height:1.25;
    letter-spacing:.08em;text-transform:uppercase;
  }
  .main-nav a::after{display:none}
  .main-nav .nav-cta{
    width:100%;min-height:48px;margin:14px 0 0;padding:0 20px!important;
    border-color:rgba(214,199,164,.38);
  }
  #langSwitch{
    width:100%;min-height:52px;margin-top:12px;padding:8px 0 0;
    border-top:1px solid rgba(214,199,164,.14);border-left:0;
  }
  .lang-opt{min-width:44px;min-height:44px;font-size:.86rem!important}
  body.menu-open .site-header{background:rgba(9,9,8,.985);border-bottom-color:var(--line-d)}

  /* Ritmo e gerarchia */
  .section,.fx-section,.lux-worlds,.lux-mission,body.v13-home .cfm-block{
    padding-top:64px;padding-bottom:64px;
  }
  .section-title,.fx-h2,.lux-h2,body.v13-home .cfm-h2{
    font-size:clamp(1.8rem,7vw,2.45rem)!important;line-height:1.13!important;
    overflow-wrap:anywhere;
  }
  .eyebrow,.fx-eyebrow,.cfm-eyebrow,.lux-eyebrow{margin-bottom:14px}
  .eyebrow::before{width:22px}

  /* Copertine delle pagine interne */
  .page-cover{
    min-height:100svh;padding:104px var(--mobile-gutter) 106px;
    background-position:var(--cover-pos,center center);
  }
  .page-cover-inner{width:100%;max-width:680px}
  .page-cover-logo{width:132px;margin-bottom:26px}
  .page-cover .eyebrow{margin-bottom:16px}
  .page-cover-title{
    max-width:22ch;margin-inline:auto;font-size:clamp(2rem,8vw,2.85rem);line-height:1.1;
  }
  .page-cover-lead{
    max-width:42ch;margin-top:20px!important;font-size:.98rem!important;line-height:1.68!important;
  }
  .page-cover-scroll{bottom:24px;gap:7px;font-size:.72rem;letter-spacing:.16em}
  .page-cover-scroll svg{width:22px;height:22px}
  .page-band{height:clamp(240px,36svh,320px)}
  .page-band-inner{padding-bottom:28px}
  .page-band-quote{max-width:24ch;font-size:clamp(1.65rem,7vw,2.2rem);line-height:1.18}
  .page-cover-next,body[data-cover-page] .fx-section.page-cover-next{padding-top:60px}
  .page-subhead{margin-bottom:28px}
  .page-subhead.has-actions{display:block}
  .page-subhead-title{font-size:clamp(1.55rem,6vw,2rem)}
  .page-subhead-lead{font-size:.96rem;line-height:1.68}
  .page-subhead.has-actions .page-head-actions{width:100%;margin-top:22px}
  .page-subhead.has-actions .page-head-actions .btn{width:100%}
  body:not(.v13-home) .page-open,
  body:not(.v13-home) .fx-section.page-open,
  body:not(.v13-home) .section.page-open{padding-top:52px}

  /* Home: hero fedele al desktop, senza vuoti o sovrapposizioni */
  body.v13-home #main{margin-top:-72px}
  body.v13-home .lux-hero{
    min-height:100svh;justify-content:flex-start;
    padding:clamp(194px,23svh,236px) 0 82px;text-align:center;
  }
  body.v13-home .lux-hero-inner{width:100%;align-items:center}
  body.v13-home .lux-hero-title{
    max-width:19ch;margin:0 auto 22px;font-size:clamp(2.15rem,8.7vw,3.1rem);line-height:1.06;
  }
  body.v13-home .lux-hero-sub{
    max-width:38ch;margin:0 auto 28px;font-size:.98rem;line-height:1.62;
  }
  .v13-pills{
    width:100%;max-width:100%;margin:28px 0 0;padding:6px;display:flex;flex-wrap:nowrap;
    justify-content:flex-start;gap:3px;overflow-x:auto;scroll-snap-type:x proximity;
    border-radius:17px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .v13-pills::-webkit-scrollbar{display:none}
  .v13-pill{
    flex:0 0 auto;min-height:42px;padding:9px 14px;font-size:.78rem!important;
    letter-spacing:.02em!important;scroll-snap-align:start;
  }
  body.v13-home .lux-ticker{margin-top:30px}
  body.v13-home .lux-ticker-track{padding:12px 0;gap:34px}
  .lux-tick-sym{font-size:.78rem!important}
  .lux-tick-val,.lux-tick-chg{font-size:.8rem!important}
  .v13-stage{margin-top:0;padding:36px 0 64px}
  .v13-frame{border-radius:20px;box-shadow:0 30px 70px -34px rgba(0,0,0,.86);animation:none}
  .v13-frame-media{min-height:clamp(220px,58vw,340px)}
  .v13-frame-panel{min-height:190px;padding:30px 22px}
  .v13-frame-panel .v13-panel-brand{margin-bottom:20px}
  .v13-frame-panel .v13-panel-logo{height:30px}
  .v13-panel-address{gap:7px;padding-top:20px}
  .v13-addr-street{font-size:1.25rem}
  body.v13-home .cfm-block-grid{gap:30px}
  body.v13-home .cfm-block-media{height:clamp(240px,68vw,380px);border-radius:18px}
  body.v13-home .cfm-features{gap:22px;margin-bottom:26px}
  body.v13-home .cfm-steps{margin-bottom:26px}
  body.v13-home .cfm-steps li{
    grid-template-columns:34px minmax(0,1fr);gap:2px 10px;padding:14px 0;
  }
  body.v13-home .cfm-steps li span{grid-column:2;font-size:.9rem}
  body.v13-home .cfm-link{font-size:.76rem;letter-spacing:.12em}
  body.v13-home .fx-vista{height:clamp(360px,58svh,520px);min-height:0}
  .fx-vista-img{position:absolute;inset:-6% 0;background-position:center;background-size:cover}
  .fx-vista-inner{padding-bottom:34px}
  body.v13-home .fx-vista-quote{font-size:clamp(1.8rem,7vw,2.5rem)}
  body[data-page="home"][data-bg3d="on"] .lux-mission .wrap{
    width:calc(100% - (var(--mobile-gutter) * 2));padding:34px 20px;border-radius:22px;
  }
  .lux-mission-label{margin-bottom:18px}
  .lux-mission-quote{font-size:clamp(1.65rem,6.8vw,2.35rem);margin-bottom:34px}
  .lux-stats{grid-template-columns:1fr 1fr;gap:0;padding-top:22px}
  .lux-stat{min-width:0;padding:18px 10px!important}
  .lux-stat:nth-child(even){border-left:1px solid rgba(211,197,165,.22)!important}
  .lux-stat:nth-child(n+3){border-top:1px solid rgba(211,197,165,.22)!important}
  .lux-stat-num,.lux-stat-prefix{font-size:clamp(1.75rem,7vw,2.3rem)}
  .lux-stat-label{font-size:.74rem!important;letter-spacing:.08em!important;text-align:center}
  .fx-gallery{gap:10px;margin-top:30px}
  .fx-shot{height:112px;border-radius:17px}
  .fx-shot.is-open{height:310px}
  .fx-shot-cap{padding:20px}
  .fx-shot-s{font-size:.9rem}
  .lux-worlds-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .lux-world{padding:24px 22px;border-radius:17px}
  .lux-world-top{margin-bottom:18px}

  /* Chi siamo: l'orbita diventa un selettore ordinato e toccabile */
  .fx-orbit-grid{display:flex;flex-direction:column;gap:0}
  .fx-orbit-copy{display:contents}
  .fx-orbit-copy>.fx-eyebrow{order:0}
  .fx-orbit-copy>.fx-h2{order:1}
  .fx-orbit-copy>.fx-lead{order:2;margin-bottom:24px!important}
  .fx-orbit-stage{
    order:3;width:100%;aspect-ratio:auto;margin:0;display:grid;
    grid-template-columns:1fr 1fr;gap:10px;
  }
  .fx-orbit-ring,.fx-orbit-core{display:none}
  .fx-orbit-rotor{position:static;display:contents;animation:none!important}
  .fx-sat{
    position:static!important;width:auto!important;height:auto!important;
    left:auto!important;top:auto!important;transform:none!important;
  }
  .fx-sat-btn{
    position:relative;width:100%;height:auto;min-height:58px;padding:10px 8px;
    transform:none!important;animation:none!important;border-radius:14px;
  }
  .fx-sat-btn b{max-width:none;font-size:.73rem;line-height:1.25}
  .fx-orbit-copy>.fx-value{order:4;margin-top:26px}
  .fx-value h3{font-size:1.75rem}
  .fx-value p{font-size:1rem;line-height:1.7}

  /* Cosa facciamo: caroselli e pannelli */
  .v10-services .wrap{width:calc(100% - var(--mobile-gutter))!important;margin-left:var(--mobile-gutter)}
  .v10-services .page-head-note{padding-right:var(--mobile-gutter)}
  .v10-service-track{gap:12px;padding-right:var(--mobile-gutter);scroll-padding-inline:0 var(--mobile-gutter)}
  .v10-service-card{
    flex-basis:calc(100vw - (var(--mobile-gutter) * 2));min-height:440px;border-radius:20px;
  }
  .v10-service-card>div{padding:22px;min-height:68%}
  .v10-service-card h3{font-size:1.75rem!important;line-height:1.08!important}
  .v10-service-card p{font-size:.94rem!important;line-height:1.58!important}
  .v10-service-controls{
    padding:18px var(--mobile-gutter) 0 0;margin-top:16px;justify-content:space-between;gap:6px;
  }
  .v10-service-controls>button{width:44px;height:44px;min-width:44px;min-height:44px}
  .v10-service-controls [data-v10-service-dots]{gap:0;min-width:0}
  .v10-service-controls [data-v10-service-dots] button{
    box-sizing:border-box;width:34px!important;height:34px!important;
    min-width:34px!important;min-height:34px!important;padding:13px!important;
    background-clip:content-box!important;border-radius:999px;
  }
  .v10-service-controls [data-v10-service-dots] button.is-active{padding-inline:9px!important}
  .v10-service-overlay,.pm-overlay{padding:10px}
  .v10-service-reader,.pm-reader{width:100%;max-height:calc(100dvh - 20px);border-radius:18px}
  .v10-service-reader-media{min-height:200px;max-height:28svh}
  .v10-service-reader-copy{padding:28px 20px 24px}
  .v10-service-reader-copy h2{font-size:2rem}
  .v10-service-reader-text p{font-size:1rem;line-height:1.7}
  .v10-service-reader-nav{display:grid;grid-template-columns:1fr 1fr}
  .v10-service-reader-nav button{min-width:0;padding:0 12px}
  .fx-strata-grid{gap:24px;margin-top:30px}
  .fx-layers{gap:8px}
  .fx-layer{min-height:54px;padding:12px 15px;gap:10px;border-radius:12px}
  .fx-layer-num{min-width:27px;font-size:.72rem}
  .fx-layer-name{font-size:.76rem!important;letter-spacing:.07em!important;line-height:1.3}
  .fx-strata-copy{padding:24px 20px;border-radius:17px}
  .fx-stratum h3{font-size:1.65rem}
  .fx-stratum p{font-size:.98rem;line-height:1.7}
  .fx-acc{gap:8px}
  .fx-acc-item{min-height:68px;border-radius:14px}
  .fx-acc-item.is-open{min-height:330px}
  .fx-acc-side{padding:0 18px}
  .fx-acc-body{padding:24px 20px}

  /* Slider "Servizi per" */
  .svc-head{display:block;margin-bottom:24px}
  .svc-tabs{
    width:calc(100vw - var(--mobile-gutter));margin-top:22px;display:flex;flex-wrap:nowrap;
    gap:7px;overflow-x:auto;padding:0 var(--mobile-gutter) 6px 0;
    scroll-snap-type:x proximity;scrollbar-width:none;
  }
  .svc-tabs::-webkit-scrollbar{display:none}
  .svc-tab{flex:0 0 auto;min-height:44px;padding:9px 15px;scroll-snap-align:start}
  .svc-slide-inner{grid-template-columns:1fr;gap:22px;padding:24px 20px;min-height:0;border-radius:17px}
  .svc-photo{margin-bottom:18px;border-radius:12px}
  .svc-title{font-size:1.7rem}
  .svc-intro,.svc-list li{font-size:.96rem;line-height:1.65}
  .svc-controls{gap:7px;margin-top:20px;justify-content:space-between}
  .svc-arrow{width:44px;height:44px;min-width:44px;min-height:44px}
  .svc-dots{gap:0;min-width:0;overflow-x:auto;scrollbar-width:none}
  .svc-dots::-webkit-scrollbar{display:none}
  .svc-dot{
    box-sizing:border-box;width:32px!important;height:32px!important;
    min-width:32px!important;min-height:32px!important;padding:12px!important;
    background-clip:content-box!important;border-radius:999px;
  }
  .svc-dot.is-active{padding-inline:8px!important}

  /* Prodotti AMC */
  .amc-explain{max-width:none;margin:22px 0 8px;border-radius:16px}
  .amc-explain-head{padding:18px}
  .amc-explain-title{gap:10px;font-size:1.12rem;line-height:1.3}
  .amc-explain-q{width:28px;height:28px}
  .amc-explain-inner{padding:0 18px 20px}
  .amc-explain-inner p{font-size:.96rem;line-height:1.68}
  .amc-explain-tags{gap:7px}
  .amc-explain-tags span{padding:6px 10px;font-size:.68rem;letter-spacing:.05em}
  .amc-toolbar{display:block;margin:22px 0 28px}
  .amc-filters{
    width:calc(100vw - var(--mobile-gutter));display:flex;flex-wrap:nowrap;gap:7px;
    overflow-x:auto;padding:0 var(--mobile-gutter) 6px 0;
    scroll-snap-type:x proximity;scrollbar-width:none;
  }
  .amc-filters::-webkit-scrollbar{display:none}
  .amc-filter{flex:0 0 auto;min-height:42px;padding:8px 14px;scroll-snap-align:start}
  .amc-updated{margin-top:14px;font-size:.78rem!important;line-height:1.5}
  .amc-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .amc-card{min-width:0;border-radius:19px}
  .amc-card-head{padding:21px 19px 16px;gap:12px}
  .amc-card-head h3{font-size:1.35rem;line-height:1.14}
  .amc-perf .amc-perf-val{font-size:1.25rem}
  .amc-perf .amc-perf-lab{font-size:.65rem}
  .amc-chart-live{padding:12px 4px 5px}
  .fchart-periods{
    justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;
    padding:0 10px 9px;scrollbar-width:none;
  }
  .fchart-periods::-webkit-scrollbar{display:none}
  .fchart-period{flex:0 0 auto;min-height:38px;padding:6px 11px;font-size:.67rem}
  .amc-specs{grid-template-columns:1fr;padding:8px 19px 4px;gap:0}
  .amc-spec{font-size:.87rem;padding:10px 0}
  .amc-spec:nth-last-child(2){border-bottom:1px solid var(--line-d)}
  .amc-desc{padding:10px 19px 0;font-size:.94rem!important;line-height:1.68!important}
  .amc-more{padding-inline:19px}
  .amc-card-foot{padding:20px 19px 22px;gap:9px}
  .amc-btn{
    flex:1 1 100%;min-width:0;min-height:46px;
    font-size:.78rem!important;letter-spacing:.08em!important;
  }
  .product-note{font-size:.9rem;line-height:1.65}

  /* Archivio mensile, DeskNews e stampa */
  .monthly-section{padding:52px 0 64px}
  .monthly-hero{gap:20px;margin-bottom:52px}
  .monthly-copy{padding:28px 22px;border-radius:20px}
  .monthly-copy h1{font-size:clamp(2rem,8vw,2.75rem);line-height:1.08}
  .monthly-copy p{margin-top:20px;line-height:1.7}
  .monthly-form{margin-top:28px;padding-top:24px}
  .monthly-input-row{grid-template-columns:1fr;gap:10px}
  .monthly-input-row input,.monthly-input-row button{width:100%;min-height:50px}
  .monthly-check{gap:12px;margin-top:20px}
  .monthly-check input{width:20px;height:20px}
  .monthly-author{display:grid;grid-template-columns:118px minmax(0,1fr);border-radius:20px}
  .author-image{min-height:168px;aspect-ratio:auto}
  .author-content{padding:22px 18px;align-self:center}
  .author-content h2{font-size:1.4rem;margin-top:8px}
  .author-content p{font-size:.88rem;line-height:1.5}
  .monthly-controls{align-items:flex-start;margin-bottom:24px}
  .monthly-controls h2{font-size:clamp(1.75rem,7vw,2.25rem)}
  .pm-toolbar{display:block;margin-bottom:22px}
  .pm-years{
    width:calc(100vw - var(--mobile-gutter));display:flex;flex-wrap:nowrap;
    gap:7px;overflow-x:auto;padding:0 var(--mobile-gutter) 6px 0;scrollbar-width:none;
  }
  .pm-years::-webkit-scrollbar{display:none}
  .pm-year{flex:0 0 auto;min-height:42px;padding:8px 14px}
  .pm-grid{grid-template-columns:minmax(0,1fr);gap:15px}
  .pm-card{min-width:0;padding:21px 19px;border-radius:17px}
  .pm-card h3,.pm-card h4{font-size:1.18rem!important;line-height:1.28!important}
  .pm-card p{font-size:.94rem!important;line-height:1.65!important}
  .pm-card-foot{align-items:stretch}
  .pm-read,.pm-pdf{
    min-height:44px;padding:8px 11px;font-size:.76rem!important;letter-spacing:.06em!important;
  }
  .monthly-disclaimer{margin-top:28px;padding:22px 19px}
  .pm-reader{padding:62px 20px 26px}
  .pm-reader-head h2{font-size:1.65rem}
  .pm-reader-author{margin:20px 0}
  .pm-reader-text p{font-size:1rem;line-height:1.72}
  .pm-reader-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .pm-reader-actions .pm-btn{width:100%}

  /* Team */
  .team-group{margin-top:44px}
  .team-group-title{margin-bottom:20px;font-size:.78rem!important;letter-spacing:.1em!important}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .member-card{min-width:0;border-radius:16px}
  .member-info{padding:15px 14px 14px}
  .member-info h4{font-size:1.13rem;line-height:1.16}
  .member-role{font-size:.72rem!important;letter-spacing:.06em!important;line-height:1.4!important}
  .bio-toggle{
    font-size:.75rem!important;letter-spacing:.07em!important;
    min-height:40px;padding-top:10px;
  }
  .member-actions{gap:8px;padding-top:12px}
  .member-actions a{width:40px;height:40px;min-height:40px}
  .member-card.bio-open{grid-column:1 / -1}
  .member-card.bio-open .member-bio{font-size:.94rem!important;line-height:1.7!important}

  /* Contatti, accesso prodotti e moduli */
  .contact-shell{gap:16px}
  .contact-info-card,.contact-form{padding:25px 20px;border-radius:19px}
  .contact-info-card h2,.contact-form h2{font-size:1.6rem!important}
  .contact-list{gap:20px;margin-top:26px}
  .contact-list .label{font-size:.76rem!important;letter-spacing:.1em!important}
  .contact-list a,.contact-list .value{font-size:1rem!important}
  .map-embed{margin-top:26px;aspect-ratio:4/3;border-radius:14px}
  .field{margin-bottom:17px}
  .field label,.check label,.access-field label{
    font-size:.82rem!important;line-height:1.45!important;letter-spacing:.06em!important;
  }
  .field input,.field select,.field textarea{min-height:48px;padding:13px 14px}
  .field textarea{min-height:120px}
  .check input[type="checkbox"]{width:20px;height:20px}
  .access-page{min-height:calc(100svh - 72px);padding:48px 0 64px}
  .access-logo{width:160px;margin-bottom:30px}
  .access-panel h1{font-size:clamp(2rem,8vw,2.8rem);line-height:1.1}
  .access-form{margin-top:30px;gap:18px}
  .access-field select{min-height:50px;padding-inline:17px}
  .access-check{gap:12px;margin-top:2px;font-size:.94rem;line-height:1.55}
  .access-check input{width:20px;height:20px;margin-top:2px;flex:none}
  .access-button{min-height:50px;font-size:.82rem!important;letter-spacing:.1em!important}
  .access-disclaimer{margin-top:30px;padding:23px 20px;font-size:.94rem;line-height:1.7}

  /* CTA e footer */
  .cta-band{padding:58px 0}
  .cta-card{padding:31px 22px;border-radius:22px;gap:26px}
  .cta-card h2{font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.16}
  .cta-card p{font-size:.96rem;line-height:1.68}
  .cta-card .btn{width:100%;min-height:50px;padding-inline:20px}
  .site-footer{padding:54px 0 calc(28px + env(safe-area-inset-bottom))}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px 24px;padding-bottom:38px}
  .footer-logo-img{width:176px;margin-bottom:18px}
  .cert-badge{width:min(330px,100%);max-width:100%;padding:14px}
  .footer-col h3{font-size:.76rem!important;letter-spacing:.1em!important;margin-bottom:14px}
  .footer-col a{min-height:40px;margin-bottom:2px;font-size:.9rem!important}
  .footer-reg{font-size:.86rem!important;line-height:1.7!important}
  .footer-bottom{gap:16px;padding-top:28px}
  .footer-bottom-links{gap:8px 18px}
  .footer-bottom-links a{min-height:38px;font-size:.84rem!important}

  /* Cookie banner */
  .cookie-banner{
    left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));
    width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:19px 17px;border-radius:17px;
  }
  .cookie-banner p{font-size:.9rem!important;line-height:1.62!important}
  .cookie-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}
  .cookie-actions .btn{
    width:100%;min-height:46px;font-size:.78rem!important;letter-spacing:.07em!important;
  }
  .map-placeholder-actions{display:grid;gap:8px}
  .map-placeholder-actions .btn{
    width:100%;height:auto;white-space:normal;text-align:center;line-height:1.35;padding-block:12px;
  }
}

@media (max-width:600px){
  :root{--mobile-gutter:18px}
  .btn{min-height:48px;padding-inline:20px;font-size:.8rem!important;letter-spacing:.08em!important}
  .btn-row{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .btn-row .btn{width:100%}
  .page-cover{padding-inline:var(--mobile-gutter)}
  .page-cover-title{font-size:clamp(1.95rem,8.8vw,2.55rem)}
  .page-cover-lead{font-size:.96rem!important;line-height:1.62!important}
  .page-cover-scroll span{font-size:.72rem!important;letter-spacing:.11em!important}
  body.v13-home .lux-hero{padding-top:clamp(190px,23svh,218px)}
  body.v13-home .lux-hero-title{font-size:clamp(2.05rem,10vw,2.65rem)}
  .v13-frame-media{min-height:220px}
  .fx-panel{padding:26px 20px}
  .fx-panel-num{font-size:2.8rem}
  .fx-panel-title{font-size:1.55rem}
  .fx-panel-text{font-size:.97rem;line-height:1.7}
  .fx-panel-tags{gap:7px}
  .fx-panel-tags li{font-size:.7rem;letter-spacing:.08em;padding:7px 10px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-col:first-child{grid-column:1 / -1}
  .footer-col:last-child{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
  .footer-col:last-child h3{grid-column:1 / -1}
  .footer-col:last-child a{margin:0}
  .footer-reg{margin-top:24px}
}

@media (max-width:360px){
  :root{--mobile-gutter:15px}
  .brand-logo{width:134px}
  .page-cover-title{font-size:1.85rem}
  .team-grid{grid-template-columns:1fr}
  .member-card.bio-open{grid-column:auto}
  .monthly-author{grid-template-columns:1fr}
  .author-image{min-height:260px}
  .fx-orbit-stage{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-col:first-child,.footer-col:last-child{grid-column:auto}
  .footer-col:last-child{display:block}
}

@media (max-width:900px) and (max-height:520px) and (orientation:landscape){
  .site-header,.header-inner{min-height:64px}
  .main-nav{
    top:64px;height:calc(100dvh - 64px);display:grid;grid-template-columns:1fr 1fr;
    align-content:start;column-gap:24px;padding-top:8px;
  }
  .main-nav a{min-height:40px;padding-block:8px}
  .main-nav .nav-cta{margin-top:6px}
  #langSwitch{grid-column:1 / -1;min-height:46px;margin-top:4px}
  body:not(.v13-home) #main{padding-top:64px}
  body[data-cover-page] #main{padding-top:0}
  body.v13-home #main{margin-top:-64px}
  body.v13-home .lux-hero{min-height:560px;padding:140px 0 48px}
  .page-cover{min-height:520px;padding:90px var(--mobile-gutter) 70px}
  .page-cover-logo,.page-cover-scroll{display:none}
}

@media (hover:none), (pointer:coarse){
  .card:hover,.member-card:hover,.lux-world:hover,.amc-card:hover,
  .v10-service-card:hover,.fx-shot:hover,.btn:hover,.amc-btn:hover{transform:none!important}
  .member-photo img,.svc-photo img,.v10-service-card img{transition-duration:.35s}
}
