/*
  ITERACJA 98 — smartfon pionowy.
  Warstwa jest celowo odseparowana od zatwierdzonej kompozycji desktopowej.
*/

@media (max-width:759px){
  :root{--header-h:94px;--gutter:22px}
  html{scroll-padding-top:calc(var(--header-h) + 18px)}
  body{font-size:16px}
  #gds-living-machine{padding-top:var(--header-h)}

  /* Górna belka pozostaje pełnoprawnym interfejsem, ale nie zabiera 1/8 ekranu. */
  #gds-living-machine>.site-header{
    gap:10px;
    height:var(--header-h);
    padding:0 18px
  }
  .site-header .header-logo{width:112px;flex:0 0 112px}
  .site-header .menu-toggle{min-width:44px;min-height:44px;margin-left:auto;padding:0 5px;font-size:10px}
  .site-header .header-application>span{display:none}
  .site-header .header-application>a{min-width:92px;min-height:42px;padding:0 12px;font-size:9.5px}
  .site-header .nav{top:100%;max-height:calc(100vh - var(--header-h));padding:22px 22px 28px;overflow:auto}
  .site-header .nav a{display:flex;align-items:center;min-height:44px;padding:8px 0}

  .scene{scroll-margin-top:calc(var(--header-h) + 16px)}
  .scene:not(.hero){padding:82px 22px 76px}
  .section-rail{left:22px;right:22px;top:24px}
  .content-wrap{width:100%}
  .eyebrow{margin-bottom:16px}
  .section-copy-rich{margin-top:28px}
  .section-copy-rich p{line-height:1.58}

  /*
    Hero jest osobną kompozycją mobilną. Elementy absolutne pozostają drugim
    planem, natomiast trzy bloki znaczeniowe otrzymują naturalny przepływ.
  */
  #gds-living-machine .hero-comparison{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    min-height:0;
    height:auto;
    padding:0 0 68px;
    background:#000
  }
  #gds-living-machine .hero-comparison .hero-course-intro{
    position:relative;
    z-index:28;
    grid-row:1;
    top:auto;
    left:auto;
    right:auto;
    display:grid;
    gap:12px;
    width:auto;
    margin:0;
    padding:34px 22px 26px;
    text-align:left
  }
  #gds-living-machine .hero-comparison .hero-course-intro h1{
    max-width:390px;
    font-size:clamp(34px,9.8vw,46px);
    line-height:.89;
    letter-spacing:-.045em
  }
  #gds-living-machine .hero-comparison .hero-course-intro .hero-course-subtitle{
    max-width:360px;
    font-size:clamp(14px,4vw,18px);
    line-height:1.16;
    letter-spacing:.08em
  }
  #gds-living-machine .hero-comparison .machine-video{
    position:relative;
    z-index:24;
    grid-row:2;
    right:auto;
    top:auto!important;
    bottom:auto!important;
    width:calc(100% - 44px);
    margin:12px 22px 0;
    aspect-ratio:16/9
  }
  #gds-living-machine .hero-comparison .casing-back{inset:-10px 10px 10px -10px;box-shadow:12px 12px 0 rgba(36,26,20,.65)}
  #gds-living-machine .hero-comparison .casing-side{right:-16px;width:16px}
  #gds-living-machine .hero-comparison .casing-orange{right:-12px;bottom:-12px;width:30px;box-shadow:5px 5px 0 rgba(87,29,12,.55)}
  #gds-living-machine .hero-comparison .machine-film-caption{padding:10px 12px;font-size:8px}
  #gds-living-machine .hero-comparison .hero-copy{
    position:relative;
    z-index:25;
    grid-row:3;
    left:auto;
    right:auto;
    top:auto!important;
    bottom:auto;
    width:auto;
    margin:34px 18px 0!important;
    padding:30px 22px 32px;
    transform:none!important;
    background:linear-gradient(120deg,rgba(0,0,0,.97),rgba(0,0,0,.87));
    box-shadow:14px 14px 0 rgba(50,36,28,.25)
  }
  #gds-living-machine .hero-comparison .course-label{
    margin:0 0 26px!important;
    font-size:14px;
    line-height:1.22
  }
  #gds-living-machine .hero-comparison .hero-title{
    margin:0 0 28px;
    font-size:clamp(31px,8.7vw,40px);
    line-height:.96;
    letter-spacing:-.038em
  }
  #gds-living-machine .hero-comparison .hero-title span{margin-top:4px}
  #gds-living-machine .hero-comparison .hero-copy-body{gap:14px;margin-bottom:28px}
  #gds-living-machine .hero-comparison .hero-copy-body .hero-lead,
  #gds-living-machine .hero-comparison .hero-copy-body .hero-detail{font-size:15.5px;line-height:1.54}
  #gds-living-machine .hero-comparison .hero-actions{gap:19px}
  #gds-living-machine .hero-comparison .meeting-action{justify-items:stretch}
  #gds-living-machine .hero-comparison .meeting-label{font-size:10px}
  #gds-living-machine .hero-comparison .meeting-action .button{width:100%;min-height:52px;justify-content:center}
  #gds-living-machine .hero-comparison .meeting-note{grid-template-columns:32px minmax(0,1fr);gap:12px;font-size:13.5px;line-height:1.48}
  #gds-living-machine .hero-comparison .meeting-note-accent{width:32px}
  #gds-living-machine .hero-comparison .hero-next{width:100%;min-height:54px;margin-top:26px;padding:0 12px;font-size:10.5px}

  /* Mobilny drugi plan: zachowuje maszynę i znak, ale nie konkuruje z lekturą. */
  #gds-living-machine .hero-comparison .hero-world{z-index:1;opacity:.78}
  #gds-living-machine .hero-comparison .hero-monument{
    display:block;
    z-index:2;
    left:auto;
    right:-29%;
    top:26%!important;
    width:108%;
    opacity:.14;
    transform:none
  }
  #gds-living-machine .hero-comparison .hero-square{display:block}
  #gds-living-machine .hero-comparison .hs-orange{right:-16%;top:9%!important;width:54vw;opacity:.15}
  #gds-living-machine .hero-comparison .hs-black{left:-21%;right:auto;top:39%!important;width:68vw;opacity:.56}
  #gds-living-machine .hero-comparison .hs-brown{left:57%;top:58%!important;width:34vw;opacity:.25}
  #gds-living-machine .hero-comparison .hs-paper{left:4%;right:auto;top:74%!important;width:18vw;opacity:.08}
  #gds-living-machine .hero-comparison .hero-core,
  #gds-living-machine .hero-comparison .hero-carriage,
  #gds-living-machine .hero-comparison .hero-mass,
  #gds-living-machine .hero-comparison .hero-morph,
  #gds-living-machine .hero-comparison .hero-hatch,
  #gds-living-machine .hero-comparison .dev-peek,
  #gds-living-machine .hero-comparison .near-blade,
  #gds-living-machine .hero-comparison .solid-a{display:none}
  #gds-living-machine .hero-comparison .ghost-a{left:-24%;top:13%!important;width:86vw;opacity:.12}
  #gds-living-machine .hero-comparison .ghost-b{right:-30%;top:67%!important;width:74vw;opacity:.09}
  #gds-living-machine .hero-comparison .smoked-a{left:60%;top:7%!important;width:30vw;height:91%;opacity:.18}
  #gds-living-machine .hero-comparison .leak-a{right:4%;top:18%!important;opacity:.22}
  #gds-living-machine .hero-comparison .leak-b{left:7%;right:auto;top:63%!important;opacity:.14}
  #gds-living-machine .hero-index,#gds-living-machine .hero-status{display:none}

  /* Sekcja 02: najpierw komunikat, potem mechanizm. */
  .principle{padding:0}
  .principle-paper-stage{padding:82px 22px 76px}
  .principle-layout{display:flex;flex-direction:column;gap:40px}
  .principle-copy{order:1}
  .principle-machine{order:2;width:100%;height:330px;margin:0}
  .principle-title-pair{font-size:clamp(30px,8vw,37px)}
  .principle-label{font-size:14px}

  /* Filary: równorzędność utrzymana, ale rytm jest krótszy i bardziej dotykowy. */
  .pillars .section-intro{margin-bottom:32px}
  .pillar-equals{gap:18px}
  .pillar-card{padding:28px 24px;min-height:0}
  .pillar-card h3{font-size:clamp(27px,7.5vw,34px)}
  .pillar-secondary{margin-top:18px}
  .pillar-secondary>div{padding:26px 23px}

  /* Program pozostaje długą listą, lecz jeden temat jest zawsze wygodnym celem dotykowym. */
  .program-layout{gap:30px}
  .program-heading h2{font-size:clamp(31px,8.2vw,38px)}
  .program-index{gap:8px;margin-top:0}
  .program-topic{min-height:62px;padding:14px 13px}
  .program-topic span{font-size:12.5px;line-height:1.25}

  /* Projekty: bez pustego ogona po galerii. */
  .projects{padding-bottom:72px}
  .projects-layout{gap:34px}
  .projects-copy .section-copy-rich{margin-top:28px}
  .project-gallery{margin:0}
  .gallery-images{aspect-ratio:16/10}
  .gallery-meta{min-height:52px;padding:10px 0 0}
  .projects-mark{right:-16%;top:67%;width:95vw;opacity:.045}

  /* Kadra i informacje praktyczne. */
  .faculty-head{gap:26px}
  .faculty-summary{font-size:16px;line-height:1.58}
  .faculty-gateway{margin-top:40px}
  .faculty-gateway-link{min-height:92px;padding-right:14px}
  .faculty-gateway-copy small{font-size:9px}
  .faculty-gateway-copy strong{font-size:clamp(22px,6vw,27px)}
  .faculty-gateway-arrow{width:42px}
  .details-layout{gap:36px}
  .details-list button{min-height:68px;grid-template-columns:34px minmax(0,1fr) 24px;padding:13px 0}
  .details-list button span{font-size:clamp(19px,5.5vw,23px)}
  .detail-panel{padding:4px 2px 26px 34px}
  .application-copy{max-width:none}
  .application-copy .button{min-height:54px}

  /* Podstrona wykładowców. */
  .faculty-directory-page .site-header{height:var(--header-h)}
  .faculty-directory-page .faculty-directory-hero{padding-top:70px}
  .faculty-directory-page .faculty-directory-title{font-size:clamp(43px,12vw,58px)}
  .faculty-directory-page .faculty-directory-stage{height:300px;margin-top:36px}
  .faculty-directory-page .faculty-directory-stage span{padding:55px 9px 11px}
  .faculty-directory-page .faculty-directory-stage b{font-size:11px}
  .faculty-directory-page .faculty-directory-stage small{display:none}
  .faculty-directory-page .faculty-directory-card,
  .faculty-directory-page .faculty-directory-card:nth-child(even){
    display:grid;
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding:68px 22px
  }
  .faculty-directory-page .faculty-directory-card:nth-child(even) .portrait,
  .faculty-directory-page .faculty-directory-card:nth-child(even) .person-copy{grid-column:1;grid-row:auto}
  .faculty-directory-page .faculty-directory-card .portrait{grid-row:1;aspect-ratio:1}
  .faculty-directory-page .faculty-directory-card .person-copy{grid-row:2;padding:0}
  .faculty-directory-page .faculty-directory-card .person-copy h2{font-size:clamp(39px,10.5vw,50px)}
  .faculty-directory-page .faculty-directory-card::before{font-size:82px;opacity:.65}
  .faculty-directory-page .faculty-directory-return{padding:44px 22px 72px}

  /* Formularz: większe cele i mniej przypadkowej ciasnoty. */
  .form-page .site-header{height:var(--header-h);padding:0 18px}
  .form-page .form-intro{padding-left:22px;padding-right:22px}
  .form-page .form-panel{padding-left:14px;padding-right:14px}
  .form-page .form-stage{padding:28px 20px}
  .form-page input:not([type=checkbox]):not([type=radio]),
  .form-page textarea,
  .form-page select{min-height:48px;font-size:16px}
  .form-page .check-row>span,
  .form-page .radio-row>span,
  .form-page .rating-row span{min-height:44px}
  .form-actions{gap:10px}
  .form-actions button{min-height:50px}

  /* Polityka i 404 zachowują język strony bez monumentalnej skali desktopu. */
  .privacy-page .privacy-header{height:var(--header-h);padding:0 18px}
  .privacy-hero{padding:68px 22px 58px}
  .privacy-hero h1{font-size:clamp(42px,11vw,54px);line-height:.91}
  .privacy-hero-grid{gap:32px}
  .privacy-document{padding:62px 22px 76px}
  .privacy-layout{gap:48px}
  .privacy-index a,.privacy-index button{min-height:42px}
  .privacy-copy{gap:66px}
  .privacy-copy>section{padding-left:12px;padding-right:12px}
  .privacy-copy h2{font-size:clamp(29px,8vw,38px);line-height:.98}
  .privacy-copy>section>p:not(.privacy-number){font-size:16px;line-height:1.62}
  .privacy-cookie-table>div{grid-template-columns:1fr;gap:8px}
  .privacy-cookie-table em{text-align:left}

  .error-page .site-header{height:var(--header-h);padding:0 18px}
  .error-stage{grid-template-columns:1fr;gap:46px;min-height:0;padding:70px 22px 78px}
  .error-copy h1{font-size:clamp(56px,16vw,72px);line-height:.83}
  .error-actions{gap:18px}
  .error-developer{width:100%;max-width:440px}

  /* Warstwy modalne muszą mieścić się nad klawiaturą ekranową. */
  .gds-contact-panel{max-height:calc(100dvh - 16px);overflow:auto}
  .gds-contact-address>a.gds-contact-mail{font-size:17px}
}

/* Poziomy telefon nie dostaje osobnej kompozycji, ale nie może się rozsypać. */
@media (max-height:520px) and (orientation:landscape){
  :root{--header-h:76px}
  #gds-living-machine>.site-header{height:var(--header-h);padding:0 18px}
  .site-header .header-logo{width:106px}
  .site-header .header-application>span{display:none}
  .site-header .header-application>a{min-height:40px}
  .scene{scroll-margin-top:calc(var(--header-h) + 10px)}
  .gds-consent-banner{max-height:calc(100dvh - 16px);overflow:auto}
}

@media (max-width:380px){
  .site-header .header-logo{width:102px;flex-basis:102px}
  .site-header .header-application>a{min-width:84px;padding:0 9px}
  #gds-living-machine .hero-comparison .hero-course-intro,
  #gds-living-machine .hero-comparison .hero-copy{margin-left:0;margin-right:0}
  #gds-living-machine .hero-comparison .hero-copy{margin-left:14px!important;margin-right:14px!important}
}
