/* AGR-251: owner-requested laptop proportions. Homepage-only, original assets and motion retained. */
@media (min-width:1001px) and (max-height:1050px) {
  :root {
    --section-space:clamp(32px,4.5svh,52px);
    --heading-gap:clamp(24px,3.2svh,32px);
    --split-gap:clamp(32px,3.5vw,56px);
    --copy-size:17px;
    --heading-size:clamp(38px,min(3.6vw,5.7svh),52px);
    --entry-size:clamp(24px,min(2.05vw,3.2svh),30px);
  }

  /* Existing ResizeObserver maintains --home-header-height. */
  .hn-header { padding-block:16px; }
  .hn-word { font-size:clamp(64px,min(6.2vw,9svh),90px); }
  .hn-brand small { margin-top:8px; }
  .hero {
    height:calc(100svh - var(--home-header-height,124px));
    min-height:0;
    max-height:none;
  }
  .hero h1 { font-size:clamp(56px,min(6.2vw,10svh),92px); }
  .hero-content { bottom:clamp(96px,12svh,120px); }
  .hero .eyebrow { margin-bottom:20px; }
  .hero-bottom { margin-top:24px; }
  .hero-foot { bottom:24px; }

  .trust { padding-top:32px; }
  .legacy-stat { min-height:clamp(190px,24svh,240px); padding-block:24px; }
  .legacy-digits { font-size:clamp(76px,min(6.4vw,10svh),102px); }
  .legacy-footer { margin-top:12px; }
  .studio-copy { margin-top:24px; }
  .principles { margin-top:40px; padding-top:24px; gap:32px; }
  .principles h3 { font-size:26px; margin-bottom:12px; }

  /* Module-local rhythm; these do not inherit .section. */
  .ps-section { --ps-space:var(--section-space); --ps-body:17px; }
  .ps-section .ps-label { margin-bottom:24px; }
  .ps-section.ps-v3 .ps-heading { padding-top:16px; }
  .ps-section.ps-v3 .ps-heading h2,
  .ps-section.ps-v3 .ps-naming h3 {
    font-size:clamp(32px,min(3vw,5.2svh),44px);
  }
  .ps-section.ps-v3 .ps-intro,
  .ps-section.ps-v3 .ps-body { font-size:17px; }
  .ps-section.ps-v3 .ps-lead { font-size:clamp(22px,2.9svh,27px); }
  .ps-section.ps-v3 .ps-photo {
    max-width:calc(66svh * .8);
    justify-self:center;
  }

  .cs-study.cs-v6 { padding-block:var(--section-space); }
  .cs-study.cs-v6 .cs-stage {
    max-width:calc(39svh * 1.777778);
    margin-inline:auto;
  }
  .cs-study.cs-v6 .cs-closing { margin-top:32px; gap:var(--split-gap); }
  .cs-study.cs-v6 .cs-title { font-size:clamp(48px,min(4.6vw,7.2svh),68px); }
  .cs-study.cs-v6 .cs-lead { font-size:clamp(26px,min(2.7vw,4.1svh),38px); }
  .cs-study.cs-v6 .cs-description { font-size:17px; }
  .cs-study.cs-v6 .cs-closing-copy { gap:20px; }

  .vs-study.vs-v5 { padding-block:var(--section-space); }
  .vs-study.vs-v5 .vs-wrap { gap:28px var(--split-gap); }
  .vs-study.vs-v5 .vs-photo { max-width:calc(44svh * 1.338912); }
  .vs-study.vs-v5 .vs-title { font-size:var(--heading-size); }
  .vs-study.vs-v5 .vs-description { font-size:17px; }
  .vs-study.vs-v5 .vs-link { margin-top:16px; }

  /* Controller still computes the real feature and mosaic geometry. */
  .selected .selected-heading { margin-bottom:24px; }
  .selected .selected-gallery {
    height:clamp(300px,calc(100svh - 330px),580px);
  }
  .section .editorial-heading { margin-bottom:var(--heading-gap); }
  .chapter-content h3 { font-size:clamp(40px,min(3.6vw,5.8svh),56px); }
  .weekend-layout { row-gap:16px; }
  .event-tab { min-height:44px; }
  .celebrations .couple {
    width:100%;
    max-width:calc(46svh * .75);
    justify-self:center;
  }
  .celebrations .couple h3 { margin-top:18px; }
  .celebrations .couple p { margin-top:8px; }

  .inc-approved .inc-heading { margin-bottom:32px; }
  .inc-approved h2 { font-size:var(--heading-size); }
  .inc-approved .inc-intro { font-size:17px; margin-top:18px; }
  .inc-approved .inc-system { gap:28px; }
  .inc-approved .inc-system-side { gap:24px; }
  .inc-approved .inc-benefit { gap:16px; }
  .inc-approved h3 { font-size:clamp(24px,3.2svh,30px); }
  .inc-approved .inc-description { font-size:16px; line-height:1.6; margin-top:8px; }
  .inc-approved .inc-system-center { padding-block:32px; }
  .inc-approved .inc-system-center .inc-glyph { width:84px; height:84px; margin-bottom:20px; }
  .inc-approved .inc-system-center p { font-size:30px; }
  .inc-approved .inc-footer { margin-top:28px; }

  .letters-heading { margin-bottom:28px; gap:var(--split-gap); }
  .letters-heading h2 { font-size:var(--heading-size); }
  .letters-intro { font-size:clamp(22px,2.8svh,27px); }
  .letters-film { max-width:calc(42svh * 1.777778); margin-inline:auto; }
  .letters-index { margin-top:24px; gap:20px; }
  .letter-choice { grid-template-columns:64px minmax(0,1fr); padding:16px; gap:16px; }
  .letter-portrait-home { width:64px; height:86px; }
  .letter-name { font-size:26px; }
  .letter-excerpt { font-size:19px; margin-top:16px; }
  .letter-read { margin-top:16px; }
  .letters-footer { margin-top:24px; }

  .award-approved .award-heading { padding-top:16px; }
  .award-approved .award-heading h2 { font-size:var(--heading-size); }
  .award-approved .award-wall-layout { gap:var(--split-gap); }
  .award-approved .award-items { gap:20px; }
  .award-approved .award-item { padding:20px; }
  .award-approved .award-art { margin-bottom:16px; }
  .award-approved .award-item:first-child { grid-template-columns:128px 1fr; gap:24px; }
  .award-approved .award-item:first-child .award-art img { width:124px; height:124px; }
  .award-approved .award-item:not(:first-child) .award-art img { width:88px; height:88px; }
  .award-approved h3 { font-size:26px; }
  .award-approved .award-intro { font-size:17px; }
  .award-approved .award-summary,
  .award-approved .award-detail { font-size:16px; margin-top:14px; }
  .award-approved .award-detail summary { font-size:16px; }
  .award-approved .award-footer { margin-top:28px; }

  .locations-title { margin-bottom:28px; }
  .locations .locations-art { max-width:calc(50svh * 1.776833); }
  .journal-image { width:100%; max-width:calc(52svh * .75); justify-self:center; }
  .journal-resources { margin-block:24px 18px; }
  .journal-resources a { padding-block:16px; }
  main .closing h2 { font-size:clamp(44px,min(4.8vw,7.8svh),76px); }
  .closing-bottom { margin-top:24px; }

  /* Retain the actual fd-v4 Directory, its film and animated wine panel. */
  .fd-home .fd-card-top { margin-bottom:32px; }
  .fd-home.fd-v4 .fd-directory-nav { gap:32px; }
  .fd-home .fd-card-row { margin-top:32px; gap:32px; }
  .fd-home.fd-v4 .fd-upper { padding-bottom:40px; }
  .fd-home .fd-panel-region .fd-lower { padding-top:32px; }
  .fd-home .fd-legal { margin-top:28px; }
  .fd-home .fd-closing h2 { font-size:clamp(36px,5.4svh,52px); }
  .fd-home .fd-begin { font-size:clamp(30px,4.3svh,42px); }

  .tr-section { height:calc(100svh - var(--home-header-height,124px)); }

  .weekend-image { max-width:calc(40svh * 1.333333); justify-self:center; width:100%; }
  .inc-approved .inc-heading { margin-bottom:24px; }
  .inc-approved .inc-system-side { gap:20px; }
  .inc-approved h3 { font-size:clamp(24px,2.9svh,28px); }
}

