/* Enzo Dentistry homepage — clean cross-browser layout */
.hybrid-home{margin:0;background:#f7f4ee;color:#171511;font-family:"DM Sans",Arial,sans-serif}
.responsive-home{display:block;min-height:100vh;background:#f7f4ee}.responsive-home img{display:block;max-width:100%}
.m-header{height:76px;background:#171511;color:#fff;display:flex;align-items:center;padding:0 22px;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(193,151,72,.28)}
.m-brand{color:#fff;text-decoration:none;font-size:23px;line-height:1;letter-spacing:.28em}.m-brand span{display:block;font-size:8px;letter-spacing:.46em;margin-top:7px}
.m-menu-btn{margin-left:auto;appearance:none;border:1px solid #a9823e;background:transparent;color:#fff;padding:10px 12px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.home-nav{position:absolute;left:0;right:0;top:76px;background:#171511;display:none;padding:8px 22px 18px;box-shadow:0 16px 28px rgba(0,0,0,.25)}.home-nav.open{display:grid}.home-nav a{color:#fff;text-decoration:none;padding:14px 0;border-bottom:1px solid #2c2923;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.home-nav-cta{color:#d5bc84!important}
.m-hero{position:relative;height:530px;overflow:hidden;background:#111}.m-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.m-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,8,.86) 0%,rgba(9,9,8,.52) 46%,rgba(9,9,8,.08) 78%)}
.m-hero-copy{position:absolute;left:22px;right:22px;bottom:40px;color:#fff;z-index:2}.m-hero-copy>span,.eyebrow,.section-kicker{display:block;color:#d2aa61;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:600}.m-hero h1{font:500 42px/1.02 "Playfair Display",Georgia,serif;margin:10px 0 16px}.m-hero-copy p{font-size:15px;max-width:470px;color:#f0ece4}.m-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.m-hero-actions a,.m-outline,.m-cta a,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:600}.m-hero-actions .gold,.button.gold{background:#b38a48;color:#fff}.m-hero-actions .ghost,.m-outline{border:1px solid #b38a48;color:#fff;background:rgba(0,0,0,.12)}
.m-trust{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-bottom:1px solid #ded7cc}.m-trust article{text-align:center;padding:22px 12px;border-right:1px solid #e5ded3;border-bottom:1px solid #e5ded3}.m-trust b{display:block;color:#a77f3d;font-size:22px;font-weight:400}.m-trust strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:4px 0}.m-trust span{display:block;font-size:11px;color:#6b665d}
.m-story{background:#fff;padding:48px 22px;display:grid;gap:26px}.m-story>img{width:100%;height:420px;object-fit:contain;object-position:center;background:#eee8de}.m-story h2,.m-services h2,.m-tech h2,.m-gallery h2,.m-cta h2,.editorial-section h2,.home-feature-band h2{font:500 35px/1.08 "Playfair Display",Georgia,serif;margin:9px 0 18px}.m-story p,.m-tech p,.editorial-section p,.home-feature-band p{color:#676158}.text-link{color:#9a7439;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.desktop-clinical-strip,.desktop-showcase{display:none}
.m-services{padding:54px 18px;background:#171715;color:#fff;text-align:center}.m-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:28px auto 24px;max-width:720px}.m-service-grid a{height:160px;position:relative;overflow:hidden;text-decoration:none;background:#2a2824 center/cover no-repeat}.m-service-grid a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(0,0,0,.82))}.m-service-grid span{position:absolute;z-index:2;left:10px;right:10px;bottom:13px;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.svc-cosmetic{background-image:url('/assets/magazine/mag-018.jpg')!important}.svc-veneers{background-image:url('/assets/magazine/mag-032.jpg')!important}.svc-implants{background-image:url('/assets/magazine/mag-033.jpg')!important}.svc-rehab{background-image:url('/assets/magazine/mag-035.jpg')!important}.svc-sedation{background-image:url('/assets/magazine/mag-034.jpg')!important}.svc-sameday{background-image:url('/assets/magazine/mag-019.jpg')!important}
.m-tech{padding:54px 22px;background:#f4eee4}.m-tech-feature{display:grid;gap:10px;margin-top:28px}.m-tech-feature img{width:100%;height:300px;object-fit:cover}.m-gallery{padding:54px 18px;background:#fff}.m-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:26px}.m-photo-grid img{width:100%;height:180px;object-fit:cover}.m-photo-grid img:first-child{grid-column:1/3;height:260px}
.editorial-section,.home-feature-band{padding:56px 22px}.editorial-dark,.home-feature-band{background:#171715;color:#fff}.editorial-ivory{background:#f4eee4}.container{width:min(1180px,calc(100% - 0px));margin:0 auto}.editorial-split{display:grid;gap:26px}.editorial-image{overflow:hidden;background:#e9e2d8}.editorial-image img{width:100%;height:380px;object-fit:cover}.editorial-image.tall img{height:480px}.editorial-card-grid,.editorial-gallery{display:grid;gap:12px;margin-top:28px}.editorial-card-grid article{background:#fff;color:#171511;border:1px solid #ddd4c6;overflow:hidden}.editorial-dark .editorial-card-grid article{background:#23211d;color:#fff;border-color:#3b382f}.editorial-card-grid img,.editorial-gallery img{width:100%;height:240px;object-fit:cover}.editorial-card-grid h3,.editorial-card-grid p{padding-left:18px;padding-right:18px}.editorial-card-grid h3{font:500 24px/1.12 "Playfair Display",Georgia,serif}.editorial-card-grid p{font-size:14px}.editorial-gallery figure{margin:0}.editorial-gallery figcaption{padding:12px;background:#fff;color:#5d574f;font-size:12px}
.m-cta{padding:58px 22px;text-align:center;background:#11110f;color:#fff}.m-cta a{background:#b38a48;color:#fff}.m-footer{padding:45px 22px 96px;background:#171511;color:#ddd5c9}.m-footer a{color:#e7ddca;text-decoration:none}.m-footer p{font-size:12px}.m-footer .m-brand{display:inline-block;margin-bottom:14px}.m-bottom{position:fixed;left:0;right:0;bottom:0;z-index:120;background:#11110f;border-top:1px solid #a9823e;display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom)}.m-bottom a{min-height:68px;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.07em}.m-bottom a+ a{border-left:1px solid #4b4030}.m-bottom strong{font-size:12px;font-weight:600;letter-spacing:.02em}.qa-icon{font-size:22px;color:#d5bc84}
@media(min-width:900px){
 .m-header{height:84px;padding:0 4vw}.m-brand{font-size:28px}.m-menu-btn{display:none}.home-nav{position:static;display:flex!important;margin-left:auto;align-items:center;gap:24px;padding:0;background:transparent;box-shadow:none}.home-nav a{padding:0;border:0;font-size:10px}.home-nav-cta{border:1px solid #b38a48!important;padding:13px 15px!important;color:#fff!important}
 .m-hero{height:610px}.m-hero-copy{left:max(5vw,calc((100vw - 1180px)/2));bottom:80px;width:580px}.m-hero h1{font-size:68px}.m-hero-copy p{font-size:17px}.m-hero-overlay{background:linear-gradient(90deg,rgba(9,9,8,.86),rgba(9,9,8,.45) 48%,rgba(9,9,8,.08) 74%)}
 .m-trust{grid-template-columns:repeat(4,1fr)}.m-trust article{padding:24px 14px;border-bottom:0}.m-story{padding:70px max(5vw,calc((100vw - 1180px)/2));grid-template-columns:420px 1fr;align-items:center;gap:64px}.m-story>img{height:500px}.m-story h2,.m-services h2,.m-tech h2,.m-gallery h2,.m-cta h2,.editorial-section h2,.home-feature-band h2{font-size:46px}
 .desktop-clinical-strip{display:block;padding:0 4vw 64px;background:#fff}.desktop-clinical-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.desktop-clinical-grid article{background:#f5f1e9;display:grid;grid-template-columns:140px 1fr;min-height:150px}.desktop-clinical-grid img{width:140px;height:150px;object-fit:cover}.desktop-clinical-grid div{padding:18px}.desktop-clinical-grid h3{font:500 20px/1.1 "Playfair Display",Georgia,serif;margin:0 0 8px}.desktop-clinical-grid p{font-size:12px;color:#686158;margin:0}
 .desktop-showcase{display:block;padding:70px 4vw;background:#f4eee4}.desktop-showcase-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:44px;align-items:center}.desktop-showcase-copy h2{font:500 42px/1.06 "Playfair Display",Georgia,serif}.desktop-showcase-copy p{color:#665f55}.desktop-showcase-mosaic{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:205px 205px;gap:8px}.desktop-showcase-mosaic figure{margin:0;overflow:hidden}.desktop-showcase-mosaic img{width:100%;height:100%;object-fit:cover}.desktop-showcase-mosaic .ds-large{grid-row:1/3}
 .m-services{padding:72px 4vw}.m-service-grid{grid-template-columns:repeat(6,1fr);max-width:1180px}.m-service-grid a{height:190px}.m-tech{padding:72px 4vw}.m-tech{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.m-tech-feature{grid-template-columns:1fr 1fr}.m-tech-feature img{height:320px}.m-gallery{padding:72px 4vw}.m-gallery>span,.m-gallery>h2{display:block;max-width:1180px;margin-left:auto;margin-right:auto}.m-photo-grid{max-width:1180px;margin:28px auto 0;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:220px 220px}.m-photo-grid img,.m-photo-grid img:first-child{grid-column:auto;height:100%}.m-photo-grid img:first-child{grid-row:1/3}.m-photo-grid img:nth-child(4){grid-column:2/4}
 .editorial-section,.home-feature-band{padding:72px 4vw}.editorial-split{grid-template-columns:1fr 1fr;gap:52px;align-items:center}.editorial-card-grid.three,.editorial-gallery.three{grid-template-columns:repeat(3,1fr)}.editorial-gallery.two{grid-template-columns:1fr 1fr}.editorial-card-grid img,.editorial-gallery img{height:230px}.editorial-image img{height:430px}.editorial-image.tall img{height:560px}.m-cta{padding:74px 4vw}.m-footer{padding:54px 5vw}.m-bottom{display:none}
}

/* Enzo portrait safeguard: preserve Dr. Kim's full portrait without facial cropping */
.responsive-home .m-story>img,.m-story>img{object-fit:contain!important;object-position:center center!important;background:#f3eee6!important;}
@media(min-width:900px){.responsive-home .m-story>img{object-fit:contain!important;object-position:center center!important;background:#f3eee6!important;padding:0!important;}}



/* =========================================================
   DESKTOP = SAME VISUAL LANGUAGE AS MOBILE
   Keep the same section order, cards, imagery, typography,
   and hierarchy; simply scale and widen for large screens.
   ========================================================= */
@media (min-width: 901px) {
  body.home-page{
    background:#fff;
  }

  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:#171612;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .site-header .header-inner{
    max-width:1180px;
    margin:0 auto;
    min-height:76px;
    padding:0 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }

  .site-header .brand{
    flex:0 0 auto;
  }

  .site-header nav{
    display:flex;
    align-items:center;
    gap:24px;
  }

  .site-header nav a{
    color:#fff;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

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

  /* HERO — same visual treatment as mobile, only wider */
  .home-hero{
    min-height:620px;
    display:flex;
    align-items:flex-end;
    position:relative;
    background-size:cover;
    background-position:center;
  }

  .home-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.46) 40%,rgba(0,0,0,.10) 75%,rgba(0,0,0,.06) 100%);
  }

  .home-hero .hero-content{
    position:relative;
    z-index:2;
    width:min(1180px,calc(100% - 56px));
    margin:0 auto;
    padding:96px 0 88px;
  }

  .home-hero .eyebrow{
    font-size:13px;
    letter-spacing:.18em;
  }

  .home-hero h1{
    max-width:720px;
    font-size:clamp(54px,5.5vw,82px);
    line-height:.98;
    margin:12px 0 22px;
  }

  .home-hero p{
    max-width:560px;
    font-size:20px;
    line-height:1.55;
  }

  .home-hero .hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:28px;
  }

  /* Feature strip keeps mobile card styling */
  .home-features{
    max-width:1180px;
    margin:0 auto;
    padding:34px 28px 42px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px;
  }

  .home-features .feature{
    border:1px solid #e8e1d4;
    background:#fff;
    padding:24px 18px;
    min-height:160px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    text-align:center;
  }

  /* Dr Kim section: same mobile card, expanded */
  .doctor-section{
    max-width:1180px;
    margin:0 auto;
    padding:64px 28px;
    display:grid;
    grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
    gap:54px;
    align-items:center;
  }

  .doctor-section .doctor-image-wrap{
    min-height:560px;
    background:#f6f2eb;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }

  .doctor-section .doctor-image-wrap img{
    width:100%;
    height:560px;
    object-fit:contain!important;
    object-position:center top!important;
    background:#f6f2eb;
  }

  .doctor-section .doctor-copy{
    max-width:620px;
  }

  .doctor-section h2{
    font-size:48px;
    line-height:1.06;
  }

  .doctor-section p{
    font-size:18px;
    line-height:1.7;
  }

  /* Treatments: same cards as mobile, 3 across */
  .treatments-section{
    padding:68px 28px 74px;
    background:#171812;
  }

  .treatments-section .section-inner{
    max-width:1180px;
    margin:0 auto;
  }

  .treatment-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }

  .treatment-card{
    background:#111;
    border:1px solid rgba(255,255,255,.11);
    overflow:hidden;
  }

  .treatment-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
  }

  .treatment-card .card-body{
    padding:20px;
  }

  /* Technology / editorial visual sections */
  .technology-section,
  .editorial-section,
  .gallery-section,
  .testimonials-section{
    padding:68px 28px;
  }

  .technology-section .section-inner,
  .editorial-section .section-inner,
  .gallery-section .section-inner,
  .testimonials-section .section-inner{
    max-width:1180px;
    margin:0 auto;
  }

  .technology-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }

  .technology-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
  }

  /* Curated real-photo mosaic: same mobile photo cards, not oversized */
  .photo-mosaic{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }

  .photo-mosaic img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
  }

  .photo-mosaic .portrait{
    aspect-ratio:3/4;
    object-fit:cover;
  }

  .testimonials-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }

  .testimonial{
    min-height:220px;
    padding:28px;
  }

  .site-footer .footer-inner{
    max-width:1180px;
    margin:0 auto;
    padding:54px 28px;
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:40px;
  }

  /* Bottom call/text bar is mobile-only */
  .m-bottom{
    display:none!important;
  }
}

/* Larger desktop still stays visually compact */
@media (min-width: 1400px){
  .home-hero .hero-content,
  .home-features,
  .doctor-section,
  .technology-section .section-inner,
  .editorial-section .section-inner,
  .gallery-section .section-inner,
  .testimonials-section .section-inner,
  .treatments-section .section-inner,
  .site-footer .footer-inner{
    max-width:1240px;
  }
}



/* =========================================================
   DESKTOP PROPORTION FIX
   Keeps mobile unchanged; reduces oversized imagery on desktop.
   ========================================================= */
@media (min-width: 901px) {
  :root{
    --desktop-content: 1080px;
  }

  main,
  .page-shell,
  .content-wrap,
  .section-inner,
  .container{
    max-width:var(--desktop-content);
    margin-left:auto;
    margin-right:auto;
  }

  /* Inner-page hero areas should not dominate the viewport */
  .page-hero,
  .service-hero,
  .inner-hero,
  .hero:not(.home-hero){
    min-height:0!important;
    height:auto!important;
    padding-top:58px!important;
    padding-bottom:58px!important;
  }

  .page-hero img,
  .service-hero img,
  .inner-hero img,
  .hero:not(.home-hero) img{
    max-height:420px!important;
    width:100%;
    object-fit:cover;
  }

  /* General editorial/content imagery */
  article img,
  main section img:not(.logo):not(.icon):not(.doctor-portrait){
    max-height:460px;
  }

  .content-image,
  .feature-image,
  .editorial-image,
  .service-image,
  .page-image,
  .visual-card img{
    width:100%;
    height:auto;
    max-height:380px!important;
    object-fit:cover;
  }

  /* Prevent giant single images inside text sections */
  .split,
  .split-section,
  .content-grid,
  .two-column,
  .feature-row{
    gap:36px!important;
    align-items:center;
  }

  .split > *,
  .split-section > *,
  .two-column > *{
    min-width:0;
  }

  .split img,
  .split-section img,
  .two-column img,
  .feature-row img{
    max-height:390px!important;
    object-fit:cover;
  }

  /* Cards */
  .card img,
  .service-card img,
  .treatment-card img,
  .technology-card img,
  .article-card img{
    aspect-ratio:4/3;
    max-height:280px!important;
    object-fit:cover;
  }

  /* Galleries should read as curated, not billboard-size */
  .gallery-grid,
  .photo-grid,
  .photo-mosaic,
  .image-grid{
    gap:14px!important;
  }

  .gallery-grid img,
  .photo-grid img,
  .photo-mosaic img,
  .image-grid img{
    width:100%;
    aspect-ratio:4/3;
    max-height:250px!important;
    object-fit:cover;
  }

  /* Doctor portraits need full-face visibility */
  .doctor-image-wrap{
    min-height:0!important;
    background:#f6f2eb;
  }

  .doctor-image-wrap img,
  .doctor-portrait,
  .profile-photo{
    height:auto!important;
    max-height:500px!important;
    object-fit:contain!important;
    object-position:center top!important;
  }

  /* Homepage desktop: same style, more balanced scale */
  .home-hero{
    min-height:500px!important;
    max-height:560px;
  }

  .home-hero .hero-content{
    padding-top:72px!important;
    padding-bottom:62px!important;
  }

  .home-features{
    max-width:1080px!important;
    padding-top:24px!important;
    padding-bottom:30px!important;
  }

  .doctor-section{
    max-width:1080px!important;
    gap:40px!important;
    padding-top:48px!important;
    padding-bottom:48px!important;
  }

  .doctor-section .doctor-image-wrap img{
    max-height:460px!important;
  }

  .treatments-section,
  .technology-section,
  .editorial-section,
  .gallery-section,
  .testimonials-section{
    padding-top:52px!important;
    padding-bottom:52px!important;
  }

  .treatment-grid,
  .technology-grid{
    gap:16px!important;
  }

  .treatment-card img,
  .technology-card img{
    max-height:240px!important;
  }

  /* Avoid overly wide full-bleed images on large monitors */
  figure{
    max-width:920px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media (min-width: 1400px) {
  :root{
    --desktop-content: 1120px;
  }
  .home-hero{
    max-height:590px;
  }
}
