@media(max-width:1200px){
  .support-hero{--support-hero-media-height:620px}
  .support-hero__plaque{width:min(680px,62vw)}
  .support-panel__inner{gap:64px}
  .support-panel__right p{font-size:20px}
  .situation-layout{grid-template-columns:minmax(330px,40%) minmax(0,60%);gap:38px}
  .situation-tab{grid-template-columns:minmax(0,1fr) 20px}
  .situation-drawer-shell{min-height:600px}
  .situation-drawer{min-height:600px}
  .support-hero__plaque{width:min(580px,calc(100% - (var(--pad) * 2)))}
  .support-hero--philosophy{min-height:680px;padding:0}
  .support-hero__content{gap:56px}
}

@media(max-width:1024px){
  .support-hero{--support-hero-media-height:580px;padding-bottom:68px}
  .support-hero__plaque{width:min(700px,72vw);margin-top:-140px}
  .support-panel{position:relative;min-height:auto}
  .support-panel__inner{min-height:720px;grid-template-columns:1fr;gap:44px;align-content:center;padding:84px 0 72px}
  .support-panel__left h2{max-width:650px}
  .support-panel__right p{max-width:720px}
  .situation-section{padding-top:110px;padding-bottom:120px}
  .situation-head{grid-template-columns:1fr;gap:14px;margin-bottom:50px}
  .situation-head .support-kicker{grid-row:auto}
  .situation-layout{grid-template-columns:1fr}
  .situation-drawer-shell{position:relative;top:auto;min-height:0}
  .situation-drawer{min-height:0;padding:38px clamp(26px,5vw,40px) 34px}
  .support-hero__plaque{
    bottom:24px;
    left:var(--pad);
    width:min(560px,calc(100% - (var(--pad) * 2)));
    margin:0;
  }
  .support-hero--philosophy{min-height:650px;padding:0}
  .support-hero__content{grid-template-columns:1fr;gap:30px;padding-bottom:54px}
  .support-hero__copy p{max-width:720px;font-size:18px}
}

@media(max-width:767px){
  .support-hero{--support-hero-media-height:520px;padding:16px 20px 60px}
  .support-hero__media .hero-video-sound{right:16px;bottom:92px}
  .support-hero__overlay{top:16px;right:20px;left:20px}
  .support-hero__plaque{width:100%;margin-top:0;padding:26px 0 0}
  .support-hero__plaque h1{font-size:36px}
  .support-hero__actions{align-items:stretch;flex-direction:column}
  .support-hero__actions .gx-btn{width:100%}
  .support-hero__sign{top:calc(16px + var(--support-hero-media-height) - 48px);right:36px;font-size:22px}
  .support-panel__inner{width:calc(100vw - 40px);min-height:auto;padding:68px 0 60px}
  .support-panel--early .support-panel__inner,
  .support-panel--decorator .support-panel__inner{min-height:620px;align-content:end}
  .support-panel__left h2{font-size:40px}
  .support-panel__left h2 span{white-space:normal}
  .support-panel__right p{font-size:17px}
  .support-panel__price{font-size:11px}
  .situation-section{padding-top:84px;padding-bottom:94px}
  .situation-head h2{font-size:clamp(38px,11vw,48px)}
  .situation-head>p:last-child{font-size:16px}
  .situation-tab{grid-template-columns:minmax(0,1fr) 20px;min-height:96px;gap:10px;padding:18px 10px}
  .situation-tab__title{font-size:23px}
  .situation-drawer{min-height:0;padding:30px 24px 28px}
  .situation-card__label{margin-bottom:24px}
  .situation-card h3{font-size:36px}
  .situation-card>p{font-size:16px}
  .support-cta{align-items:flex-start;flex-direction:column;padding-top:76px;padding-bottom:76px}
  .support-cta h2{font-size:40px}
  .support-cta p{font-size:16px}
  .support-hero__plaque{margin:-72px 0 0;padding:26px 24px}
  .support-hero{padding:0 0 60px}
  .support-hero__overlay{top:0;right:0;left:0}
  .support-hero__plaque{
    position:relative;
    bottom:auto;
    left:auto;
    width:calc(100% - 40px);
    margin:-72px auto 0;
    padding:24px;
  }
  .support-hero__plaque h1{font-size:34px}
  .support-hero__sign{top:calc(var(--support-hero-media-height) - 44px);right:20px;bottom:auto;font-size:19px}
  .support-hero--philosophy{min-height:660px;padding:0}
  .support-hero--philosophy .support-hero__overlay{top:0;right:0;left:0}
  .support-hero__content{padding:0 20px 46px}
  .support-hero__lead h1{font-size:40px}
  .support-hero__copy p{font-size:16px}

  /* Mobile situation switcher: one compact tab row with its result immediately below. */
  .situation-layout{display:block}
  .situation-tabs{
    display:flex;
    width:100%;
    margin:0 0 16px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .situation-tabs::-webkit-scrollbar{display:none}
  .situation-tab{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    width:auto;
    min-width:max-content;
    min-height:48px;
    padding:13px 16px;
    border:0;
    border-right:1px solid var(--line);
    opacity:1;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .situation-tab:last-child{border-right:0}
  .situation-tab__title{font-size:15px;line-height:1.2}
  .situation-tab__arrow{display:none}
  .situation-drawer-shell{position:relative;top:auto;min-height:0;margin-top:0;overflow:hidden}
  .situation-drawer{
    min-height:0;
    padding:24px 18px 26px;
    clip-path:none;
    transform:none;
    transform-origin:center;
    transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);
    will-change:opacity,transform;
  }
  .situation-drawer.is-mobile-swapping{opacity:0;transform:translateY(8px)}

  /* Compact mobile-only section rhythm. */
  .support-panel__inner{padding-top:60px;padding-bottom:60px}
  .situation-section{padding-top:60px;padding-bottom:60px}
  .situation-head{margin-bottom:36px}
  .support-cta{padding-top:60px;padding-bottom:60px}
}

@media(max-width:420px){
  .support-hero{padding-right:16px;padding-left:16px}
  .support-hero__overlay{right:16px;left:16px}
  .support-hero__plaque h1{font-size:33px}
  .support-panel__inner{width:calc(100vw - 32px)}
  .support-panel__left h2{font-size:37px}
  .situation-tab__title{font-size:15px}
  .situation-drawer{padding:28px 20px 26px}
  .support-hero{padding-right:0;padding-left:0}
  .support-hero__overlay{right:0;left:0}
  .support-hero__plaque{width:calc(100% - 32px)}
  .support-hero__plaque h1{font-size:27px !important}
  .support-hero__content{padding-right:16px;padding-left:16px}
  .support-hero__lead h1{font-size:37px}
}


/* 2026-08-20 — anchor targets and compact mobile tabs. */
#author-supervision,#before-keys,#decorator{scroll-margin-top:92px}
@media (max-width:767px){
  #author-supervision,#before-keys,#decorator{scroll-margin-top:74px}

  .situation-tabs{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    overflow:visible !important;
    scroll-snap-type:none !important;
  }
  .situation-tab{
    width:100% !important;
    min-width:0 !important;
    min-height:60px !important;
    padding:12px 8px !important;
    justify-content:center;
    text-align:center;
    white-space:normal !important;
  }
  .situation-tab__title{
    font-size:17px !important;
    line-height:1.15 !important;
  }
  .situation-tab__arrow,.situation-tab__plus{display:none !important}
}
@media (max-width:420px){
  .situation-tab__title{font-size:14px !important;letter-spacing:-.02em !important}
}
