/* Phone layouts: retain every section and action while reducing unnecessary scrolling. */
@media (max-width: 600px) {
  .tc-site-header { min-height: 116px; }
  .tc-site-header .tc-header-inner { min-height: 116px; }
  .tc-site-header .tc-logo {
    width: 100px; height: 100px; flex-basis: 100px;
    padding: 0; margin-bottom: 0;
  }

  .homepage.home-depth .home-hero { --phone-hero-photo: clamp(280px, 78vw, 325px); }
  .homepage.home-depth .home-hero .hero-photo { height: var(--phone-hero-photo); }
  .homepage.home-depth .home-hero .hero-content { padding-bottom: 46px; }
  .homepage.home-depth .home-hero .hero-description { margin-top: 18px; line-height: 1.65; }
  .homepage.home-depth .home-hero .hero-actions { margin-top: 20px; }
  .homepage.home-depth .hero-gallery-controls {
    top: calc(var(--phone-hero-photo) - 104px); bottom: auto;
  }

  .homepage .brand-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;
    padding: 13px var(--page-gutter); font-size: 13px; line-height: 1.35;
  }
  .homepage .brand-strip > span { padding: 0; align-self: center; }
  .homepage .brand-strip > span ~ span { border: 0; }

  .homepage.home-depth .layout-feature.designer-feature-prominent {
    grid-template-areas: "heading" "poster" "copy" "brands";
    gap: 12px; margin-top: 48px; margin-bottom: 42px; overflow: clip;
  }
  .homepage.home-depth .designer-feature-prominent .designer-preview { display: contents; }
  .homepage.home-depth .designer-feature-prominent .designer-poster {
    grid-area: poster; margin: 0; max-width: none; padding: 0 18px;
  }
  .homepage.home-depth .designer-feature-prominent .designer-poster > img {
    max-height: 195px; object-fit: contain;
  }
  .homepage.home-depth .designer-feature-prominent .designer-copy { padding: 0 24px; }
  .homepage.home-depth .designer-feature-prominent .designer-copy > p { line-height: 1.6; }
  .homepage.home-depth .designer-feature-prominent .designer-cta { margin-top: 16px; }
  .homepage.home-depth .designer-feature-prominent .designer-brands {
    grid-area: brands; margin: 4px 24px 0; padding: 15px 0 24px;
  }
  .homepage .designer-brands > p { margin-bottom: 10px; }
  .homepage .designer-brands .equipment-marks { gap: 10px 22px; }
  .homepage .designer-brands .equipment-marks img { height: 22px; }

  .homepage.home-depth .builds,
  .homepage.home-depth .packages-section { padding-bottom: 56px; }
  .homepage.home-depth .completed-grid.builds-editorial { gap: 10px; }
  .homepage.home-depth .builds-editorial .completed-build,
  .homepage.home-depth .builds-editorial .build-featured,
  .homepage.home-depth .builds-editorial .build-interior {
    grid-column: span 1; grid-row: auto; aspect-ratio: 1 / 1;
  }

  .homepage.home-depth .story-stack > .stack-layer { margin-bottom: 56px; }
  .homepage.home-depth .story-stack > .about-story { margin-bottom: 0; }
  .homepage.home-depth .story-stack > .craft-section {
    gap: 22px; border: 0; overflow: visible;
    background: transparent none; color: var(--color-ink);
  }
  .homepage.home-depth .story-stack .craft-image { height: clamp(300px, 90vw, 380px); }
  .homepage.home-depth .story-stack .craft-content { padding: 0; color: var(--color-ink); }
  .homepage.home-depth .craft-content h2 { color: var(--color-ink); }
  .homepage.home-depth .craft-content h2 span { color: var(--brand-green); }
  .homepage.home-depth .craft-content p:not(.eyebrow) { color: var(--color-muted); }
  .homepage #craft .interior-kicker { color: #5d755e; }
  .homepage #craft .craft-content .interior-intro { color: #233b2a; }
  .homepage.home-depth #craft .lighting-detail,
  .homepage.home-depth #craft .section-detail { border-top-color: var(--color-line); }
  .homepage.home-depth #craft .lighting-detail h3,
  .homepage.home-depth #craft .lighting-detail a { color: var(--brand-green); }
  .homepage.home-depth #craft .lighting-detail a { border-bottom-color: var(--brand-green); }
  .homepage #craft .interior-primary { background: #1b3022; color: #fff; }
  .homepage #craft .interior-primary:hover { background: #35543c; }
  .homepage #craft .interior-secondary { color: #22382a; border-bottom-color: #65776a; }
  .homepage.home-depth .story-stack .equipment-photo { height: clamp(240px, 70vw, 320px); }
  .homepage.home-depth .story-stack .story-image { height: clamp(300px, 82vw, 380px); }

  .shop-page:not(.product-page) .shop-hero-branded > .shop-hero-copy {
    padding-top: 36px; padding-bottom: 24px;
  }
  .shop-page:not(.product-page) .shop-hero-photo { height: clamp(210px, 55vw, 260px); }
  .shop-page:not(.product-page) .shop-enquiry-ranges { padding-top: 32px; }
  .shop-page:not(.product-page) .shop-range-grid { gap: 12px; }
  .shop-page:not(.product-page) .shop-enquiry-section {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    align-items: center; gap: 12px; padding: 16px;
  }
  .shop-page:not(.product-page) .shop-enquiry-section h2 { font-size: 24px; }
  .shop-page:not(.product-page) .shop-enquiry-section p {
    margin-top: 8px; font-size: 14px; line-height: 1.55;
  }
  .shop-page:not(.product-page) .shop-range-enquire {
    min-height: 44px; margin: 0; padding: 10px; gap: 8px;
  }
  .shop-page:not(.product-page) .intro { padding-top: 42px; padding-bottom: 24px; }
  .shop-page:not(.product-page) .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px;
  }
  .shop-page:not(.product-page) .product-card { padding: 0; }
  .shop-page:not(.product-page) .product-card .product-image {
    aspect-ratio: auto; height: clamp(120px, 32vw, 150px);
  }
  .shop-page:not(.product-page) .product-card .product-info { padding: 14px 12px 0; }
  .shop-page:not(.product-page) .product-card .product-type { margin-bottom: 8px; font-size: 11px; }
  .shop-page:not(.product-page) .product-card h3 {
    font-size: clamp(19px, 5vw, 23px); line-height: 1.12;
    margin-bottom: 12px; overflow-wrap: anywhere;
  }
  .shop-page:not(.product-page) .product-card .card-price { font-size: 15px; }
  .shop-page:not(.product-page) .product-card .shop-price-terms { font-size: 12px; line-height: 1.5; }
  .shop-page:not(.product-page) .product-card-action {
    min-height: 48px; margin: 12px 12px 0; gap: 6px; font-size: 12px;
  }
  .shop-page:not(.product-page) .product-card .product-image-pending { padding: 10px; gap: 5px; }
  .shop-page:not(.product-page) .product-card .product-image-pending > img { width: 70px; max-width: 65%; }
  .shop-page:not(.product-page) .product-card .product-image-pending > span { font-size: 11px; line-height: 1.3; }
  .shop-page:not(.product-page) .search input { font-size: 16px; }

  .product-page main { padding-top: 20px; }
  .product-page .detail-breadcrumb { margin-bottom: 14px; }
  .product-page .product-layout { gap: 16px; }
  .product-page .product-photo-open > img {
    height: clamp(180px, 54vw, 235px); width: 100%;
    aspect-ratio: auto; object-fit: contain; background: var(--color-soft);
  }
  .product-page .product-gallery-meta { margin-top: 6px; }
  .product-page .product-thumbnails { margin-top: 4px; padding-top: 4px; padding-bottom: 4px; }
  .product-page .product-thumb { flex-basis: 55px; height: 50px; }
  .product-page .product-photo-caption { margin-top: 5px; }
  .product-page .product-details { display: flex; flex-direction: column; }
  .product-page .product-category { order: 0; }
  .product-page .product-details > h1 { order: 1; }
  .product-page .product-details > .product-price { order: 2; }
  .product-page .product-details > .shop-price-terms { order: 3; }
  .product-page .product-details > .price-note { order: 4; }
  .product-page .product-details > .product-options { order: 5; }
  .product-page .product-details > .product-enquiry { order: 6; }
  .product-page .product-options { margin-top: 12px; padding: 10px 0; gap: 8px; }
  .product-page .product-options select { font-size: 16px; }
  .product-page .product-price { margin-top: 8px; }
  .product-page .product-information { margin-top: 32px; gap: 24px; }

  .journey-page .build-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  .journey-page .build-index article {
    position: relative; display: flex; flex-direction: column;
    border: 1px solid #d7d9cc; background: #f8f7f1;
  }
  .journey-page .build-index article > a { height: auto; flex: 1; border: 0; }
  .journey-page .build-index .build-index-copy { padding: 12px; }
  .journey-page .build-index .build-index-copy h2 {
    font-size: clamp(18px, 4.7vw, 22px); overflow-wrap: anywhere;
  }
  .journey-page .build-index article.show-interior .build-index-interior { opacity: 1; }
  .journey-page .build-index .build-index-toggle {
    position: static; display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; margin: 0 12px 12px; padding: 8px 10px;
    border: 1px solid #a7b2a2; background: transparent;
    color: #1b3022; font: 700 12px/1.2 var(--text); cursor: pointer;
  }
  .journey-page .build-index .build-index-toggle:focus-visible {
    outline: 3px solid #36583d; outline-offset: 2px;
  }
  .journey-page .case-photo-grid { columns: 2; column-gap: 10px; }
  .journey-page .case-photo-grid figure { margin-bottom: 10px; }

  .package-page .detailed-package { gap: 24px; }
  .package-page .detail-copy h1 { font-size: clamp(50px, 14vw, 72px); }
  .package-page .detail-lead { margin-top: 18px !important; line-height: 1.6; }
  .package-page .adventure-highlights { margin-top: 18px; }
  .package-page .adventure-highlights > div { padding: 11px 10px; }
  .package-page .detail-summary { padding: 22px; }
  .package-page .detail-price { margin: 14px 0 !important; }
  .package-page .detail-primary { margin-top: 18px; }

  .conversion-process-page .process-timing {
    grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding: 18px;
  }
  .conversion-process-page .process-timing > strong { font-size: clamp(34px, 10vw, 46px); }

  .build-planner-page .intro-dialog { padding: 14px 16px; }
  .build-planner-page .intro-dialog h2 { margin: 12px 0; }
  .build-planner-page .intro-dialog .intro-points { margin: 8px 0; padding: 8px 0; gap: 6px; }
  .build-planner-page .intro-dialog .intro-limit { margin: 8px 0; line-height: 1.55; }
  .build-planner-page .intro-dialog .resume-saved { margin-top: 10px; padding: 8px; }
  .build-planner-page .intro-dialog > .primary { margin-top: 12px; }
}

.build-index-toggle { display: none; }
@media (max-width: 600px) {
  .journey-page .build-index .build-index-toggle { display: inline-flex; }
}
