/* The home screen uses the same regions at every width. Only sizing changes. */
body{--home-gutter:clamp(16px,4vw,64px);--header-height:132px}
.site-header{position:absolute;inset:0 0 auto;background:transparent;z-index:70}
.site-header .nav-shell{width:100%;height:var(--header-height);min-height:0;padding:12px var(--home-gutter);display:grid;grid-template-columns:1fr auto;grid-template-rows:48px 1fr;gap:4px 12px;align-items:center}
.site-header .brand{grid-column:1;grid-row:1;justify-self:start;align-items:center;gap:2px;min-width:0}
.site-header .supplied-logo{width:clamp(90px,11vw,138px);height:32px;display:block}
.site-header .supplied-logo img{height:100%;width:100%;object-fit:contain}
.site-header .brand .clinic-label{display:block;font-size:9px;line-height:1.3;color:#fff;white-space:nowrap}
.site-header .language-control{grid-column:2;grid-row:1;order:initial;margin:0!important;justify-self:end}
.site-header .language-control select{min-height:44px;width:44px;max-width:44px;font-size:13px}
.site-header .nav-toggle,.mobile-bottom-nav{display:none!important}
.site-header .primary-nav,.site-header .primary-nav.open{grid-column:1/-1;grid-row:2;display:flex!important;position:static;inset:auto;width:100%;max-width:none;max-height:none;overflow:visible;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:0 clamp(12px,2vw,28px);margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header .primary-nav>a,.site-header .primary-nav>[data-section],.site-header .primary-nav .btn{display:inline-flex;align-items:center;justify-content:flex-start;flex:none;width:auto;min-height:32px;margin:0;padding:5px 0;white-space:nowrap;font-size:clamp(11px,1.05vw,14px);line-height:1.35;color:#fff;background:none;border:0;box-shadow:none;text-align:left}
.site-header .primary-nav .nav-phone{display:inline-flex}
.hero{padding:0}.hero>.container{width:100%;max-width:none}
.hero-card{display:block;position:relative;height:100svh;min-height:568px;padding:var(--header-height) var(--home-gutter) 110px;overflow:visible;background:transparent}
.hero-copy{position:static;display:block;width:min(640px,100%);max-width:none;margin:0;padding:clamp(8px,3vh,32px) 0 0;background:none}
.hero-copy h1,.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(26px,min(4.8vw,7.5svh),72px);line-height:1.08;letter-spacing:-.035em;text-transform:uppercase;padding:0 0 clamp(10px,2svh,22px);margin:0 0 clamp(10px,2svh,22px);border-bottom:1px solid rgba(255,255,255,.45);text-wrap:initial}
.hero-lede{max-width:44ch;font-size:clamp(12px,min(1.4vw,2svh),16px);line-height:1.6;margin:0 0 clamp(8px,1.6svh,18px);color:#fff}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;margin:0}
.hero-actions .btn,.hero-actions .text-link{display:inline-flex;align-items:center;justify-content:flex-start;width:auto;min-height:40px;padding:8px 0;font-size:clamp(12px,1.2vw,15px);line-height:1.4;margin:0;white-space:normal;color:white}
.hero-facts{position:absolute;left:var(--home-gutter);bottom:24px;margin:0;padding:0;border:0;display:block}
.hero-facts .experience{display:flex;align-items:center;gap:10px;margin:0;padding:0}
.hero-facts .experience strong{font-size:clamp(30px,4vw,48px);line-height:1.1}
.hero-facts .experience span{font-size:clamp(10px,1vw,13px);line-height:1.4}
.opening-hours-button{position:absolute;inset:auto var(--home-gutter) 24px auto;order:initial;align-self:auto;width:auto;max-width:none;margin:0;padding:10px 12px;font-size:clamp(10px,1vw,13px);line-height:1.5;gap:1px;border-radius:12px}
.opening-hours-button span:first-child{font-size:inherit;margin-bottom:2px}
.mobile-landscape{display:none}
.site-footer{padding-bottom:32px}
html[lang="ne"] .hero h1{font-size:clamp(24px,min(4.4vw,6svh),60px);line-height:1.35;letter-spacing:0}
@media(max-width:760px){
 body{--header-height:148px}
 body::before{background-image:linear-gradient(90deg,rgba(18,53,76,.76),rgba(32,79,104,.35)),url('kirtipur-dental-realistic.png');background-size:cover;background-position:center center}
 .hero-copy{width:100%}
 .site-header .primary-nav,.site-header .primary-nav.open{column-gap:16px}
 .hero-copy h1,.hero h1{font-size:clamp(26px,min(7.6vw,5.3svh),48px)}
 .hero-lede{max-width:42ch;font-size:clamp(12px,1.8svh,15px)}
}
/* Short landscape windows retain the same anchors; reduce decorative spacing. */
@media(max-height:560px) and (min-width:600px){
 body{--header-height:110px}
 .site-header .nav-shell{grid-template-rows:40px 1fr;padding-block:6px}
 .hero-card{min-height:360px;padding-bottom:70px}
 .hero-copy{padding-top:0;width:70%;max-width:660px}
 .hero-copy h1,.hero h1{font-size:26px;margin-bottom:8px;padding-bottom:8px}
 .hero-lede{font-size:12px;line-height:1.4;max-width:64ch;margin-bottom:4px}
 .hero-actions{flex-direction:column;gap:0}
 .hero-actions .btn,.hero-actions .text-link{font-size:12px;min-height:36px}
 .hero-facts,.opening-hours-button{bottom:12px}
 .opening-hours-button{font-size:10px;padding:8px 10px}
 .hero-facts .experience strong{font-size:28px}
}
/* Use the supplied landscape and portrait scenes for each screen size. */
body::before{
 background-color:#377da9;
 background-image:linear-gradient(90deg,rgba(12,39,59,.58),rgba(12,39,59,.08)),url('clinic-background-desktop.png');
 background-size:100% 100%,cover;
 background-position:center,right center;
 background-repeat:no-repeat;
}
@media(max-width:760px){
 body::before{
  background-image:linear-gradient(180deg,rgba(12,39,59,.48),rgba(12,39,59,.04) 65%),url('clinic-background-mobile.png');
  background-size:100% 100%,cover;
  background-position:center,center;
 }
}

/* Center desktop navigation beside the logo, on the first header row. */
@media(min-width:1000px){
 .site-header .nav-shell{grid-template-columns:minmax(145px,1.35fr) auto minmax(145px,.65fr);grid-template-rows:48px;align-content:start}
 .site-header .primary-nav,.site-header .primary-nav.open{grid-column:2;grid-row:1;width:auto;justify-content:center;flex-wrap:nowrap;gap:0 clamp(12px,1.5vw,24px)}
 .site-header .language-control{grid-column:3;grid-row:1}
}

/* Align branding with the hero and keep opening hours in view. */
.site-header .brand{align-items:flex-start}
.site-header .supplied-logo img{object-position:left center}
.opening-hours-button{position:fixed;right:var(--home-gutter);bottom:calc(24px + env(safe-area-inset-bottom));z-index:60}
.site-footer{padding-bottom:32px}
@media(min-width:1000px){
 .site-header .nav-shell{grid-template-columns:minmax(145px,1fr) auto 44px;column-gap:28px}
}

.site-header .brand .clinic-label{text-align:left;width:auto;max-width:none}

.opening-hours-text{margin-top:18px;color:#fff;font-size:clamp(12px,1.2vw,15px);line-height:1.6;text-shadow:0 1px 5px rgba(14,40,57,.3)}
.hero .opening-hours-text p{margin:0;color:#fff}
.opening-hours-text p:first-child{font-weight:700;margin-bottom:4px}
@media(max-width:760px){.hero-card{min-height: max(720px,100svh)}}
