/* Phillips360 Modern V2.033 — assets/css/utilities/responsive.css
   Modify component values here; global colors, type, spacing, radii, and motion live in foundation/tokens.css. */

/* Responsive -------------------------------------------------------------- */
@media (max-width: 1180px) {
  .p360-nav { display: none; }
  .p360-menu-toggle { display: inline-flex; }
  .p360-header__cta { display: none; }
  .p360-value-grid { grid-template-columns: repeat(2, 1fr); }
  .p360-experience { --p360-phone-width: min(100%, 37svh, 360px); }
  .p360-story { grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); gap: 44px; }
}

@media (max-width: 900px) {
  .p360-reviews__embed[data-review-columns="2"],
  .p360-reviews__embed[data-review-columns="3"] { --p360-review-columns: 2 !important; }
  .p360-section-heading--split, .p360-reviews__top, .p360-reviews__quote, .p360-contact__grid { grid-template-columns: 1fr; gap: 34px; }
  .p360-section-heading__copy { max-width: 700px; }
  .p360-hero { min-height: 840px; }
  .p360-hero__stats { max-width: none; }
  .p360-service-grid { grid-template-columns: 1fr; }
  .p360-service-card { min-height: 520px; }
  .p360-experience { --p360-phone-width: min(68vw, 43svh, 340px); }
  .p360-story { grid-template-columns: 1fr; gap: 30px; }
  .p360-story__visual { position: relative; top: auto; min-height: auto; padding: 12px 0 34px; }
  .p360-story__atmosphere { inset: 2% 8% 12%; }
  .p360-story__orbit--one { width: min(88vw, 610px); }
  .p360-story__orbit--two { width: min(68vw, 470px); }
  .p360-story__controls { display: flex; }
  .p360-story__status { display: none; }
  .p360-story__steps { padding: 0; }
  .p360-story__rail { display: none; }
  .p360-story-step { min-height: auto; margin-bottom: 18px; padding: 34px; opacity: .58; border: 1px solid var(--p360-line); border-radius: var(--p360-radius); transform: none; }
  .p360-story-step::before { display: none; }
  .p360-story-step.is-active { opacity: 1; transform: none; border-color: rgba(8,17,26,.24); background: rgba(255,255,255,.42); box-shadow: 0 24px 60px rgba(8,17,26,.08); }
  .p360-story-step__trigger { margin-bottom: 34px; }
  .p360-work-grid { grid-template-columns: 1fr; }
  .p360-work-card--featured { grid-column: auto; }
  .p360-work-card--featured .p360-work-card__media { aspect-ratio: 4/3; }
  .p360-review-score { justify-content: flex-start; }
  .p360-contact__round-link { position: relative; right: auto; bottom: auto; margin-top: 36px; }
  .p360-contact__grid { padding-top: var(--p360-space-3); }
  .p360-footer__inner { grid-template-columns: 1fr 1fr; }
  .p360-footer__brand { grid-column: 1/-1; }
}

