/* Homepage reference: Figma 125:22, desktop canvas 1440px.
   Kept separate from shared inner-page styles. */
.homepage { --home-heading:#19093e; }
.homepage .section { max-width:1440px; padding:80px 40px; }
.homepage .eyebrow { padding:6px 16px; font-size:14px; line-height:20px; font-weight:500; }
.homepage .hero-video-section .hero-copy>.eyebrow { min-height:56px; padding:14px 20px; display:inline-flex; align-items:center; font-size:18px; line-height:27px; }
.homepage .site-header { background:#fff; height:102px; }
.homepage .site-header .logo img { filter:none; }
.homepage .site-header .header-cta { background:var(--brand-accent)!important; min-width:102px; border-radius:100px; font-size:16px; padding:14px 20px; }
.homepage .site-header .header-cta:hover { background:var(--brand-accent-hover)!important; }
@media(min-width:1081px) {
  .homepage .nav { position:absolute; left:50%; transform:translateX(-50%); gap:32px; font-size:16px; white-space:nowrap; }
  .homepage .nav>a.active { background:var(--brand-primary); color:#fff; border-radius:100px; padding:10px 18px; font-weight:500; }
  .homepage .nav>a.active:after { bottom:0; }
  .homepage .more-trigger { padding:0; gap:2px; font-size:16px; min-height:44px; }
  .homepage .more-dropdown.open .more-trigger { padding:0 14px; }
  .homepage .header-cta { margin-left:auto; }
}

/* About: original photo mask, dashed orbit exports and four value cards. */
.homepage .about { display:grid; grid-template-columns:minmax(0,617fr) minmax(0,679fr); gap:64px; min-height:0; padding-top:70px; padding-bottom:70px; align-items:center; }
.home-about-art { position:relative; width:100%; aspect-ratio:617/676.418; }
.home-about-art>img { position:absolute; object-fit:contain; }
.home-orbit-outer { left:1.587%; top:.857%; width:95.62%; height:87.225%; }
.home-orbit-inner { left:10.34%; top:9.14%; width:77.47%; height:70.667%; transform:rotate(17.86deg); }
.home-tooth { width:8.104%; height:7.392%; }
.home-tooth.tooth-a { left:11.67%; top:21.14%; }
.home-tooth.tooth-b { left:0; top:49.08%; }
.home-tooth.tooth-c { left:87.20%; top:57.36%; }
.home-tooth.tooth-d { left:70.826%; top:3.252%; }
.home-tooth.tooth-e { left:80.875%; top:26.83%; width:6.483%; height:5.914%; transform:rotate(15deg); }
.home-about-portrait { position:absolute; left:11.669%; top:0; width:88.331%; height:100%; transform:scaleX(-1); }
.home-about-portrait img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.home-about-portrait:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(255,255,255,.7) 105.09%); }
.motion-ready .home-about-art.is-visible .home-about-portrait { animation:portrait-breathe 5.5s ease-in-out 1s infinite; }
.motion-ready .home-about-art.is-visible .home-orbit-outer { animation:orbit-drift 18s linear infinite; }
.motion-ready .home-about-art.is-visible .home-orbit-inner { animation:orbit-drift-inner 22s linear infinite reverse; }
.motion-ready .home-about-art.is-visible .home-tooth { animation:tooth-float 4s ease-in-out infinite; }
.motion-ready .home-about-art.is-visible .home-tooth.tooth-b,.motion-ready .home-about-art.is-visible .home-tooth.tooth-d { animation-delay:-2s; }
@keyframes portrait-breathe { 0%,100% { transform:scaleX(-1) translateY(0); } 50% { transform:scaleX(-1) translateY(-7px); } }
@keyframes orbit-drift { to { transform:rotate(360deg); } }
@keyframes orbit-drift-inner { from { transform:rotate(17.86deg); } to { transform:rotate(377.86deg); } }
@keyframes tooth-float { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }
@media(max-width:760px) { .home-about-art { overflow:hidden; } }
.homepage .about-content { padding-top:16px; min-width:0; }
.homepage .about h2 { margin:20px 0 32px; font-size:64px; line-height:1.2; font-weight:700; color:var(--brand-accent); }
.homepage .about h2 { font-size:clamp(38px,4vw,58px); line-height:1.08; }
.homepage .about-story-text { margin:0 0 32px; font-size:18px; line-height:1.625; color:#000; }
.homepage .about-story-text p { margin:0 0 16px; }
.homepage .about-story-text p:last-child { margin-bottom:0; }
.homepage .about-story-text .brand-line { color:var(--home-heading); font:700 28px/1.15 "Cormorant Garamond",serif; }
.homepage .values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.homepage .values-grid article { padding:20px; min-height:183.5px; border-color:#dee5ed; box-shadow:none; border-radius:16px; }
.homepage .values-grid h3 { font-size:20px; line-height:28px; font-weight:600; margin:12px 0 10px; color:var(--home-heading); }
.homepage .values-grid p { margin:0; font-size:14px; line-height:23px; }

/* A quiet editorial statement between About and Our Values. */
.homepage .concept { max-width:none; background:#fff; position:relative; padding:64px max(40px,calc((100% - 1360px)/2)) 80px; }
.homepage .concept:before { content:none; }
.concept-panel { position:relative; isolation:isolate; overflow:hidden; padding:56px 40px; border:1px solid #eae3cf; border-radius:28px; background:#fbf8ef; text-align:center; }
.concept-panel:after { content:""; position:absolute; z-index:-1; right:-18px; bottom:-105px; width:400px; height:454px; background:#b69a3f; -webkit-mask:url('assets/home-watermark.png') center/contain no-repeat; mask:url('assets/home-watermark.png') center/contain no-repeat; opacity:.13; pointer-events:none; transform:none; }
.homepage .concept .concept-label { display:inline-flex; margin-bottom:28px; font-size:16px; line-height:24px; padding:6px 12px; box-shadow:0 0 0 3px #fff,0 4px 2px #8c96a940,0 8px 17px #8c96a91a; }
.homepage .concept .concept-title { max-width:960px; margin:0 auto; color:var(--home-heading); font-size:clamp(40px,4.5vw,66px); line-height:1.02; letter-spacing:-.8px; font-weight:600; text-wrap:balance; }
.concept-title>span,.concept-title em { display:block; }
.concept-title em { margin-top:0; font-style:normal; font-weight:600; color:#a88c30; }
.concept-intro { max-width:700px; margin:24px auto 0; padding:0; }
.concept-intro p { margin:0; color:#55515c; font-size:17px; line-height:1.8; text-wrap:pretty; }
@media(max-width:1000px) {
  .homepage .concept { padding:40px 28px 56px; }
  .concept-panel { padding:48px 32px; }
}
@media(max-width:650px) {
  .homepage .concept { padding:24px 20px 40px; }
  .concept-panel { padding:36px 22px; border-radius:22px; }
  .concept-panel:after { width:230px; height:261px; right:-38px; bottom:-54px; opacity:.08; }
  .homepage .concept .concept-label { margin-bottom:24px; font-size:14px; }
  .homepage .concept .concept-title { font-size:38px; line-height:1.02; letter-spacing:-.4px; }
  .concept-title em { margin-top:0; }
  .concept-intro { margin-top:20px; }
  .concept-intro p { font-size:15px; line-height:1.75; }
}
.home-concept-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,290px); gap:20px; margin-top:56px; }
.home-concept-grid article { position:relative; border-radius:28px; overflow:hidden; border:1px solid #dee5ed; }
.home-concept-grid .concept-mastery { grid-column:span 2; grid-row:span 2; }
.home-concept-grid article>img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.home-concept-grid article:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(9,8,38,.85) 100%); pointer-events:none; }
.home-concept-grid article>div { position:absolute; left:24px; right:16px; bottom:24px; z-index:1; }
.home-concept-grid span { display:block; font-size:12px; line-height:16px; letter-spacing:1.2px; text-transform:uppercase; color:var(--brand-accent); margin-bottom:4px; }
.home-concept-grid h3 { font-size:24px; line-height:32px; font-weight:600; color:#fff; }
@media(hover:hover) { .home-concept-grid article:hover>img { transform:scale(1.035); } }

/* Values: a refined editorial grid built around the supplied artist principles. */
.homepage .home-values{position:relative;max-width:none;padding-left:max(40px,calc((100% - 1360px)/2));padding-right:max(40px,calc((100% - 1360px)/2));background:#f7fafe;overflow:hidden}
.homepage .home-values:before{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-230px;border:1px solid rgba(14,23,146,.09);border-radius:50%;box-shadow:0 0 0 72px rgba(14,23,146,.025),0 0 0 144px rgba(210,180,70,.025);pointer-events:none}
.homepage .home-values .center-heading{position:relative;margin-bottom:56px}
.homepage .home-values .center-heading:after{content:"";display:block;width:64px;height:3px;margin:22px auto 0;border-radius:999px;background:var(--brand-accent)}
.homepage .home-values .center-heading h2{margin:0;color:var(--home-heading);font-size:64px;line-height:1.1}
.home-values-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.home-values-grid article{position:relative;grid-column:span 6;min-height:250px;padding:42px 40px 36px;border:1px solid rgba(14,23,146,.13);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(17,27,150,.07);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.home-values-grid article:nth-child(n+3):nth-child(-n+5){grid-column:span 4}
.home-values-grid article:nth-child(n+6){grid-column:span 6}
.home-values-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand-accent),rgba(210,180,70,.18))}
.home-values-grid article:after{content:"";position:absolute;z-index:0;inset:0 0 0 auto;width:48%;opacity:.58;pointer-events:none;background-color:#f7f3e8;mask-image:linear-gradient(90deg,transparent 0,#000 28%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%)}
.home-values-grid article:nth-child(1):after{background-image:radial-gradient(circle at 66% 45%,transparent 0 42px,rgba(101,74,37,.28) 43px 44px,transparent 45px 73px,rgba(101,74,37,.18) 74px 75px,transparent 76px),repeating-linear-gradient(32deg,transparent 0 17px,rgba(101,74,37,.13) 18px 19px,transparent 20px 35px),linear-gradient(135deg,#f4ead3,#d8c7a4)}
.home-values-grid article:nth-child(2):after{background-image:radial-gradient(ellipse at 24% 30%,rgba(241,178,190,.75) 0 9%,transparent 10%),radial-gradient(ellipse at 72% 68%,rgba(113,153,125,.72) 0 12%,transparent 13%),radial-gradient(ellipse at 76% 20%,rgba(168,153,210,.72) 0 10%,transparent 11%),radial-gradient(ellipse at 36% 78%,rgba(239,206,112,.7) 0 8%,transparent 9%),linear-gradient(150deg,#dce8ef,#cadccf 48%,#c8b9db)}
.home-values-grid article:nth-child(3):after{background-image:linear-gradient(90deg,transparent 48%,rgba(255,218,99,.38) 49% 53%,transparent 54%),linear-gradient(0deg,transparent 48%,rgba(255,218,99,.32) 49% 53%,transparent 54%),linear-gradient(135deg,#183e62 0 42%,#e0c668 43% 58%,#52728a 59%)}
.home-values-grid article:nth-child(4):after{background-image:radial-gradient(circle at 72% 42%,rgba(244,190,95,.74) 0 12%,rgba(142,75,33,.5) 28%,transparent 53%),linear-gradient(120deg,#19130f 5%,#4a2618 46%,#d09850)}
.home-values-grid article:nth-child(5):after{background-image:repeating-radial-gradient(ellipse at 70% 45%,transparent 0 13px,rgba(244,193,48,.55) 14px 17px,transparent 18px 30px),radial-gradient(circle at 78% 28%,#f1c943 0 8%,transparent 9%),linear-gradient(145deg,#152f73,#3159a0 54%,#dbb73c)}
.home-values-grid article:nth-child(6):after{background-image:radial-gradient(ellipse at 70% 28%,transparent 0 28px,rgba(106,65,42,.44) 29px 32px,transparent 33px),radial-gradient(ellipse at 38% 72%,rgba(73,118,132,.46) 0 8%,transparent 9%),linear-gradient(168deg,#d9c39e 0 47%,#b98655 48% 51%,#718c88 52%)}
.home-values-grid article:nth-child(7):after{background-image:conic-gradient(from 18deg at 64% 44%,#d1ab36 0 12%,#26398e 12% 24%,#e9ded0 24% 38%,#bd6b52 38% 51%,#15225e 51% 65%,#d8ba64 65% 79%,#77929b 79% 100%)}
.home-values-grid article:after{background-image:var(--value-image)!important;background-size:cover;background-position:center;opacity:.92}
.home-values-grid h3{position:relative;z-index:1;max-width:100%;margin:0 0 18px;color:var(--home-heading);font-size:27px;line-height:1.25}
.home-values-grid h3{max-width:62%}
.home-values-grid h3 b{display:block;margin-top:5px;color:var(--brand-accent);font-weight:600}
.home-values-grid .value-artist{position:relative;z-index:1;display:block;max-width:62%;color:var(--brand-primary);font-size:15px;font-weight:600;line-height:1.4}
.home-values-grid p{position:relative;z-index:1;max-width:62%;margin:24px 0 0;color:#45464d;font-size:15px;line-height:1.7}
.home-values-grid p{margin-top:16px}
@media(hover:hover){.home-values-grid article:hover{transform:translateY(-6px);border-color:rgba(210,180,70,.55);box-shadow:0 22px 50px rgba(17,27,150,.12)}}

/* Team portraits extend above their blue arch, as in the reference. */
.homepage .team { background:#fbf8ef; max-width:none; padding-left:max(40px,calc((100% - 1360px)/2)); padding-right:max(40px,calc((100% - 1360px)/2)); }
.homepage .team .center-heading { margin:0 auto; }
.homepage .team .eyebrow { font-size:16px; line-height:24px; padding:6px 12px; box-shadow:0 0 0 3px #fff,0 4px 2px #8c96a940,0 8px 17px #8c96a91a; }
.homepage .team h2 { font-size:64px; line-height:1.2; color:var(--home-heading); margin:25px 0 0; }
.homepage .team h2 em { color:var(--brand-accent); font-style:normal; }
.homepage .home-team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; max-width:1340px; margin:120px auto 0; }
.homepage .home-team-grid article { border:0; background:none; overflow:visible; border-radius:0; text-align:center; box-shadow:none; }
.home-doctor-photo { position:relative; height:auto; aspect-ratio:317/226; background:var(--brand-primary); border:1px solid #262626; border-radius:200px 200px 0 0; }
.homepage .home-team-grid .home-doctor-photo img { position:absolute; bottom:0; left:0; width:100%; height:auto; aspect-ratio:317/299; object-fit:cover; object-position:center; border-radius:0; }
.homepage .home-team-grid h3 { font-size:24px; line-height:28px; font-weight:600; color:#030303; margin:24px 0 6px; }
.homepage .home-team-grid p { font-size:18px; line-height:27px; color:#000; margin:0; }
.homepage .home-team-grid .home-doctor-placeholder { background:#fff; border-color:#e8eaf4; }
.homepage .home-team-grid .home-doctor-placeholder img { height:100%; aspect-ratio:auto; object-fit:contain; padding:30px; }
.homepage .home-team-grid { row-gap:110px; }

/* Patient experience: single rounded panel, equal image/content columns. */
.home-experience-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:var(--brand-primary); border-radius:40px; overflow:hidden; }
.home-experience-image { min-height:688px; }
.home-experience-image>img { width:100%; height:100%; object-fit:cover; }
.homepage .home-experience .experience-copy { padding:64px 64px 35px; min-width:0; }
.homepage .home-experience .eyebrow { color:var(--brand-accent); border-color:#ffffff33; background:transparent; box-shadow:none; }
.google-reviews-link{display:inline-flex;margin-top:24px;color:#fff;border-bottom:1px solid var(--brand-accent);padding-bottom:4px;font-weight:600}
.homepage .home-experience h2 { color:#fff; font-size:56px; line-height:56px; margin:20px 0; }
.homepage .home-experience .experience-copy>p { color:#fff; font-size:18px; line-height:29.25px; margin:0; }
.homepage .home-experience .experience-list { border-top:1px solid #ffffff1a; padding-top:32px; margin-top:32px; display:flex; flex-direction:column; gap:24px; }
.homepage .home-experience .experience-list article { display:flex; gap:16px; align-items:flex-start; padding:0; margin:0; border:0; }
.homepage .home-experience .experience-list i { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:12px; background:#ffffff1a; }
.homepage .home-experience .experience-list i img { width:20px; height:20px; }
.homepage .home-experience .experience-list b { display:block; font:700 20px/28px 'Cormorant Garamond',serif; color:#fff; }
.homepage .home-experience .experience-list span { display:block; font-size:14px; line-height:20px; color:#fff; margin-top:0; }

/* Appointment: full-width name, paired phone/email, and three icon badges. */
.home-appointment { background:#f7fafe; padding:80px max(40px,calc((100% - 1360px)/2)); }
.home-appointment-panel { border:1px solid #f3f4f6; border-radius:32px; background:#fff; padding:65px; display:grid; grid-template-columns:minmax(0,598fr) minmax(0,583fr); gap:48px; align-items:center; }
.home-appointment .appointment-intro { padding:32px; min-width:0; }
.home-book-icon { width:56px; height:56px; border-radius:16px; background:var(--brand-primary); display:grid; place-items:center; }
.home-book-icon img { width:26px; height:26px; }
.home-appointment h2 { font-size:64px; line-height:55px; color:var(--home-heading); margin:20px 0; }
.home-appointment .appointment-intro>p { font-size:18px; line-height:29.25px; color:#000; margin:0; }
.home-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:40px; }
.home-stats>span { min-width:0; border:1px solid #dee5ed; border-radius:16px; padding:16px 6px; display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center; font-size:12px; line-height:15px; font-weight:500; color:var(--home-heading); }
.home-stats img { width:22px; height:22px; }
.home-appointment .appointment-form { padding:0; border:0; border-radius:0; box-shadow:none; display:flex; flex-direction:column; gap:22px; min-width:0; }
.home-appointment .appointment-form label { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:14px; line-height:20px; font-weight:500; color:var(--home-heading); }
.home-appointment .field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.home-appointment input,.home-appointment select,.home-appointment textarea { display:block; width:100%; margin:0; border:1px solid #ebecff; background:#fff; border-radius:12px; padding:13px 16px; font:400 16px/24px Inter,Arial,sans-serif; color:var(--home-heading); height:52px; }
.home-appointment input::placeholder,.home-appointment textarea::placeholder { color:#9ca3af; opacity:1; }
.home-appointment select:invalid { color:#9ca3af; }
.home-appointment select:disabled { color:#9ca3af; background:#f7f7fa; cursor:not-allowed; }
.home-appointment textarea { height:82px; resize:vertical; }
.home-appointment .button { margin-top:6px; min-height:54px; font-size:18px; background:var(--brand-primary); color:#fff; border-radius:12px; }
.home-appointment small { color:#7e7e81; text-align:center; font-size:12px; line-height:16px; }

/* Contact and footer retain shared behavior with reference-specific spacing. */
.homepage .contact-section { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; align-items:start; }
.homepage .contact-copy h2 { color:var(--home-heading); font-size:64px; line-height:64px; margin:20px 0 32px; }
.homepage .contact-copy>p { font-size:18px; line-height:29.25px; margin:0 0 32px; }
.homepage .contact-cards { display:flex; flex-direction:column; gap:16px; }
.homepage .contact-cards article { min-height:90px; padding:20px; margin:0; gap:16px; border-radius:16px; border:1px solid #dee5ed; box-shadow:none; }
.homepage .contact-cards i { width:48px; height:48px; background:var(--brand-primary); border-radius:12px; }
.homepage .contact-cards article span { font-size:14px; line-height:20px; color:#7e8492; }
.homepage .contact-cards article b { font:600 18px/28px 'Cormorant Garamond',serif; color:var(--home-heading); }
.homepage .map-card { border:1px solid #dee5ed; border-radius:32px; overflow:hidden; height:575px; }
.homepage .map-card iframe { height:100%; width:100%; border:0; }
.homepage .map-preview { display:block; height:100%; position:relative; }
.homepage .map-preview>img { width:100%; height:100%; object-fit:cover; }
.homepage .map-preview>span { position:absolute; top:16px; right:16px; background:#fff; color:var(--brand-primary); padding:10px 16px; border-radius:10px; font-size:14px; opacity:0; transition:opacity .2s; }
.homepage .map-preview:hover>span,.homepage .map-preview:focus-visible>span { opacity:1; }
.homepage footer { padding:32px 40px; }
.homepage .footer-main { grid-template-columns:.9fr .85fr 1.25fr; gap:0; padding:0; border-radius:32px 32px 0 0; }
.homepage .footer-brand>img { width:168px; height:126px; object-fit:contain; filter:none; }
.homepage .footer-brand>p { max-width:278px; font-size:16px; font-weight:400; line-height:26px; margin:24px 0; }
.homepage .footer-main h3 { color:#fff; font-size:20px; line-height:28px; margin:0 0 24px; }
.homepage .footer-main>div:last-child h3 { font-size:24px; line-height:32px; }
.homepage .footer-main>div:last-child>p { font-size:14px; font-weight:300; line-height:20px; margin:0 0 24px; }
.homepage .footer-links { font-size:16px; line-height:24px; gap:16px 24px; }
.homepage .socials { display:flex; gap:12px; }
.homepage .socials a { background:#c9a623; }
.homepage .subscribe { margin-top:0; }
.homepage .footer-bottom { font-size:14px; line-height:20px; padding:0; }

@media(min-width:1081px) and (max-width:1250px) {
  .homepage .nav { gap:20px; }
  .homepage .about { gap:36px; }
  .homepage .concept h2 { font-size:54px; line-height:56px; }
  .homepage .home-experience .experience-copy { padding:40px; }
  .home-appointment-panel { padding:40px; gap:24px; }
  .home-appointment .appointment-intro { padding:16px; }
  .home-appointment h2 { font-size:56px; }
}
@media(max-width:1080px) {
  .homepage .site-header { height:82px; }
  .homepage .section { padding:64px 28px; }
  .homepage .about { grid-template-columns:1fr; gap:40px; }
  .home-about-art { max-width:540px; margin:auto; }
  .homepage .about-content { padding:0; }
  .homepage .concept .section-heading { grid-template-columns:1fr; gap:24px; }
  .homepage .concept .section-heading>p { white-space:normal; margin:0; }
  .homepage .concept h2 { font-size:56px; line-height:1.05; }
  .homepage .home-values .center-heading h2{font-size:56px}
  .home-concept-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:400px 280px 280px; margin-top:36px; }
  .home-concept-grid .concept-mastery { grid-column:span 2; grid-row:span 1; }
  .homepage .home-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:110px; margin-top:120px; }
  .home-experience-panel { grid-template-columns:1fr; }
  .home-experience-image { min-height:0; height:520px; }
  .home-experience-image img { object-position:center 35%; }
  .homepage .home-experience .experience-copy { padding:44px; }
  .home-appointment { padding:64px 28px; }
  .home-appointment-panel { grid-template-columns:1fr; padding:40px; gap:40px; }
  .home-appointment .appointment-intro { padding:0; }
  .homepage .contact-section { grid-template-columns:1fr; }
  .homepage footer { padding:28px; }
  .homepage .footer-main { grid-template-columns:1fr 1fr; padding:0; gap:0; }
  .homepage .footer-brand { grid-row:auto; }
  .homepage .footer-main>div:last-child { grid-column:auto; }
  .homepage .footer-bottom { padding:0; gap:0; }
}
@media(max-width:600px) {
  .homepage .section { padding:48px 20px; }
  .homepage .about { display:grid; }
  .homepage .about h2,.homepage .team h2,.homepage .contact-copy h2 { font-size:46px; line-height:1.1; }
  .homepage .about-story-text,.homepage .contact-copy>p,.home-appointment .appointment-intro>p { font-size:16px; line-height:26px; }
  .homepage .about-story-text .brand-line { font-size:25px; }
  .homepage .values-grid { grid-template-columns:1fr; gap:16px; }
  .homepage .values-grid article { min-height:0; }
  .homepage .concept h2 { font-size:42px; line-height:1.05; }
  .homepage .home-values .center-heading h2{font-size:46px}
  .home-values-grid{grid-template-columns:1fr;gap:16px}
  .home-values-grid article,.home-values-grid article:nth-child(n+3):nth-child(-n+5),.home-values-grid article:nth-child(n+6){grid-column:auto;min-height:0;padding:30px 26px 28px}
  .home-values-grid article:after{width:58%;opacity:.28}
  .home-values-grid h3{max-width:100%;font-size:24px}
  .home-values-grid p{max-width:78%}
  .homepage .concept h2 br { display:contents; }
  .homepage .concept h2 br:after { content:' '; }
  .homepage .concept .section-heading>p { font-size:16px; line-height:26px; }
  .home-concept-grid { grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:300px; gap:16px; }
  .home-concept-grid .concept-mastery { grid-column:auto; grid-row:auto; }
  .home-concept-grid article { border-radius:22px; }
  .home-concept-grid article>div { left:20px; bottom:20px; }
  .home-concept-grid h3 { font-size:24px; }
  .homepage .home-team-grid { grid-template-columns:1fr; max-width:360px; margin:110px auto 0; gap:110px; }
  .homepage .home-team-grid h3 { margin-top:24px; }
  .home-experience-panel { border-radius:28px; }
  .home-experience-image { height:400px; }
  .homepage .home-experience .experience-copy { padding:28px 24px; }
  .homepage .home-experience h2 { font-size:40px; line-height:42px; }
  .homepage .home-experience .experience-copy>p { font-size:16px; line-height:26px; }
  .homepage .home-experience .experience-list article { gap:12px; }
  .home-appointment { padding:48px 20px; }
  .home-appointment-panel { border-radius:24px; padding:28px 20px; }
  .home-appointment h2 { font-size:44px; line-height:44px; }
  .home-stats { grid-template-columns:1fr; gap:10px; margin-top:28px; }
  .home-stats>span { flex-direction:row; justify-content:center; font-size:13px; }
  .home-appointment .field-row { grid-template-columns:1fr; gap:22px; }
  .homepage .map-card { height:400px; }
  .homepage footer { padding:20px; }
  .homepage .footer-main { grid-template-columns:1fr; padding:0; gap:0; }
  .homepage .footer-main>div:last-child { grid-column:auto; }
  .homepage .footer-bottom { padding:0; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .home-concept-grid article>img { transition:none; } }

/* Keep faces in frame instead of cropping the video around its centre. */
.homepage .hero-video-bg { object-position:center top; }
@media(max-width:1080px) {
  .homepage .hero.hero-video-section { height:auto; min-height:0; padding-top:calc(56.25vw + 32px); }
  .homepage .hero-video-bg { height:auto; aspect-ratio:16 / 9; object-fit:contain; object-position:center top; }
  .homepage .hero-shade { background:linear-gradient(0deg,#090f35 0%,transparent 45%); }
  .homepage .hero.hero-video-section .hero-copy { margin-bottom:36px; }
}