/* AGR-251 / 0.1.3: owner-requested Traditions and Cinematography composition.
   Desktop composition only. Source markup, assets and controllers stay exact. */
@media (min-width:1001px) {
  /* The existing controller derives every photograph from the stage box.
     Giving the photograph its own tall row preserves fitImage and focus FLIP. */
  .tr-section {
    height:calc(100svh - var(--home-header-height,124px));
    padding-block:clamp(16px,3svh,36px);
  }
  .tr-section > .wrap {
    grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto;
    column-gap:clamp(20px,3vw,52px);
    row-gap:clamp(12px,2svh,22px);
    align-items:start;
  }
  .tr-section .tr-heading { display:contents; }
  .tr-section .tr-heading > div {
    grid-column:1;
    grid-row:1;
    min-width:0;
    padding-top:2px;
  }
  .tr-section .tr-eyebrow { margin-bottom:clamp(10px,1.4svh,16px); }
  .tr-section h2 {
    font-size:clamp(32px,min(3.4vw,5.7svh),56px);
    line-height:1.06;
  }
  .tr-section .tr-intro {
    grid-column:3;
    grid-row:1;
    align-self:start;
    justify-self:end;
    max-width:28ch;
    padding-top:2px;
    font-size:clamp(17px,1.15vw,20px);
    line-height:1.45;
  }
  .tr-section .tr-figure {
    grid-column:2;
    grid-row:1;
    width:100%;
    height:100%;
    min-height:0;
    gap:6px;
  }
  .tr-section .tr-bottom {
    grid-column:1 / -1;
    grid-row:2;
    gap:8px;
  }
  .tr-section.tr-v4 .tr-tabs {
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:12px;
  }
  .tr-section.tr-v4 .tr-tab {
    min-height:52px;
    padding:8px;
    font-size:clamp(18px,1.45vw,23px);
    line-height:1.12;
  }
  /* Keep the complete desktop tab descriptions as well as the current caption. */
  .tr-section.tr-v4 .tr-tab-description {
    font-size:14px;
    line-height:1.4;
    margin-top:8px;
  }
  .tr-section .tr-caption { min-height:26px; }
  .tr-section .tr-caption p { font-size:17px; line-height:1.45; }

  /* Flatten only the existing non-semantic closing wrapper. Its header and
     essay become grid items; all player and motion selectors remain intact. */
  .cs-study.cs-v6 {
    display:grid;
    grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:clamp(32px,3.5vw,64px);
    row-gap:clamp(18px,2.6svh,32px);
    align-items:start;
    padding-block:clamp(24px,4svh,64px);
  }
  .cs-study.cs-v6 .cs-closing { display:contents; }
  .cs-study.cs-v6 .cs-heading {
    grid-column:1;
    grid-row:1;
    min-width:0;
  }
  .cs-study.cs-v6 .cs-label { margin-bottom:12px; }
  .cs-study.cs-v6 .cs-title {
    font-size:clamp(44px,min(4.6vw,7.2svh),76px);
  }
  .cs-study.cs-v6 .cs-stage {
    grid-column:1;
    grid-row:2;
    width:100%;
    max-width:calc(56svh * 1.777778);
    justify-self:start;
    margin:0;
  }
  .cs-study.cs-v6 .cs-closing-copy {
    grid-column:2;
    grid-row:1 / span 2;
    min-width:0;
    gap:20px;
    align-self:center;
  }
  .cs-study.cs-v6 .cs-lead {
    font-size:clamp(26px,min(2.7vw,4.1svh),42px);
  }
  .cs-study.cs-v6 .cs-description,
  .cs-study.cs-v6 .cs-cta { font-size:17px; }
}