@media (max-width: 640px) {
  .p360-reviews__embed { --p360-review-columns: 1 !important; }
  :root { --p360-gutter: 20px; --p360-radius: 18px; }
  .p360-header__inner { min-height: 70px; }
  .p360-brand { width: 148px; }
  .p360-menu-toggle__label { display: none; }
  .p360-menu-panel__drawer { width: 100%; }
  .p360-menu-panel__footer { align-items: start; flex-direction: column; }
  .p360-hero { min-height: 820px; }
  .p360-hero__content { padding-top: 130px; padding-bottom: 84px; }
  .p360-hero h1 { font-size: clamp(3.15rem, 16vw, 5.6rem); }
  .p360-hero__lead { font-size: 1rem !important; }
  .p360-hero__stats { grid-template-columns: 1fr; }
  .p360-hero__stats > div { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .p360-hero__scroll { display: none; }
  .p360-value-grid { grid-template-columns: 1fr; }
  .p360-value-card { min-height: 320px; }
  .p360-clients__heading { align-items: start; flex-direction: column; gap: 8px; }
  .p360-logo-marquee__item { width: 160px; height: 120px; padding: 24px; }
  .p360-service-card { min-height: 470px; }
  .p360-service-card h3 { font-size: 2.7rem; }
  .p360-experience { --p360-phone-width: min(78vw, 40svh, 310px); }
  .p360-phone-stage { width: 100%; padding: 20px 24px 48px; }
  .p360-phone { padding: 7px; border-radius: 50px; }
  .p360-phone::before { border-radius: 47px; }
  .p360-phone__screen { border-radius: 43px; }
  .p360-phone__island { top: 10px; height: 25px; }
  .p360-phone__statusbar { top: 10px; right: 14px; left: 14px; }
  .p360-phone-stage__caption { display: none; }
  .p360-story__toolbar { width: 100%; margin-top: 20px; padding-inline: 0; gap: 10px; }
  .p360-story__playback { min-height: 42px; padding-inline: 14px; }
  .p360-story-step { padding: 28px 22px; }
  .p360-story-step__trigger { margin-bottom: 30px; }
  .p360-story-step h3 { font-size: 2.55rem; }
  .p360-work-card__meta { flex-direction: column; }
  .p360-work-card__view { width: 110px; height: 110px; }
  .p360-review-score { align-items: flex-start; flex-direction: column; }
  .p360-review-carousel__controls { grid-template-columns: 52px minmax(0,1fr) 52px; }
  .p360-review-carousel__button { width: 52px; height: 52px; }
  .p360-contact__headline h2 { font-size: clamp(3.1rem, 15vw, 5.4rem); }
  .p360-contact__form-intro { flex-direction: column; }
  .p360-footer__inner { grid-template-columns: 1fr; }
  .p360-footer__brand { grid-column: auto; }
  .p360-footer__bottom { padding-block: 22px; align-items: start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .p360-logo-marquee__track, .p360-story__orbit { animation: none; }
  .p360-phone { transform: none !important; }
  .p360-story__playback { transition: none; }
  .p360-phone__media video { transform: none; }
  .p360-review-carousel__track { scroll-behavior: auto; }
}

/* V2.033 navigation, reviews, contact and footer refinements --------------- */
@media (max-width: 1180px) {
  .p360-header__actions { margin-left: auto; }
}

@media (max-width: 900px) {
  .p360-footer__inner { grid-template-columns: minmax(0,1fr) minmax(220px,.65fr); }
  .p360-footer__brand { grid-column: 1 / -1; }
  .p360-footer__navigation-column { min-width: 0; }
}

@media (max-width: 640px) {
  .p360-menu-panel__list > li > a { font-size: clamp(2rem, 12vw, 3.4rem); }
  .p360-review-carousel__track { grid-auto-columns: 100% !important; }
  .p360-contact .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  .p360-contact .wpcf7 textarea,
  .p360-contact .wpcf7 select { padding: 14px 15px; }
  .p360-footer__inner { grid-template-columns: 1fr; }
  .p360-footer__brand { grid-column: auto; }
  .p360-footer__nav-list { grid-template-columns: 1fr 1fr; gap: 13px 18px; }
  .p360-footer__bottom-group { align-items: start; flex-direction: column; gap: 4px; }
}

@media (max-width: 420px) {
  .p360-footer__nav-list { grid-template-columns: 1fr; }
}

/* V2.033 mobile phone-screen correction ---------------------------------- */
@media (max-width: 640px) {
  .p360-experience { --p360-phone-width: min(86vw, 43svh, 340px); }
  .p360-phone__media { inset: 0 !important; width: 100%; height: 100%; }
  .p360-phone__media video {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .p360-phone__media::after { background: linear-gradient(180deg, rgba(0,0,0,.3), transparent 20%, transparent 70%, rgba(0,0,0,.54)); }
  .p360-phone__interface {
    right: 15px;
    bottom: 20px;
    left: 15px;
    padding: 13px 14px 14px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 16px;
    background: rgba(5,8,12,.55);
    backdrop-filter: blur(12px);
  }
  .p360-phone__eyebrow { margin-bottom: 4px; font-size: .45rem; }
  .p360-phone__interface strong { font-size: clamp(1.18rem, 6vw, 1.55rem); }
  .p360-phone__chapter { margin-top: 8px; }
  .p360-phone__vignette { background: radial-gradient(ellipse at center, transparent 62%, rgba(0,0,0,.22) 100%); }
}
