/* Fany Calvo Postrería — Responsive foundation V9
   100% browser zoom is canonical. Cinematic enhancement is optional. */

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

/* Safe desktop typography even when cinematic enhancement is unavailable. */
@media (min-width:1180px){
  .hero h1{font-size:clamp(4rem,min(7vw,10vh),7.2rem);line-height:.92;max-width:900px}
  .section-head h2{font-size:clamp(2.8rem,min(4.8vw,7.2vh),5rem)}
  .moments-copy h2{font-size:clamp(3rem,min(5.4vw,8vh),5.7rem)}
  .flavor-copy h2{font-size:clamp(3rem,min(4.8vw,7vh),5rem)}
  .fit-head h2{font-size:clamp(3.2rem,min(5.4vw,8vh),5.8rem)}
}

/* Compact desktop/laptop: editorial flow, reduced scale. */
@media (min-width:1180px) and (max-height:719px){
  .hero{min-height:100svh}
  .hero-content{padding:125px 0 42px}
  .hero h1{font-size:clamp(3.5rem,min(6vw,9vh),5.3rem);max-width:760px}
  .hero-sub{font-size:.96rem;margin:18px 0 24px;max-width:560px}
  .section{padding:78px 0}
  .philosophy{padding:76px 0}
  .moments-copy{padding:64px 0}
  .flavor{padding:78px 0}
  .fit{padding:78px 0}
  .quote{padding:78px 0}
}

/* Tablet and compact desktop use the stable editorial flow. */
@media(max-width:1179px){
  html,body{overflow-x:hidden}
  .wrap,.nav-inner,.hero-content{width:min(calc(100% - 36px),var(--max))}
  .nav{padding:12px 0}
  .nav-inner{gap:12px}
  .brand{width:112px;height:38px}
  .nav-links a:not(.nav-cta){display:none}
  .nav-links{gap:0}
  .nav-cta{white-space:nowrap;padding:9px 12px;font-size:.68rem}

  .hero{min-height:100svh}
  .hero-content{padding-top:clamp(118px,18svh,155px);padding-bottom:clamp(40px,7svh,64px)}
  .hero h1{font-size:clamp(3.1rem,8.4vw,5.6rem);line-height:.94;max-width:760px}
  .hero-sub{max-width:620px}

  .section{padding:82px 0}
  .section-head{grid-template-columns:1fr;gap:20px;margin-bottom:44px}
  .section-head h2{font-size:clamp(2.55rem,6.6vw,4.3rem)}
  .section-head p{max-width:680px}
  .philosophy-grid{grid-template-columns:1fr;gap:40px}
  .philosophy-copy{max-width:720px}

  .experience,.experience.reverse{grid-template-columns:1fr;min-height:0}
  .experience.reverse .experience-media{order:1}
  .experience.reverse .experience-copy{order:2}
  .experience-media{min-height:56vw}
  .experience-copy{padding:48px 7vw 58px}
  .experience h3{font-size:clamp(2.3rem,5.6vw,3.6rem)}

  .moments-grid{height:500px}
  .moment:nth-child(2){margin:40px 0}
  .flavor-grid{grid-template-columns:.9fr 1.1fr;gap:6vw}
  .flavor-media{height:66vw}
  .height-card:nth-child(2){margin-top:45px}
  .height-card:nth-child(3){margin-top:90px}
  .process-row{grid-template-columns:55px .8fr 1fr;gap:22px}

  .quote-shell{grid-template-columns:1fr}
  .quote-intro{padding:46px}
  .quote-form{padding:46px}
  .policy-grid{grid-template-columns:1fr 1fr}
  .policy:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}
  .policy:nth-child(4){border-top:1px solid var(--line)}
}

@media(max-width:820px){
  .flavor-grid{grid-template-columns:1fr;gap:36px}
  .flavor-media{height:min(105vw,560px);max-height:560px}

  .height-grid{grid-template-columns:1fr;gap:46px}
  .height-card:nth-child(2),.height-card:nth-child(3){margin-top:0}
  .height-photo{aspect-ratio:4/4.7}

  .process-row{grid-template-columns:42px 1fr;gap:14px;padding:28px 0}
  .process-row p{grid-column:2}

  .fit-grid{grid-template-columns:1fr}
  .fit-col,.fit-col+.fit-col{padding:28px 0}
  .fit-col+.fit-col{border-left:0;border-top:1px solid rgba(255,255,255,.35)}

  .moments-grid{grid-template-columns:1fr 1fr;height:440px}
  .moment:nth-child(2){display:none}
}

