/* Photography PAW tablet layout
   Desktop (1025px+) and mobile (768px and below) remain untouched. */
@media (min-width:769px) and (max-width:1024px){
  :root{
    --header-h:82px;
    --page-x:clamp(36px,5vw,52px);
    --section-y:clamp(76px,8vw,96px);
  }

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  body{ padding-bottom:0; }
  img{ max-width:100%; }

  .mobile-cta{ display:none!important; }

  .section-title{ font-size:clamp(3rem,6.2vw,4.4rem); }
  .page-title{ font-size:clamp(4.3rem,10vw,6.7rem); }
  .body-copy{ font-size:.9rem; }

  /* Compact desktop-style tablet header */
  .site-header{
    height:var(--header-h);
    padding:9px var(--page-x);
    justify-content:space-between;
  }

  .site-logo{
    width:86px;
    flex:0 0 auto;
  }

  .menu-toggle{ display:none!important; }

  .desktop-nav,
  .desktop-nav.open{
    position:static;
    inset:auto;
    width:auto;
    height:auto;
    padding:0;
    overflow:visible;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    background:transparent;
    transform:none;
    transition:none;
  }

  .desktop-nav ul{
    flex-direction:row;
    align-items:center;
    gap:clamp(12px,1.8vw,20px);
  }

  .desktop-nav a,
  .home .site-header:not(.is-scrolled) .desktop-nav a{
    min-height:0;
    padding:7px 0;
    display:block;
    font-family:'DM Sans',sans-serif;
    font-size:.59rem;
    font-weight:500;
    line-height:1.4;
    letter-spacing:.1em;
    text-transform:uppercase;
  }

  .desktop-nav a{ color:var(--muted); }
  .home .site-header:not(.is-scrolled) .desktop-nav a{ color:rgba(255,253,248,.88); }

  /* Shared two-column page structures */
  .intro-strip{
    grid-template-columns:auto minmax(0,1fr);
    gap:clamp(40px,7vw,76px);
  }

  .page-hero{
    padding-top:calc(var(--header-h) + 64px);
    padding-bottom:72px;
    grid-template-columns:minmax(0,.8fr) minmax(0,1fr);
    gap:clamp(38px,6vw,68px);
  }

  .detail-intro{
    grid-template-columns:minmax(0,.8fr) minmax(0,1fr);
    gap:clamp(38px,6vw,68px);
  }

  .contact-band{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:clamp(42px,7vw,78px);
  }

  .approach-strip{
    grid-template-columns:minmax(0,.75fr) minmax(0,1fr);
    gap:clamp(36px,6vw,68px);
  }

  .contact-layout{
    grid-template-columns:1fr;
    gap:54px;
  }

  /* HOME hero uses the PC images with tablet-scaled copy and logo */
  .home .site-header{
    transition:
      opacity .5s ease-out,
      transform .5s cubic-bezier(.22,1,.36,1),
      background .25s ease,
      color .25s ease,
      border-color .25s ease;
  }

  .home .site-header:not(.is-scrolled){
    opacity:0;
    transform:translateY(-100%);
    pointer-events:none;
  }

  .home .site-header.is-scrolled{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }

  .home .home-hero-stage,
  .home .home-hero-stage .hero{
    width:100%;
    height:100svh;
    min-height:700px;
  }

  .home .home-hero .hero-copy{
    position:absolute;
    z-index:2;
    top:9%;
    right:auto;
    bottom:auto;
    left:5.5%;
    width:54%;
    max-width:560px;
    padding:0;
    display:block;
    transform:none;
  }

  .home .home-hero .hero-copy > div{ width:100%; }
  .home .home-hero h1{ font-size:clamp(3.15rem,6.7vw,4.65rem); }

  .home .home-hero-logo{
    position:absolute;
    z-index:3;
    top:69%;
    right:auto;
    bottom:auto;
    left:7%;
    display:block;
    width:clamp(190px,24vw,230px);
    transform:translateY(-50%);
  }

  .home .home-hero-logo img{
    width:100%;
    height:auto;
    object-fit:contain;
  }

  /* HOME section spacing and grids */
  .home .gallery-preview,
  .home .service-preview,
  .home .home-flow,
  .home .home-faq,
  .home .home-schedule,
  .home .home-contact{
    padding-right:clamp(36px,5vw,52px);
    padding-left:clamp(36px,5vw,52px);
  }

  .home-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 26px;
  }

  .home-gallery-grid .gallery-card:nth-child(3){ display:block; }

  /* Tablet heading rule: English title, then Japanese label */
  .home .home-mobile-kana{
    display:block;
    margin-top:11px;
    color:var(--muted);
    font-size:.72rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.14em;
  }

  .home .home-gallery-heading{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .home .home-gallery-heading .section-title{ order:1; }

  .home .home-gallery-heading .eyebrow{
    order:2;
    margin:11px 0 0;
    color:var(--muted);
    font-size:.72rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.14em;
  }

  .home .home-concept-visual-heading,
  .home .home-service-heading,
  .home .home-flow-heading,
  .home .home-faq-heading,
  .home .home-schedule-heading,
  .home .home-contact-heading{
    margin-bottom:42px;
    text-align:center;
  }

  .home .home-concept-visual-heading .section-title,
  .home .home-service-heading .section-title,
  .home .home-flow-heading .section-title,
  .home .home-faq-heading .section-title,
  .home .home-schedule-heading .section-title,
  .home .home-contact-heading .section-title{
    margin:0;
    font-size:clamp(3.8rem,8vw,5.3rem);
    line-height:1;
  }

  .home .home-service-heading > .eyebrow,
  .home .home-flow-heading > .eyebrow,
  .home .home-faq-heading > .eyebrow,
  .home .home-schedule-heading > .eyebrow,
  .home .home-contact-heading > .eyebrow{
    display:none;
  }

  /* Tablet Concept: independent heading above a copy-and-portrait layout */
  .home .home-concept-window{
    min-height:0;
    padding:82px clamp(36px,5vw,52px) 38px;
    display:block;
    background:var(--cream)!important;
    color:var(--ink);
  }

  .home .home-concept-visual-heading{
    margin:0;
    color:var(--ink);
    text-shadow:none;
  }

  .home-concept-copy-panel{
    min-height:0;
    padding:0 clamp(36px,5vw,52px) 92px;
  }

  .home-concept-copy-layout{
    max-width:920px;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.9fr);
    gap:clamp(36px,5vw,52px);
    align-items:center;
  }

  .home-concept-copy-photo{
    order:2;
    width:100%;
    max-width:340px;
    aspect-ratio:2 / 3;
    justify-self:end;
  }

  .home-concept-copy{
    order:1;
    min-width:0;
    text-align:left;
  }

  .home .service-preview{ padding-top:68px; padding-bottom:76px; }

  .home-service-intro{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(36px,5vw,56px);
  }

  .home-service-copy{
    max-width:none;
    justify-self:stretch;
  }

  .home-service-actions{ max-width:100%; }

  .home-flow-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:54px 0;
  }

  .home-flow-step{ padding:0 28px; }
  .home-flow-step:nth-child(odd){ padding-left:0; }
  .home-flow-step:nth-child(even){ padding-right:0; }
  .home-flow-step:nth-child(3)::before{ display:none; }

  .home-schedule-calendar,
  .home-schedule-table-scroll,
  .home-schedule-table{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .home-schedule-table-scroll{ overflow:visible; }
  .home-schedule-table th{ padding:8px 4px 11px; }
  .home-schedule-table td{ height:68px; padding:9px 8px; }

  .home-contact-form{ max-width:760px; }
  .home-contact-row{ grid-template-columns:1fr; gap:32px; }

  /* Gallery detail */
  .gallery-page .page-content{ padding:76px var(--page-x) 96px; }

  .gallery-page .gallery-mixed-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 24px;
  }

  .gallery-page .gallery-mixed-grid .gallery-card.landscape{
    grid-column:span 2;
  }

  /* Detail-page headings follow the same English-to-Japanese order */
  section[aria-labelledby="galleryPageTitle"],
  section[aria-labelledby="conceptPageTitle"],
  section[aria-labelledby="servicePageTitle"]{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  section[aria-labelledby="galleryPageTitle"] .page-title,
  section[aria-labelledby="conceptPageTitle"] .page-title,
  section[aria-labelledby="servicePageTitle"] .page-title{
    order:1;
  }

  section[aria-labelledby="galleryPageTitle"] > .eyebrow,
  section[aria-labelledby="conceptPageTitle"] > .eyebrow,
  section[aria-labelledby="servicePageTitle"] > .eyebrow{
    order:2;
    margin:12px 0 0;
    color:var(--muted);
    font-size:0;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.14em;
  }

  section[aria-labelledby="galleryPageTitle"] > .eyebrow::after,
  section[aria-labelledby="conceptPageTitle"] > .eyebrow::after,
  section[aria-labelledby="servicePageTitle"] > .eyebrow::after{
    font-size:.72rem;
  }

  section[aria-labelledby="galleryPageTitle"] > .eyebrow::after{ content:'撮影事例'; }
  section[aria-labelledby="conceptPageTitle"] > .eyebrow::after{ content:'コンセプト'; }
  section[aria-labelledby="servicePageTitle"] > .eyebrow::after{ content:'サービス'; }

  section[aria-labelledby="galleryPageTitle"] .concept-detail-intro,
  section[aria-labelledby="conceptPageTitle"] .concept-detail-intro,
  section[aria-labelledby="servicePageTitle"] .concept-detail-intro{
    order:3;
  }

  /* Concept detail remains alternating two-column */
  .concept-story,
  .concept-story.reverse{
    width:calc(100% - 80px);
    min-height:0;
    padding:82px 0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(38px,5vw,56px);
  }

  .concept-story .concept-story-photo,
  .concept-story .concept-story-copy{
    order:initial;
  }

  .concept-story.reverse .concept-story-photo{ order:2; }
  .concept-story.reverse .concept-story-copy{ order:1; }
  .concept-story-copy{ max-width:460px; }
  .concept-story-copy h2{ font-size:clamp(1.7rem,3.2vw,2.3rem); }
  .concept-story-body{ font-size:.86rem; }

  /* Service detail keeps the two main plans side by side */
  .walk-plans{ padding-right:var(--page-x); padding-left:var(--page-x); }

  .walk-plan-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .walk-plan{
    padding:36px 24px 56px;
  }

  .walk-plan:first-child{
    padding-left:0;
    border-right:1px solid var(--line);
    border-bottom:0;
  }

  .walk-plan:last-child{ padding-right:0; }
  .walk-plan h3{ font-size:clamp(1.65rem,3.3vw,2.25rem); }
  .walk-plan-price{ font-size:clamp(3rem,6vw,4rem); }
  .walk-plan-description{ font-size:.84rem; }

  .travel-fee-head{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:38px;
  }

  .travel-fee-list,
  .travel-fee-caption{ margin-left:auto; }

  .cat-photo-note,
  .plan-guide{
    grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
    gap:38px;
  }

  /* Long-form pages */
  .terms-hero{
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .terms-hero .page-title{ order:1; }

  .terms-hero > .eyebrow{
    order:2;
    margin:12px 0 0;
    color:var(--muted);
    font-size:0;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.14em;
  }

  .terms-hero > .eyebrow::after{
    content:'利用規約';
    font-size:.72rem;
  }

  .terms-intro{ order:3; }
  .terms-inner{ width:min(860px,100%); }
  .terms-heading{ grid-template-columns:54px minmax(0,1fr); gap:20px; }
  .terms-copy{ margin-left:74px; }

  .site-footer{
    padding-right:var(--page-x);
    padding-left:var(--page-x);
  }
}