@media(max-width:700px){
  body{font-size:15px;line-height:1.58}
  .wrap,.nav-inner,.hero-content{width:min(calc(100% - 28px),var(--max))}
  .nav{padding:10px 0}
  .nav.scrolled{padding:7px 0}
  .brand{width:96px;height:34px}
  .nav-cta{padding:8px 10px;font-size:.62rem;letter-spacing:.02em}

  .hero{min-height:100svh}
  .hero-media img{object-position:58% center}
  .hero-content{padding:112px 0 34px}
  .hero h1{font-size:clamp(2.7rem,12.2vw,4rem);line-height:.96;letter-spacing:-.04em}
  .hero-sub{font-size:.91rem;line-height:1.55;margin:18px 0 22px;max-width:100%}
  .hero-actions{width:100%;max-width:none;gap:10px;align-items:stretch;flex-direction:column}
  .hero-actions .btn{width:100%;padding:12px 16px;text-align:center}
  .hero-note{display:none}

  .philosophy{padding:64px 0}
  .philosophy-title{font-size:clamp(2.3rem,10vw,3rem)}
  .philosophy-copy>p{font-size:.96rem}
  .brand-quote{font-size:1.55rem}

  .section{padding:64px 0}
  .section-head{gap:16px;margin-bottom:30px}
  .section-head h2{font-size:clamp(2.3rem,9.7vw,3rem);line-height:1}

  .experience-media{min-height:72vw}
  .experience-copy{padding:34px 20px 42px}
  .experience-num{margin-bottom:18px}
  .experience h3{font-size:clamp(2.2rem,10vw,2.8rem);line-height:1}
  .experience p{line-height:1.55}

  .moments-grid{height:380px}
  .moments-copy{padding:54px 14px}
  .moments-copy h2{font-size:clamp(2.5rem,11vw,3.2rem);line-height:.98}

  .flavor{padding:64px 0}
  .flavor-grid{gap:32px}
  .flavor-media{height:100vw;max-height:480px}
  .flavor-copy h2{font-size:clamp(2.45rem,10.5vw,3rem);line-height:1}
  .flavor-list li{gap:10px;font-size:.72rem}

  .height-grid{gap:42px}
  .height-meta{gap:12px;padding-top:16px}
  .height-meta h3{font-size:1.65rem}

  .process-row{grid-template-columns:34px 1fr;gap:12px;padding:24px 0}
  .process-row h3{font-size:1.75rem}
  .process-row p{font-size:.9rem}

  .fit{padding:64px 0}
  .fit-head{margin-bottom:36px}
  .fit-head h2{font-size:clamp(2.65rem,11vw,3.25rem);line-height:.98}
  .fit-col h3{font-size:1.7rem}

  .quote{padding:64px 0}
  .quote-shell{border-left:0;border-right:0}
  .quote-intro{padding:34px 20px}
  .quote-intro h2{font-size:clamp(2.35rem,10vw,2.9rem);line-height:1}
  .quote-form{padding:34px 20px}
  .routes{grid-template-columns:1fr}
  .route{min-height:0}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .form-actions,.summary-actions{align-items:stretch;flex-direction:column}
  .form-actions .btn,.summary-actions .btn{width:100%}
  .summary{padding:22px 18px}

  .policies{padding:60px 0}
  .policies h2{font-size:clamp(2.25rem,9.5vw,2.8rem);line-height:1}
  .policy-grid{grid-template-columns:1fr}
  .policy,.policy+.policy,.policy:nth-child(3){padding:22px 0;border-left:0;border-top:1px solid var(--line)}
  .policy:first-child{border-top:0}

  footer{padding:48px 0 24px}
  .footer-main{align-items:flex-start;flex-direction:column;gap:34px}
  .footer-copy{text-align:left}
  .footer-bottom{flex-direction:column;gap:8px}
}

@media(max-width:420px){
  .nav-inner{width:calc(100% - 18px)}
  .brand{width:86px;height:31px}
  .nav-cta{font-size:.58rem;padding:7px 9px}
  .hero-content{width:calc(100% - 24px);padding-top:104px}
  .hero h1{font-size:clamp(2.45rem,12.3vw,3.35rem)}
  .hero-sub{font-size:.86rem}
  .eyebrow{font-size:.62rem;letter-spacing:.14em}
  .section-head h2{font-size:clamp(2.1rem,10.2vw,2.6rem)}
  .experience h3{font-size:clamp(2rem,10.5vw,2.45rem)}
  .moments-copy h2{font-size:clamp(2.25rem,11vw,2.8rem)}
  .flavor-list li{align-items:flex-start;flex-direction:column;gap:2px}
  .flavor-list span:last-child{text-align:left}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
