*{box-sizing:border-box}
html{scroll-behavior:smooth}
:root{
  --navy:#082b43;
  --navy-2:#123a55;
  --cream:#fbf8f2;
  --paper:#fffdf8;
  --champagne:#c99a4a;
  --line:rgba(8,43,67,.10);
  --line-soft:rgba(8,43,67,.075);
  --text:#18354a;
  --muted:#607486;
}
body{margin:0;background:var(--cream);color:var(--navy);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.45;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
a:focus-visible{outline:3px solid var(--champagne);outline-offset:4px}
.eyebrow{margin:0 0 18px;color:var(--champagne);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:44px;padding:0 24px;border-radius:6px;font-size:13px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:var(--navy);color:#fff;box-shadow:0 16px 34px rgba(8,43,67,.16)}
.btn-outline{border:1px solid rgba(8,43,67,.24);background:rgba(255,255,255,.58);color:var(--navy)}
.btn-light{background:#fff;color:var(--navy)}
.btn-dark-invert{border:1px solid rgba(255,255,255,.28);color:#fff;background:transparent}
.btn-gold{background:var(--champagne);color:#fff}
.text-link{font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap}
.text-link:hover{opacity:.65}

.site-header{height:76px;margin:22px 32px 0;padding:0 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:46px;background:rgba(255,253,248,.88);border:1px solid var(--line-soft);border-radius:18px;box-shadow:0 20px 50px rgba(8,43,67,.12);backdrop-filter:blur(20px);position:relative;z-index:20}
.brand{display:flex;align-items:center}.brand img{height:42px;width:auto;max-width:260px;filter:brightness(0) saturate(100%) invert(13%) sepia(25%) saturate(1862%) hue-rotate(166deg) brightness(92%) contrast(94%)}
.main-nav{display:flex;justify-content:center;gap:clamp(22px,3vw,42px);font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap}.main-nav a{transition:opacity .2s ease}.main-nav a:hover{opacity:.6}
.header-actions{display:flex;align-items:center;gap:20px;white-space:nowrap}.phone{display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:850;color:var(--navy)}

.hero{display:grid;grid-template-columns:minmax(440px,43%) minmax(0,57%);min-height:735px;margin-top:0;padding-top:0;background:var(--cream);border-bottom:1px solid var(--line-soft);overflow:hidden}.hero-content{padding:112px 0 74px 8vw;max-width:650px;position:relative;z-index:3}.hero h1{margin:0;max-width:620px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(62px,5.8vw,92px);font-weight:400;line-height:.93;letter-spacing:-.078em;color:var(--navy)}.lead{max-width:500px;margin:28px 0 0;color:var(--text);font-size:15.5px;line-height:1.65}.hero-actions{display:flex;gap:14px;margin-top:32px}.rating-line{display:flex;align-items:center;gap:11px;margin-top:28px;font-size:14px;color:var(--navy)}.google-mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);color:white;font-size:15px;font-weight:900}.rating-line strong{font-size:16px}.stars{color:var(--champagne);font-size:17px;letter-spacing:.08em}.rating-subline{display:flex;gap:30px;margin-top:8px;font-size:12.5px;color:var(--muted)}.rating-subline a{font-weight:850;color:var(--navy)}
.hero-image{margin:0;position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:735px;overflow:hidden}.hero-image:before{content:"";position:absolute;left:0;top:0;bottom:0;width:18%;z-index:2;background:linear-gradient(90deg,var(--cream) 0%,rgba(251,248,242,.88) 25%,rgba(251,248,242,.32) 65%,rgba(251,248,242,0) 100%)}.hero-image img{width:100%;height:680px;object-fit:cover;object-position:50% 20%;display:block;filter:saturate(.9) contrast(1.03) brightness(1.02)}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,253,248,.82);border-bottom:1px solid var(--line-soft)}.trust-strip article{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:center;padding:30px clamp(24px,3.4vw,54px);border-right:1px solid var(--line-soft)}.trust-strip article:last-child{border-right:0}.trust-strip svg{width:40px;height:40px;stroke:var(--navy);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.trust-strip h2{font-size:15px;line-height:1.2;margin:0 0 7px;color:var(--navy)}.trust-strip p{font-size:13px;line-height:1.52;margin:0;color:var(--text);max-width:230px}

.featured-treatments,.team-section,.reviews-section,.location-section,.process-section{padding-left:8vw;padding-right:8vw;border-bottom:1px solid var(--line-soft)}
.featured-treatments{padding-top:78px;padding-bottom:86px;background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%)}.section-head{max-width:1180px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:end;gap:28px}.section-head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,3.8vw,58px);line-height:.98;letter-spacing:-.06em;font-weight:400;color:var(--navy)}
.featured-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:24px}.featured-main{min-height:430px;background:rgba(255,255,255,.56);border:1px solid var(--line-soft);border-radius:12px;padding:54px 58px;display:grid;grid-template-columns:96px 1fr;gap:42px;align-items:start;box-shadow:0 20px 70px rgba(8,43,67,.035);transition:transform .22s ease,box-shadow .22s ease}.featured-main:hover,.featured-side a:hover,.team-card:hover,.review-grid article:hover{transform:translateY(-3px);box-shadow:0 26px 80px rgba(8,43,67,.07)}.featured-main img{width:96px;height:96px;object-fit:contain}.featured-main h3{margin:0 0 18px;color:var(--navy);font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,4vw,62px);line-height:1;letter-spacing:-.06em;font-weight:400}.featured-main p:not(.eyebrow){margin:0 0 28px;color:var(--text);font-size:15.5px;line-height:1.7;max-width:490px}.featured-main span,.featured-side span,.team-card a{color:var(--champagne);font-weight:800;font-size:13px}.featured-side{display:grid;gap:16px}.featured-side a{min-height:132px;background:rgba(255,255,255,.52);border:1px solid var(--line-soft);border-radius:10px;padding:24px 28px;display:grid;grid-template-columns:56px 1fr;gap:24px;align-items:center;box-shadow:0 18px 60px rgba(8,43,67,.03);transition:transform .22s ease,box-shadow .22s ease}.featured-side img{width:56px;height:56px;object-fit:contain}.featured-side h3{margin:0 0 8px;color:var(--navy);font-size:18px;line-height:1.18}.featured-side p{margin:0 0 9px;color:var(--text);font-size:13.5px;line-height:1.55}

.team-section{padding-top:78px;padding-bottom:90px;background:var(--paper)}.team-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.team-card{background:rgba(251,248,242,.72);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;box-shadow:0 18px 60px rgba(8,43,67,.035);transition:transform .22s ease,box-shadow .22s ease}.team-card img{width:100%;height:250px;display:block;object-fit:cover;object-position:50% 18%;filter:grayscale(1) contrast(1.05) brightness(1.04);transition:transform .5s ease}.team-card:hover img{transform:scale(1.025)}.team-card div{padding:24px 24px 26px}.team-card h3{margin:0 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.05;letter-spacing:-.045em;font-weight:400;color:var(--navy)}.role{margin:0 0 14px;color:var(--muted);font-size:12px;font-weight:800}.team-card p:not(.role){margin:0 0 20px;color:var(--text);font-size:13.5px;line-height:1.62}

.reviews-section{padding-top:78px;padding-bottom:84px;background:linear-gradient(90deg,var(--paper) 0%,var(--cream) 100%);display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(50px,7vw,100px);align-items:start}.reviews-lead h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,3.5vw,56px);line-height:1;letter-spacing:-.06em;font-weight:400}.reviews-lead p:not(.eyebrow){margin:20px 0 0;color:var(--text);font-size:15px;line-height:1.68}.review-rating{margin-top:22px;margin-bottom:14px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-grid article{background:rgba(255,253,248,.78);border:1px solid var(--line-soft);border-radius:12px;padding:32px 32px 28px;min-height:220px;box-shadow:0 18px 60px rgba(8,43,67,.035);transition:transform .22s ease,box-shadow .22s ease}.review-stars{color:var(--champagne);letter-spacing:.12em;font-size:18px;margin-bottom:22px}.review-grid p{margin:0 0 26px;color:var(--text);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.32;letter-spacing:-.025em}.review-grid strong{font-size:13px;color:var(--navy)}

.location-section{padding-top:72px;padding-bottom:72px;background:var(--paper);display:grid;grid-template-columns:minmax(300px,42%) minmax(260px,.75fr) minmax(330px,1fr);gap:42px;align-items:stretch}.clinic-photo{margin:0;min-height:360px;overflow:hidden;border-radius:12px}.clinic-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:saturate(.88) contrast(1.02) brightness(.96)}.location-copy{padding:22px 0;display:flex;flex-direction:column;justify-content:center}.location-copy h2{margin:0 0 24px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,3.6vw,56px);line-height:1;letter-spacing:-.06em;font-weight:400}.location-list{list-style:none;margin:0;padding:0;display:grid;gap:18px;color:var(--text);font-size:14px}.location-list li{position:relative;padding-left:28px}.location-list li:before{content:"";position:absolute;left:0;top:.35em;width:12px;height:12px;border:1px solid var(--champagne);border-radius:50%}.location-list strong{color:var(--navy)}.map-panel{display:flex;flex-direction:column;gap:16px;justify-content:stretch}.leaflet-map{height:100%;min-height:360px;border-radius:12px;border:1px solid var(--line-soft);overflow:hidden;background:#eee8dc}.map-panel .btn{align-self:flex-start}.leaflet-container{font-family:Inter,Arial,sans-serif;color:var(--navy)}

.process-section{padding-top:58px;padding-bottom:64px;background:var(--cream)}.process-section>p,.process-section>h2{max-width:1180px;margin-left:auto;margin-right:auto}.process-section h2{margin-top:0;margin-bottom:32px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,3.6vw,56px);line-height:1;letter-spacing:-.06em;font-weight:400}.process-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}.process-grid article{background:var(--paper);padding:30px 32px;display:grid;grid-template-columns:54px 1fr;gap:22px;align-items:start}.process-grid span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--champagne);color:#fff;font-family:Georgia,serif;font-size:16px}.process-grid h3{margin:0 0 8px;color:var(--navy);font-size:17px}.process-grid p{margin:0;color:var(--text);font-size:13.5px;line-height:1.58}

.final-cta{padding:86px 8vw 92px;background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden}.final-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.12),transparent 26%),linear-gradient(135deg,rgba(255,255,255,.06),transparent 44%)}.final-cta>*{position:relative;z-index:1}.final-cta .eyebrow{color:rgba(255,255,255,.62)}.final-cta h2{margin:0 auto 18px;max-width:760px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,4.6vw,76px);line-height:.98;letter-spacing:-.06em;font-weight:400}.final-cta p{margin:0 auto 30px;max-width:520px;color:rgba(255,255,255,.78);font-size:15.5px;line-height:1.65}.final-cta-actions{display:flex;justify-content:center;gap:14px}

.site-footer{margin:0;padding:44px 8vw 46px;background:var(--cream)}.site-footer{display:grid;grid-template-columns:minmax(240px,1fr) minmax(520px,3fr);gap:70px;background:var(--navy);color:#fff;border-radius:18px;margin:34px 32px 32px}.footer-brand img{height:38px;width:auto;filter:brightness(0) invert(1)}.footer-brand p{max-width:250px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}.socials{display:flex;gap:22px;margin-top:24px}.socials a{font-size:22px;color:rgba(255,255,255,.76)}.site-footer nav{display:grid;grid-template-columns:repeat(4,1fr);gap:42px}.site-footer h2{margin:0 0 18px;font-size:14px;color:#fff}.site-footer a,.site-footer p{display:block;margin:0 0 10px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.55}.site-footer a:hover{color:#fff}

.subpage-hero{padding:96px 7vw 64px;background:var(--cream);border-bottom:1px solid var(--line)}.subpage-hero h1{max-width:760px;margin:0;font-family:Georgia,serif;font-size:clamp(48px,5vw,78px);line-height:.98;letter-spacing:-.065em;font-weight:400}.subpage-hero p:not(.eyebrow){max-width:560px;color:var(--text);font-size:16px;line-height:1.68}.treatments{padding:76px 7vw 92px;background:var(--cream);border-bottom:1px solid var(--line)}.treatment-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.treatment-card{min-height:300px;padding:38px 42px;background:rgba(255,255,255,.34);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s ease,transform .18s ease}.treatment-card:hover{background:rgba(255,255,255,.62);transform:translateY(-2px)}.treatment-icon{width:64px;height:64px;object-fit:contain;display:block;margin-bottom:26px}.treatment-card h3{margin:0 0 14px;color:var(--navy);font-size:20px;line-height:1.14;letter-spacing:-.025em}.treatment-card p{margin:0;max-width:330px;color:var(--text);font-size:14.5px;line-height:1.68}

@media(max-width:1180px){.site-header{margin:14px 18px 0}.main-nav,.phone{display:none}.hero{grid-template-columns:1fr;margin-top:-92px}.hero-content{padding:74px 24px 44px;max-width:760px}.hero-image{order:-1;min-height:auto}.hero-image:before{display:none}.hero-image img{height:52vh;min-height:390px}.trust-strip{grid-template-columns:repeat(2,1fr)}.featured-treatments,.team-section,.reviews-section,.location-section,.process-section{padding-left:24px;padding-right:24px}.featured-layout,.reviews-section,.location-section{grid-template-columns:1fr}.team-grid,.review-grid,.process-grid,.treatment-grid{grid-template-columns:repeat(2,1fr)}.leaflet-map{min-height:360px}.site-footer{grid-template-columns:1fr;margin:24px}.site-footer nav{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{height:auto;min-height:68px;padding:12px 16px;border-radius:14px}.brand img{height:36px}.header-actions .btn{min-height:40px;padding:0 16px}.hero h1{font-size:clamp(48px,13vw,70px)}.hero-actions,.final-cta-actions{flex-direction:column;align-items:flex-start}.final-cta-actions{align-items:center}.rating-subline{display:block}.rating-subline a{display:block;margin-top:6px}.trust-strip,.team-grid,.review-grid,.process-grid,.treatment-grid{grid-template-columns:1fr}.trust-strip article{border-right:0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:18px}.featured-main{grid-template-columns:1fr;padding:36px 30px;min-height:auto}.featured-side a{grid-template-columns:48px 1fr;padding:22px}.team-card img{height:280px}.location-section{gap:28px}.clinic-photo{min-height:330px}.process-grid article{grid-template-columns:1fr}.site-footer{padding:34px 26px;border-radius:14px}.site-footer nav{grid-template-columns:1fr}.treatment-grid{border-left:0}.treatment-card{border-left:1px solid var(--line);min-height:auto}}

/* Client-ready stability fixes: keep the premium layout, prevent the map/image section from stretching,
   and make the Leaflet map presentation independent from external tile servers. */
.location-section{
  grid-template-columns:minmax(360px, .95fr) minmax(250px, .62fr) minmax(380px, 1fr);
  align-items:center;
  gap:clamp(36px,4vw,58px);
}
.clinic-photo{
  height:340px;
  min-height:340px;
  align-self:center;
  background:var(--cream);
}
.clinic-photo img{
  height:100%;
  object-position:50% 24%;
}
.map-panel{
  height:auto;
  align-self:center;
  position:relative;
}
.leaflet-map{
  height:340px !important;
  min-height:340px;
  width:100%;
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(110deg, rgba(255,255,255,.56) 0 10%, transparent 10% 100%),
    linear-gradient(30deg, rgba(255,255,255,.52) 0 7%, transparent 7% 100%),
    #eee8dc;
}
.leaflet-map .leaflet-tile-pane{
  opacity:.94;
  filter:saturate(.72) contrast(.94) brightness(1.03);
}
.leaflet-control-container .leaflet-control{
  border:1px solid rgba(8,43,67,.10);
  box-shadow:0 10px 24px rgba(8,43,67,.08);
}
.clinic-tooltip{
  background:#fffdf8;
  color:var(--navy);
  border:1px solid rgba(8,43,67,.10);
  border-radius:999px;
  box-shadow:0 14px 34px rgba(8,43,67,.12);
  padding:10px 14px;
  font-size:12px;
  line-height:1.25;
}
.clinic-tooltip:before{display:none;}
.clinic-div-marker{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:#fff;
  border:3px solid #fff;
  box-shadow:0 12px 28px rgba(8,43,67,.22);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

@media(max-width:1180px){
  .location-section{
    grid-template-columns:1fr;
    align-items:start;
  }
  .clinic-photo,
  .leaflet-map{
    height:360px !important;
    min-height:360px;
  }
  .map-panel .btn{margin-top:0;}
}

@media(max-width:700px){
  .clinic-photo,
  .leaflet-map{
    height:320px !important;
    min-height:320px;
  }
}

/* Reference alignment pass */
.site-header{
  max-width:calc(100% - 64px);
  margin:18px auto 0;
  z-index:20;
}

.hero{
  grid-template-columns:minmax(430px,44%) minmax(0,56%);
  min-height:660px;
}

.hero-content{
  padding:98px 0 62px 8vw;
}

.hero h1{
  max-width:560px;
  font-size:clamp(60px,5.2vw,86px);
}

.hero-image{
  min-height:660px;
  margin-left:-58px;
}

.hero-image img{
  width:calc(100% + 72px);
  max-width:none;
  height:660px;
  object-position:50% 50%;
}

.hero-image img[src$="venterom2.jpg"]{
  object-position:48% 42%;
  filter:saturate(.82) contrast(1.06) brightness(1.03);
}

.hero-image img[src$="hero-waiting-room-moody.jpg"],
.hero-image img[src$="hero-waiting-room-frosted.png"],
.hero-image img[src$="hero-waiting-room-final.png"]{
  object-position:52% 46%;
  filter:contrast(1.08) brightness(1.12);
}

.hero-image:before{
  width:26%;
  background:linear-gradient(90deg,var(--cream) 0%,rgba(251,248,242,.88) 18%,rgba(251,248,242,.48) 50%,rgba(251,248,242,.14) 76%,rgba(251,248,242,0) 100%);
}

.featured-treatments{
  padding-top:54px;
  padding-bottom:72px;
  background:var(--paper);
}

.treatments-heading{
  margin-bottom: 40px;
}

.treatment-showcase{
  max-width:1180px;
  margin:0 auto;
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap: 28px;
}

.treatment-photo-card{
  min-height:304px;
  overflow:hidden;
  background:rgba(255,253,248,.86);
  border:1px solid var(--line-soft);
  border-radius: 20px;
  box-shadow: 0 12px 35px rgba(8,22,42,.07);
  transition:transform .22s ease,box-shadow .22s ease;
}

.treatment-photo-card:hover{
  transform:translateY(-3px);
  box-shadow: 0 18px 42px rgba(8,22,42,.10);
}

.treatment-photo-card img{
  width:100%;
  height:156px;
  display:block;
  border-radius:20px 20px 0 0;
  object-fit:cover;
  object-position:center;
}

.treatment-photo-card div{
  padding: 24px;
}

.treatment-photo-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-family:Georgia,'Times New Roman',serif;
  font-size:27px;
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:400;
}

.treatment-photo-card p{
  margin:0 0 18px;
  color:var(--text);
  font-size:14px;
  line-height:1.55;
}

.treatment-photo-card span{
  color:var(--champagne);
  font-size:13px;
  font-weight:850;
}

.treatment-arrow{
  position:absolute;
  top:50%;
  width:42px;
  height:42px;
  transform:translateY(-50%);
  border:1px solid var(--line-soft);
  border-radius:50%;
  background:rgba(255,253,248,.92);
  color:var(--champagne);
  font-size:22px;
  line-height:1;
  cursor:default;
}

.treatment-arrow-left{left:-64px;}
.treatment-arrow-right{right:-64px;}

.team-section{
  padding-top:58px;
  padding-bottom:62px;
}

.team-grid{
  gap:26px;
}

.team-card{
  background:rgba(255,253,248,.84);
}

.team-card img{
  height:214px;
  filter:saturate(.94) contrast(1.02) brightness(1.03);
}

.team-card:nth-child(2) img{
  object-position:left center;
}

.team-card div{
  padding:20px 24px 22px;
}

.team-card p:not(.role){
  display:none;
}

.team-card a{
  display:inline-block;
  margin-top:12px;
}

.reviews-section{
  padding-top:58px;
  padding-bottom:58px;
}

.location-section{
  padding-top:0;
  padding-bottom:0;
  grid-template-columns:minmax(340px,42%) minmax(250px,.72fr) minmax(370px,1fr);
  gap:36px;
}

.clinic-photo{
  height:330px;
  min-height:330px;
  border-radius:0 12px 12px 0;
}

.clinic-photo img{
  object-position:center;
}

.leaflet-map{
  height:300px !important;
  min-height:300px;
  background:#f2eadf;
}

.map-panel{
  padding:32px 0;
}

.map-image{
  width:100%;
  height:300px;
  display:block;
  object-fit:cover;
  object-position:center;
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:#f2eadf;
}

.process-section{
  padding-top:36px;
  padding-bottom:34px;
}

.process-grid article{
  min-height:104px;
  align-items:center;
}

.site-footer{
  margin:0 32px 32px;
}

.leaflet-map .leaflet-tile-pane{
  opacity:1;
  filter:saturate(.86) contrast(1.06) brightness(1);
}

@media(max-width:1180px){
  .site-header{max-width:calc(100% - 36px);}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-content{padding:56px 24px 42px;}
  .hero-image{order:0;min-height:auto;}
  .hero-image img{height:52vh;min-height:390px;}
  .treatment-showcase{grid-template-columns:repeat(2,1fr);}
  .treatment-arrow{display:none;}
  .location-section{grid-template-columns:1fr;padding-top:32px;padding-bottom:32px;}
  .clinic-photo{border-radius:12px;}
}

@media(max-width:700px){
  .site-header{max-width:calc(100% - 24px);}
  .treatment-showcase{grid-template-columns:1fr;}
  .treatment-photo-card img{height:190px;}
  .team-card img{height:280px;}
  .site-footer{margin:0 16px 24px;}
}



/* === HERO VISIBILITY PASS v1 ===
   Keep the editorial fade, but stop it from washing too far into the image.
*/
.hero-image{
  margin-left:-34px;
}

.hero-image:before{
  width:14%;
  background:
    linear-gradient(
      90deg,
      var(--cream) 0%,
      rgba(251,248,242,.78) 24%,
      rgba(251,248,242,.32) 56%,
      rgba(251,248,242,.08) 78%,
      rgba(251,248,242,0) 100%
    );
}

.hero-image img{
  width:calc(100% + 46px);
  object-position:54% 46%;
  filter:saturate(.92) contrast(1.05) brightness(1.06);
}

.hero-image img[src$="hero-waiting-room-final.png"]{
  object-position:54% 46%;
  filter:saturate(.92) contrast(1.05) brightness(1.06);
}

@media(max-width:1180px){
  .hero-image{
    margin-left:0;
  }

  .hero-image:before{
    display:none;
  }

  .hero-image img{
    width:100%;
    object-position:50% 46%;
  }
}


/* === Treatment card image crop pass v1 ===
   Taller treatment photography + tighter editorial crops.
*/
.treatment-photo-card img{
  height:190px;
  object-fit:cover;
}

/* Card order includes arrow button first:
   2 = Implantatprotetikk, 3 = Usynlig regulering, 4 = Rotfylling
*/
.treatment-showcase .treatment-photo-card:nth-of-type(1) img{
  object-position:center 26%;
  filter:saturate(.9) contrast(1.04) brightness(1.02);
}

.treatment-showcase .treatment-photo-card:nth-of-type(2) img{
  object-position:center 42%;
  filter:saturate(.9) contrast(1.03) brightness(1.03);
}

.treatment-showcase .treatment-photo-card:nth-of-type(3) img{
  object-position:42% 38%;
  filter:saturate(.86) contrast(1.04) brightness(1.03);
}

@media(max-width:700px){
  .treatment-photo-card img{
    height:220px;
  }
}


/* Premium treatment refinements */
.treatment-arrow{
  display:none !important;
}


/* === Behandlinger page emergency polish === */
.treatments-hero{
  padding-top:118px;
  padding-bottom:78px;
}

.treatments-hero h1{
  max-width:820px;
}

.treatments-hero p:not(.eyebrow){
  margin-top:24px;
}

.premium-treatments-page{
  padding-top:76px;
  padding-bottom:112px;
  background:var(--cream);
}

.premium-treatments-page .treatment-grid{
  border:0;
  gap:22px;
}

.premium-treatments-page .treatment-card{
  border:1px solid var(--line-soft);
  border-radius:16px;
  background:rgba(255,253,248,.72);
  min-height:276px;
  box-shadow:0 18px 45px rgba(8,43,67,.035);
}

.premium-treatments-page .treatment-card:hover{
  background:rgba(255,253,248,.96);
  transform:translateY(-3px);
  box-shadow:0 24px 55px rgba(8,43,67,.07);
}

.premium-treatments-page .treatment-card-featured{
  background:rgba(201,154,74,.09);
}

@media(max-width:700px){
  .treatments-hero{
    padding-top:74px;
  }

  .premium-treatments-page .treatment-grid{
    gap:16px;
  }
}


/* === HERO RESCUE FIX ===
   Full-bleed hero again. Image touches the right edge, but is calmer:
   - not boxed
   - not oversized
   - shorter than before
   - soft fade preserved
   - wider image composition used properly
*/
.hero{
  display:grid;
  grid-template-columns:minmax(430px,45%) minmax(0,55%);
  min-height:680px;
  background:var(--cream);
  overflow:hidden;
}

.hero-content{
  padding:92px 0 68px 8vw;
  max-width:650px;
  position:relative;
  z-index:3;
}

.hero h1{
  max-width:590px;
  font-size:clamp(58px,5.1vw,82px);
}

.hero-image{
  position:relative;
  min-height:680px;
  height:680px;
  margin:0;
  margin-left:-34px;
  display:block;
  overflow:hidden;
  background:var(--cream);
}

.hero-image img,
.hero-image img[src$="living-room.png"]{
  width:100%;
  max-width:none;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:55% 50%;
  transform:scale(.96);
  transform-origin:center center;
  filter:contrast(1.06) brightness(1.07);
}

.hero-image::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:86px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.88) 24%,
    rgba(251,248,242,.38) 62%,
    rgba(251,248,242,0) 100%
  );
}

@media(max-width:1180px){
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .hero-content{
    padding:56px 24px 42px;
    max-width:760px;
  }

  .hero-image{
    height:48vh;
    min-height:380px;
    margin-left:0;
  }

  .hero-image::before{
    display:none;
  }

  .hero-image img,
  .hero-image img[src$="living-room.png"]{
    width:100%;
    height:100%;
    transform:none;
    object-position:center center;
  }
}

@media(max-width:700px){
  .hero h1{
    font-size:clamp(46px,12vw,66px);
  }

  .hero-image{
    height:360px;
    min-height:360px;
  }
}


/* =========================================================
   FINAL HERO — warm monochrome waiting-room image
   ========================================================= */

body .hero{
  display:grid !important;
  grid-template-columns:minmax(430px,45%) minmax(0,55%) !important;
  min-height:640px !important;
  background:var(--cream) !important;
  border-bottom:1px solid var(--line-soft) !important;
  overflow:hidden !important;
}

body .hero-content{
  padding:84px 0 58px 8vw !important;
  max-width:650px !important;
  position:relative !important;
  z-index:3 !important;
}

body .hero h1{
  max-width:590px !important;
  font-size:clamp(58px,5.05vw,82px) !important;
  line-height:.94 !important;
}

body .hero-image{
  position:relative !important;
  display:block !important;
  height:640px !important;
  min-height:640px !important;
  margin:0 0 0 -24px !important;
  overflow:hidden !important;
  background:var(--cream) !important;
}

body .hero-image img,
body .hero-image img[src$="hero-waiting-room-warm-mono.png"]{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:52% 50% !important;
  transform:none !important;
  filter:contrast(1.03) brightness(1.04) !important;
}

body .hero-image::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:48px !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.68) 28%,
    rgba(251,248,242,.18) 68%,
    rgba(251,248,242,0) 100%
  ) !important;
}

@media(max-width:1180px){
  body .hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }

  body .hero-content{
    padding:56px 24px 42px !important;
    max-width:760px !important;
  }

  body .hero-image{
    height:46vh !important;
    min-height:360px !important;
    margin-left:0 !important;
  }

  body .hero-image::before{
    display:none !important;
  }

  body .hero-image img,
  body .hero-image img[src$="hero-waiting-room-warm-mono.png"]{
    object-position:center center !important;
  }
}

@media(max-width:700px){
  body .hero h1{
    font-size:clamp(46px,12vw,64px) !important;
  }

  body .hero-image{
    height:340px !important;
    min-height:340px !important;
  }
}


/* =========================================================
   FINAL FLOW POLISH
   Tightens Treatments, Team and Reviews vertical rhythm.
   ========================================================= */

.featured-treatments{
  padding-top:52px !important;
  padding-bottom:54px !important;
}

.section-head{
  margin-bottom:22px !important;
}

.treatments-heading{
  margin-bottom:26px !important;
}

.team-section{
  padding-top:42px !important;
  padding-bottom:62px !important;
}

.team-intro{
  margin-bottom:26px !important;
  align-items:flex-end !important;
}

.team-intro .text-link{
  margin-bottom:10px !important;
}

.reviews-section{
  padding-top:46px !important;
  gap:clamp(34px,5vw,68px) !important;
}

@media(max-width:700px){
  .featured-treatments{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .team-section{
    padding-top:34px !important;
  }

  .section-head,
  .treatments-heading,
  .team-intro{
    margin-bottom:22px !important;
  }

  .team-intro .text-link{
    margin-bottom:0 !important;
  }

  .reviews-section{
    padding-top:40px !important;
    gap:28px !important;
  }
}



/* === FINAL MICRO POLISH === */

/* 1. Hero */
body .hero-content{
    padding-right:48px !important;
}

body .hero-image{
    margin-left:-10px !important;
}

body .hero-image::before{
    width:38px !important;
    background:linear-gradient(
        90deg,
        var(--cream) 0%,
        rgba(251,248,242,.62) 24%,
        rgba(251,248,242,.16) 62%,
        rgba(251,248,242,0) 100%
    ) !important;
}

/* 2. Softer divider */
.team-section{
    border-top:1px solid rgba(8,43,67,.05) !important;
}

/* 3. Taller portraits */
.team-card img{
    height:224px !important;
}


/* =========================================================
   AGENCY-LEVEL FINAL POLISH
   Treatments, Team, Reviews, Location, Hero and Footer.
   ========================================================= */

/* 1. Treatments — more editorial, less catalogue */
.treatment-photo-card{
  min-height:0 !important;
  box-shadow:0 22px 50px rgba(7,23,44,.06) !important;
}

.treatment-photo-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 28px 58px rgba(7,23,44,.075) !important;
}

.treatment-photo-card img{
  height:230px !important;
  object-fit:cover !important;
  transform:scale(1.03) !important;
  transition:transform .55s ease, filter .35s ease !important;
}

.treatment-photo-card:hover img{
  transform:scale(1.06) !important;
}

.treatment-photo-card div{
  padding:20px 24px 22px !important;
}

.treatment-photo-card h3{
  font-size:clamp(30px,2.35vw,36px) !important;
  line-height:1 !important;
  margin-bottom:9px !important;
}

.treatment-photo-card p{
  margin:0 0 13px !important;
  line-height:1.5 !important;
}

/* 2. Team — more human, warmer hierarchy */
.team-card{
  box-shadow:0 18px 54px rgba(8,43,67,.035) !important;
}

.team-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 26px 70px rgba(8,43,67,.07) !important;
}

.team-card img{
  height:248px !important;
  object-position:50% 12% !important;
  transition:transform .55s ease, filter .35s ease !important;
}

.team-card:hover img{
  transform:scale(1.02) !important;
}

.team-card h3{
  font-size:26px !important;
}

.role{
  color:#6E7B88 !important;
}

/* 3. Reviews — editorial quote cards */
.review-grid article{
  padding:44px !important;
  min-height:250px !important;
  box-shadow:0 20px 58px rgba(8,43,67,.04) !important;
}

.review-grid article:hover{
  box-shadow:0 28px 72px rgba(8,43,67,.07) !important;
}

.review-stars{
  font-size:20px !important;
  margin-bottom:28px !important;
}

.review-grid p{
  margin:0 0 34px !important;
  font-size:clamp(22px,1.75vw,25px) !important;
  line-height:1.45 !important;
  letter-spacing:-.03em !important;
}

.review-grid strong{
  display:block !important;
  font-size:12.5px !important;
  color:var(--muted) !important;
  letter-spacing:.02em !important;
}

/* 4. Location — stronger clinic anchor and more premium contact block */
.location-section{
  grid-template-columns:minmax(420px,1.18fr) minmax(250px,.62fr) minmax(320px,.82fr) !important;
  gap:clamp(34px,4vw,58px) !important;
  padding-top:42px !important;
  padding-bottom:42px !important;
  align-items:center !important;
}

.clinic-photo{
  height:380px !important;
  min-height:380px !important;
  border-radius:16px !important;
  box-shadow:0 18px 44px rgba(8,43,67,.055) !important;
}

.location-list{
  gap:16px !important;
}

.location-list li{
  padding-left:34px !important;
}

.location-list li::before{
  width:18px !important;
  height:18px !important;
  border:0 !important;
  background:rgba(201,154,74,.14) !important;
  box-shadow:inset 0 0 0 1px rgba(201,154,74,.46) !important;
}

.location-list li:nth-child(1)::before{ content:""; }
.location-list li:nth-child(2)::before{ content:""; }
.location-list li:nth-child(3)::before{ content:""; }
.location-list li:nth-child(4)::before{ content:""; }

.map-image{
  height:320px !important;
  border-radius:16px !important;
  box-shadow:0 18px 40px rgba(8,43,67,.055) !important;
}

.map-panel .btn{
  min-height:52px !important;
  padding-left:28px !important;
  padding-right:28px !important;
}

/* 5. Hero — only microscopic refinement */
body .hero-content{
  padding-left:calc(8vw - 10px) !important;
}

body .hero-image{
  margin-left:0 !important;
}

body .hero-image::before{
  width:34px !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.56) 22%,
    rgba(251,248,242,.12) 60%,
    rgba(251,248,242,0) 100%
  ) !important;
}

body .lead{
  max-width:520px !important;
}

/* 6. Footer — slightly more generous */
.site-footer{
  padding-top:56px !important;
  padding-bottom:58px !important;
}

/* Responsive safeguards */
@media(max-width:1180px){
  .location-section{
    grid-template-columns:1fr !important;
    padding-top:36px !important;
    padding-bottom:36px !important;
  }

  .clinic-photo,
  .map-image{
    height:360px !important;
    min-height:360px !important;
  }

  body .hero-content{
    padding-left:24px !important;
  }
}

@media(max-width:700px){
  .treatment-photo-card img{
    height:230px !important;
  }

  .team-card img{
    height:292px !important;
  }

  .review-grid article{
    padding:34px !important;
    min-height:auto !important;
  }

  .review-grid p{
    font-size:22px !important;
  }

  .clinic-photo,
  .map-image{
    height:320px !important;
    min-height:320px !important;
  }

  .site-footer{
    padding-top:42px !important;
    padding-bottom:44px !important;
  }
}


/* =========================================================
   FINAL MICRO-POLISH AFTER BOTTOM REBUILD
   ========================================================= */

body .hero-content{
  padding-bottom:50px !important;
}

body .hero-image{
  margin-left:8px !important;
}

body .hero-image::before{
  width:30px !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.50) 20%,
    rgba(251,248,242,.10) 58%,
    rgba(251,248,242,0) 100%
  ) !important;
}

.treatment-photo-card{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

.treatment-photo-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(8,43,67,.105) !important;
  box-shadow:0 30px 62px rgba(7,23,44,.078) !important;
}

.treatment-photo-card img{
  transition:transform .65s ease, filter .35s ease !important;
}

.treatment-photo-card:hover img{
  transform:scale(1.055) !important;
}

.team-card h3{
  font-size:27px !important;
}

.role{
  color:rgba(96,116,134,.74) !important;
  font-weight:750 !important;
}

.review-grid{
  gap:32px !important;
}

.review-grid strong{
  color:rgba(96,116,134,.76) !important;
  font-weight:720 !important;
}

.process-premium .process-grid article{
  min-height:202px !important;
  padding:38px 38px 36px !important;
}

.process-premium .process-grid span{
  width:62px !important;
  height:62px !important;
  font-size:19px !important;
  margin-bottom:2px !important;
}

.process-premium .process-grid article div::before{
  content:"";
  display:block;
  width:46px;
  height:1px;
  margin:0 0 20px;
  background:rgba(201,154,74,.42);
}

.process-premium .process-grid h3{
  font-size:21px !important;
  margin-bottom:14px !important;
}

.process-premium .process-grid p{
  font-size:14.5px !important;
  line-height:1.68 !important;
}

.location-compact{
  background:
    radial-gradient(circle at 18% 10%, rgba(201,154,74,.055), transparent 32%),
    var(--paper) !important;
}

.location-details-card{
  padding:34px 36px !important;
}

.directions-card{
  min-height:260px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  background:
    linear-gradient(180deg, rgba(255,253,248,.92), rgba(255,253,248,.76)) !important;
}

.directions-card .btn{
  margin-top:auto !important;
}

.footer-compact{
  padding-top:50px !important;
  padding-bottom:52px !important;
}

.footer-compact h2{
  color:rgba(255,255,255,.84) !important;
}

.footer-compact a,
.footer-compact p{
  line-height:1.74 !important;
}

.footer-compact .socials{
  gap:18px !important;
  align-items:center !important;
}

.footer-compact .socials a{
  width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.78 !important;
  transition:opacity .2s ease, transform .2s ease !important;
}

.footer-compact .socials a:hover{
  opacity:1 !important;
  transform:translateY(-1px) !important;
}

.footer-compact .socials svg{
  width:18px !important;
  height:18px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}

.footer-compact .socials a:first-child svg,
.footer-compact .socials a:last-child svg{
  fill:currentColor !important;
  stroke:none !important;
}

@media(max-width:1180px){
  body .hero-image{
    margin-left:0 !important;
  }

  .review-grid{
    gap:24px !important;
  }
}

@media(max-width:700px){
  body .hero-content{
    padding-bottom:42px !important;
  }

  .process-premium .process-grid article{
    min-height:auto !important;
    padding:32px 28px !important;
  }

  .process-premium .process-grid span{
    width:56px !important;
    height:56px !important;
    font-size:18px !important;
  }

  .footer-compact{
    padding-top:38px !important;
    padding-bottom:40px !important;
  }
}


/* =========================================================
   FINAL BRAND + TEAM CLEANUP
   Removes team CTA, restores official footer logo, adds proper social icons.
   ========================================================= */

.team-intro{
  display:block !important;
}

.team-intro .text-link{
  display:none !important;
}

.footer-compact .footer-brand img,
.site-footer .footer-brand img{
  height:40px !important;
  width:auto !important;
  max-width:220px !important;
  filter:brightness(0) invert(1) !important;
  opacity:.96 !important;
}

.footer-compact .footer-brand p,
.site-footer .footer-brand p{
  max-width:260px !important;
  font-size:13.5px !important;
  line-height:1.68 !important;
}

.footer-compact .socials,
.site-footer .socials{
  gap:18px !important;
  align-items:center !important;
}

.footer-compact .socials a,
.site-footer .socials a{
  width:19px !important;
  height:19px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.78) !important;
  transition:color .2s ease, transform .2s ease, opacity .2s ease !important;
}

.footer-compact .socials a:hover,
.site-footer .socials a:hover{
  color:#fff !important;
  transform:translateY(-1px) !important;
}

.footer-compact .socials svg,
.site-footer .socials svg{
  width:19px !important;
  height:19px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.75 !important;
}

.footer-compact .socials a:first-child svg,
.footer-compact .socials a:last-child svg,
.site-footer .socials a:first-child svg,
.site-footer .socials a:last-child svg{
  fill:currentColor !important;
  stroke:none !important;
}


/* =========================================================
   FINAL REQUESTED POLISH
   Softer hero fade, live map, aligned reviews, stronger contact/process.
   ========================================================= */

/* 1. Hero fade: softer, narrower, wood starts sooner */
body .hero-image::before{
  width:26px !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.42) 18%,
    rgba(251,248,242,.075) 52%,
    rgba(251,248,242,0) 100%
  ) !important;
}

/* 4. Reviews: equal-height quote cards, aligned author baselines */
.review-grid{
  align-items:stretch !important;
}

.review-grid article{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

.review-grid strong{
  margin-top:auto !important;
}

/* Reviews: differentiate rating from compact hero badge */
.review-trust-block{
  margin-top:24px !important;
  margin-bottom:16px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  padding:18px 0 2px !important;
}

.review-trust-score{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.review-trust-score .google-mark{
  width:30px !important;
  height:30px !important;
  font-size:17px !important;
}

.review-trust-score strong{
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
  font-weight:400 !important;
}

.review-trust-stars{
  display:block !important;
  color:var(--champagne) !important;
  font-size:20px !important;
  letter-spacing:.12em !important;
  line-height:1 !important;
  margin-bottom:7px !important;
}

.review-trust-block p{
  margin:0 !important;
  color:var(--muted) !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

/* 5. Contact: sharper storefront, more bullet air, live map instead of static image */
.clinic-photo img{
  filter:saturate(.94) contrast(1.08) brightness(.98) !important;
  transform:scale(1.015) !important;
}

.location-list{
  gap:20px !important;
}

.location-list li{
  line-height:1.54 !important;
}

.map-panel{
  gap:14px !important;
}

.leaflet-map{
  height:286px !important;
  min-height:286px !important;
  border-radius:16px !important;
  border:1px solid var(--line-soft) !important;
  overflow:hidden !important;
  box-shadow:0 18px 40px rgba(8,43,67,.055) !important;
  background:#f2eadf !important;
}

.map-panel .btn{
  min-height:50px !important;
}

/* 6. Three-step process: premium cards without changing layout */
.process-grid{
  border:0 !important;
  background:transparent !important;
  gap:22px !important;
}

.process-grid article{
  border:1px solid rgba(8,43,67,.075) !important;
  border-radius:14px !important;
  min-height:128px !important;
  padding:36px 34px !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 14px 28px rgba(8,43,67,.04) !important;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

.process-grid article:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(8,43,67,.11) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 20px 42px rgba(8,43,67,.075) !important;
}

.process-grid span{
  width:44px !important;
  height:44px !important;
  font-size:16px !important;
  font-weight:800 !important;
  box-shadow:0 12px 24px rgba(201,154,74,.18) !important;
}

.process-grid h3{
  font-weight:850 !important;
  letter-spacing:-.01em !important;
}

@media(max-width:1180px){
  .leaflet-map{
    height:330px !important;
    min-height:330px !important;
  }
}

@media(max-width:700px){
  .review-trust-block{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  .leaflet-map{
    height:300px !important;
    min-height:300px !important;
  }

  .process-grid{
    gap:16px !important;
  }

  .process-grid article{
    min-height:auto !important;
    padding:30px 26px !important;
  }
}


/* =========================================================
   FINAL TREATMENTS + LIVE MAP POLISH
   Premium treatment card interaction and reliable live map.
   ========================================================= */

/* Hero fade: still softer and less visible */
body .hero-image::before{
  width:23px !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.36) 16%,
    rgba(251,248,242,.055) 48%,
    rgba(251,248,242,0) 100%
  ) !important;
}

/* Treatment cards: richer, more image-led and more elegant on hover */
.treatment-photo-card{
  position:relative !important;
  overflow:hidden !important;
  box-shadow:0 22px 52px rgba(7,23,44,.058) !important;
  transition:
    transform .34s cubic-bezier(.2,.8,.2,1),
    box-shadow .34s cubic-bezier(.2,.8,.2,1),
    border-color .34s ease !important;
}

.treatment-photo-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:20px !important;
  pointer-events:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.treatment-photo-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(8,43,67,.12) !important;
  box-shadow:0 34px 74px rgba(7,23,44,.088) !important;
}

.treatment-photo-card img{
  height:260px !important;
  object-fit:cover !important;
  transform:scale(1.015) !important;
  transition:transform .75s cubic-bezier(.2,.8,.2,1), filter .35s ease !important;
}

.treatment-photo-card:hover img{
  transform:scale(1.06) !important;
}

.treatment-photo-card div{
  padding:20px 24px 23px !important;
}

.treatment-photo-card h3{
  margin-bottom:8px !important;
}

.treatment-photo-card span{
  transition:color .22s ease, transform .22s ease !important;
  display:inline-block !important;
}

.treatment-photo-card:hover span{
  transform:translateX(3px) !important;
}

/* Live map styling */
.map-panel{
  gap:14px !important;
}

.leaflet-map{
  height:286px !important;
  min-height:286px !important;
  width:100% !important;
  border-radius:16px !important;
  border:1px solid var(--line-soft) !important;
  overflow:hidden !important;
  box-shadow:0 18px 40px rgba(8,43,67,.055) !important;
  background:#efe8dc !important;
}

.leaflet-map .leaflet-tile-pane{
  opacity:.92 !important;
  filter:saturate(.62) contrast(.94) brightness(1.05) !important;
}

.leaflet-control-container .leaflet-control{
  border:1px solid rgba(8,43,67,.10) !important;
  box-shadow:0 10px 22px rgba(8,43,67,.08) !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

.leaflet-control-zoom a{
  color:var(--navy) !important;
  background:#fffdf8 !important;
}

.clinic-div-marker{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:var(--navy) !important;
  color:#fff !important;
  border:3px solid #fff !important;
  box-shadow:0 12px 28px rgba(8,43,67,.24) !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}

.clinic-tooltip{
  background:#fffdf8 !important;
  color:var(--navy) !important;
  border:1px solid rgba(8,43,67,.10) !important;
  border-radius:999px !important;
  box-shadow:0 14px 34px rgba(8,43,67,.12) !important;
  padding:9px 13px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}

.clinic-tooltip:before{
  display:none !important;
}

@media(max-width:700px){
  .treatment-photo-card img{
    height:238px !important;
  }

  .leaflet-map{
    height:300px !important;
    min-height:300px !important;
  }
}


/* =========================================================
   MAP + CONTACT FINAL PATCH
   Replaces fragile Leaflet/static map with a live Google Maps iframe.
   ========================================================= */

.leaflet-map,
.map-image{
  display:none !important;
}

.google-map-embed{
  display:block !important;
  width:100% !important;
  height:286px !important;
  min-height:286px !important;
  border:0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  box-shadow:0 18px 40px rgba(8,43,67,.055) !important;
  background:#efe8dc !important;
  filter:saturate(.78) contrast(.96) brightness(1.03) !important;
}

.map-panel{
  gap:14px !important;
}

.map-panel .btn{
  min-height:50px !important;
}

@media(max-width:1180px){
  .google-map-embed{
    height:330px !important;
    min-height:330px !important;
  }
}

@media(max-width:700px){
  .google-map-embed{
    height:300px !important;
    min-height:300px !important;
  }
}


/* =========================================================
   TREATMENTS PAGE — PREMIUM BRAND ICON SYSTEM
   Keeps original Stensby & Tran blue logo-inspired icons.
   ========================================================= */

.premium-subpage-hero{
  padding:82px 8vw 84px !important;
  display:grid !important;
  grid-template-columns:minmax(420px,.92fr) minmax(420px,1.08fr) !important;
  gap:clamp(46px,6vw,96px) !important;
  align-items:center !important;
  background:var(--cream) !important;
  border-bottom:1px solid var(--line-soft) !important;
}

.premium-subpage-hero > div{
  max-width:680px !important;
}

.premium-subpage-hero h1{
  max-width:720px !important;
  margin:0 !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(58px,5.35vw,92px) !important;
  line-height:.94 !important;
  letter-spacing:-.075em !important;
  font-weight:400 !important;
  color:var(--navy) !important;
}

.premium-subpage-hero p:not(.eyebrow){
  max-width:570px !important;
  margin:28px 0 0 !important;
  color:var(--text) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

.subpage-actions{
  margin-top:34px !important;
}

.premium-subpage-hero figure{
  margin:0 !important;
  height:430px !important;
  border-radius:20px !important;
  overflow:hidden !important;
  box-shadow:0 24px 70px rgba(8,43,67,.075) !important;
}

.premium-subpage-hero figure img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:52% 50% !important;
  filter:contrast(1.03) brightness(1.04) !important;
}

.treatments-brand-icons{
  padding-top:72px !important;
  padding-bottom:94px !important;
  background:
    linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%) !important;
}

.treatments-intro{
  max-width:1180px !important;
  margin:0 auto 42px !important;
}

.treatments-intro h2{
  margin:0 !important;
  max-width:760px !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(42px,4.1vw,64px) !important;
  line-height:.98 !important;
  letter-spacing:-.06em !important;
  font-weight:400 !important;
  color:var(--navy) !important;
}

.treatments-intro p:not(.eyebrow){
  max-width:580px !important;
  margin:20px 0 0 !important;
  color:var(--text) !important;
  font-size:15.5px !important;
  line-height:1.68 !important;
}

.treatment-icon-grid{
  max-width:1180px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:34px !important;
  border:0 !important;
  background:transparent !important;
}

.treatment-icon-grid .treatment-card{
  min-height:312px !important;
  padding:38px 38px 34px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  background:rgba(255,253,248,.78) !important;
  border:1px solid rgba(8,43,67,.075) !important;
  border-radius:18px !important;
  box-shadow:0 12px 34px rgba(8,26,48,.045) !important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s cubic-bezier(.2,.8,.2,1), border-color .32s ease, background .32s ease !important;
}

.treatment-icon-grid .treatment-card:hover{
  transform:translateY(-6px) !important;
  background:rgba(255,253,248,.96) !important;
  border-color:rgba(8,43,67,.12) !important;
  box-shadow:0 22px 48px rgba(8,26,48,.075) !important;
}

.treatment-icon-grid .treatment-card-featured{
  background:linear-gradient(180deg,rgba(201,154,74,.12),rgba(255,253,248,.78)) !important;
  border-color:rgba(201,154,74,.22) !important;
}

.treatment-icon-badge{
  width:74px !important;
  height:74px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  margin-bottom:34px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(8,43,67,.075) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.86) inset,
    0 12px 26px rgba(8,43,67,.045) !important;
}

.treatment-icon-grid .treatment-icon{
  width:48px !important;
  height:48px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
}

.treatment-icon-grid .treatment-card h3{
  margin:0 0 16px !important;
  color:var(--navy) !important;
  font-size:21px !important;
  line-height:1.16 !important;
  letter-spacing:-.02em !important;
  font-weight:850 !important;
}

.treatment-icon-grid .treatment-card p{
  margin:0 0 24px !important;
  max-width:320px !important;
  color:var(--text) !important;
  font-size:14.5px !important;
  line-height:1.7 !important;
}

.treatment-icon-grid .treatment-card a{
  margin-top:auto !important;
  color:var(--champagne) !important;
  font-size:13px !important;
  font-weight:850 !important;
  transition:transform .22s ease, opacity .22s ease !important;
}

.treatment-icon-grid .treatment-card:hover a{
  transform:translateX(3px) !important;
}

.subpage-cta{
  padding:74px 8vw 78px !important;
  background:var(--paper) !important;
  border-top:1px solid rgba(8,43,67,.05) !important;
  text-align:center !important;
}

.subpage-cta h2{
  margin:0 auto 18px !important;
  max-width:760px !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(42px,4.4vw,70px) !important;
  line-height:.98 !important;
  letter-spacing:-.06em !important;
  font-weight:400 !important;
}

.subpage-cta p:not(.eyebrow){
  max-width:560px !important;
  margin:0 auto 30px !important;
  color:var(--text) !important;
  font-size:15.5px !important;
  line-height:1.68 !important;
}

.subpage-cta-actions{
  display:flex !important;
  justify-content:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}

@media(max-width:1180px){
  .premium-subpage-hero{
    grid-template-columns:1fr !important;
    padding:62px 24px 70px !important;
  }

  .premium-subpage-hero figure{
    height:380px !important;
  }

  .treatment-icon-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:700px){
  .premium-subpage-hero{
    padding:48px 24px 56px !important;
  }

  .premium-subpage-hero h1{
    font-size:clamp(46px,12vw,66px) !important;
  }

  .premium-subpage-hero figure{
    height:320px !important;
  }

  .treatments-brand-icons{
    padding:52px 24px 68px !important;
  }

  .treatment-icon-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .treatment-icon-grid .treatment-card{
    min-height:auto !important;
    padding:32px 28px !important;
  }

  .subpage-cta{
    padding:58px 24px 62px !important;
  }
}



/* =========================================================
   TREATMENTS ICON FIX
   Larger original Stensby & Tran icons + missing icon fallback.
   ========================================================= */

.treatment-icon-grid .treatment-card{
  padding-top:42px !important;
}

.treatment-icon-badge{
  width:96px !important;
  height:96px !important;
  margin-bottom:34px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(8,43,67,.085) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 14px 30px rgba(8,43,67,.055) !important;
}

.treatment-icon-grid .treatment-icon{
  width:68px !important;
  height:68px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
  opacity:1 !important;
}

.treatment-icon-grid .treatment-card h3{
  margin-top:2px !important;
}

/* Keep the fallback icon from looking like a broken placeholder */
.treatment-icon-grid .treatment-card img[src$="ikon_behandling_2.png"]{
  width:70px !important;
  height:70px !important;
}

@media(max-width:700px){
  .treatment-icon-badge{
    width:88px !important;
    height:88px !important;
  }

  .treatment-icon-grid .treatment-icon{
    width:62px !important;
    height:62px !important;
  }
}


/* =========================================================
   FINAL TREATMENTS + FACADE FIX
   Correct homepage facade asset, no treatment links, larger brand icons.
   ========================================================= */

/* Homepage: force correct facade image bundled in /assets */
.clinic-photo img{
  content:url("assets/clinic-facade.png") !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  filter:saturate(.94) contrast(1.04) brightness(.99) !important;
  transform:none !important;
}

/* Treatments page: remove link spacing and make cards calmer */
.treatment-icon-grid .treatment-card{
  min-height:292px !important;
  padding:44px 38px 40px !important;
}

.treatment-icon-grid .treatment-card a{
  display:none !important;
}

/* Larger original blue icons, closer to the original visual weight */
.treatment-icon-badge{
  width:88px !important;
  height:88px !important;
  margin-bottom:32px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(8,43,67,.07) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 12px 26px rgba(8,43,67,.045) !important;
}

.treatment-icon-grid .treatment-icon{
  width:78px !important;
  height:78px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
  opacity:1 !important;
}

.treatment-icon-grid .treatment-card h3{
  margin:0 0 18px !important;
}

.treatment-icon-grid .treatment-card p{
  margin-bottom:0 !important;
  line-height:1.75 !important;
}

/* Emergency card remains highlighted without needing a CTA link */
.treatment-icon-grid .treatment-card-featured{
  background:linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.84)) !important;
  border-color:rgba(201,154,74,.24) !important;
}

@media(max-width:700px){
  .treatment-icon-badge{
    width:82px !important;
    height:82px !important;
  }

  .treatment-icon-grid .treatment-icon{
    width:72px !important;
    height:72px !important;
  }

  .treatment-icon-grid .treatment-card{
    min-height:auto !important;
    padding:36px 30px !important;
  }
}


/* =========================================================
   TREATMENTS PAGE — PATIENT INTENT EDITORIAL GRID
   Groups treatments by need, keeps original icons but tones blue down.
   ========================================================= */

.treatments-intro p:not(.eyebrow){
  max-width:620px !important;
}

.intent-groups{
  max-width:1180px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:56px !important;
}

.intent-group{
  display:grid !important;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.7fr) !important;
  gap:clamp(32px,4vw,64px) !important;
  align-items:start !important;
}

.intent-heading{
  position:sticky !important;
  top:120px !important;
}

.intent-heading h3{
  margin:0 !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1.03 !important;
  letter-spacing:-.055em !important;
  font-weight:400 !important;
}

.intent-card-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
}

.intent-card-grid.single{
  grid-template-columns:minmax(0,1fr) !important;
}

.intent-card-grid .treatment-card{
  min-height:340px !important;
  padding:42px 38px 38px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  background:rgba(255,253,248,.82) !important;
  border:1px solid rgba(8,43,67,.075) !important;
  border-radius:18px !important;
  box-shadow:0 12px 34px rgba(8,26,48,.045) !important;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s cubic-bezier(.2,.8,.2,1), border-color .32s ease, background .32s ease !important;
}

.intent-card-grid .treatment-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(8,43,67,.12) !important;
  box-shadow:0 22px 50px rgba(8,26,48,.075) !important;
}

.intent-card-grid .treatment-card-featured{
  background:linear-gradient(180deg,rgba(201,154,74,.15),rgba(255,253,248,.88)) !important;
  border-color:rgba(201,154,74,.28) !important;
}

.intent-card-grid .treatment-icon-badge{
  width:82px !important;
  height:82px !important;
  margin-bottom:34px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.68) !important;
  border:1px solid rgba(8,43,67,.07) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 12px 26px rgba(8,43,67,.045) !important;
}

.intent-card-grid .treatment-icon{
  width:74px !important;
  height:74px !important;
  object-fit:contain !important;
  margin:0 !important;
  display:block !important;
  opacity:.72 !important;
  filter:saturate(.72) brightness(.92) contrast(.98) !important;
}

.intent-card-grid .treatment-card-featured .treatment-icon{
  opacity:.82 !important;
  filter:saturate(.82) brightness(.90) contrast(1) !important;
}

.intent-card-grid .treatment-card h4{
  margin:0 0 18px !important;
  color:var(--navy) !important;
  font-size:22px !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
  font-weight:850 !important;
}

.intent-card-grid .treatment-card p{
  margin:0 !important;
  max-width:350px !important;
  color:var(--text) !important;
  font-size:14.5px !important;
  line-height:1.75 !important;
}

.treatment-trust-strip{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:44px 8vw !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:28px !important;
  border-top:1px solid rgba(8,43,67,.055) !important;
  border-bottom:1px solid rgba(8,43,67,.055) !important;
  background:rgba(255,253,248,.38) !important;
}

.treatment-trust-strip strong{
  display:block !important;
  color:var(--navy) !important;
  font-size:15px !important;
  font-weight:850 !important;
  margin-bottom:8px !important;
}

.treatment-trust-strip p{
  margin:0 !important;
  color:var(--text) !important;
  font-size:13.5px !important;
  line-height:1.62 !important;
}

.subpage-cta{
  padding-top:70px !important;
}

.subpage-cta h2{
  max-width:820px !important;
}

@media(max-width:1180px){
  .intent-group{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .intent-heading{
    position:static !important;
  }

  .treatment-trust-strip{
    grid-template-columns:1fr !important;
    padding:38px 24px !important;
  }
}

@media(max-width:700px){
  .intent-groups{
    gap:42px !important;
  }

  .intent-card-grid{
    grid-template-columns:1fr !important;
  }

  .intent-card-grid .treatment-card{
    min-height:auto !important;
    padding:36px 30px !important;
  }

  .intent-card-grid .treatment-icon-badge{
    width:78px !important;
    height:78px !important;
  }

  .intent-card-grid .treatment-icon{
    width:70px !important;
    height:70px !important;
  }
}


/* =========================================================
   EDITORIAL TREATMENT PAGE FINAL
   Bigger original blue icons, lighter cards, tighter intent layout.
   ========================================================= */

/* Hero: wider/flatter image, less floating card feeling */
.premium-subpage-hero{
  grid-template-columns:minmax(420px,.88fr) minmax(500px,1.18fr) !important;
  gap:clamp(34px,4.8vw,78px) !important;
  padding-top:74px !important;
  padding-bottom:78px !important;
}

.premium-subpage-hero figure{
  height:400px !important;
  border-radius:12px !important;
  box-shadow:0 18px 52px rgba(8,43,67,.055) !important;
}

.premium-subpage-hero figure img{
  object-position:52% 50% !important;
}

/* Overview copy: more space before first group */
.treatments-intro{
  margin-bottom:66px !important;
}

.treatments-intro p:not(.eyebrow){
  max-width:620px !important;
  font-size:16px !important;
  line-height:1.68 !important;
}

/* Intent layout: tighter, more editorial, less fragmented */
.intent-groups{
  gap:42px !important;
}

.intent-group{
  grid-template-columns:minmax(250px,.66fr) minmax(0,1.78fr) !important;
  gap:clamp(22px,3vw,44px) !important;
  padding-top:8px !important;
}

.intent-heading{
  top:112px !important;
  padding-top:10px !important;
}

.intent-heading .eyebrow{
  margin-bottom:16px !important;
}

.intent-heading h3{
  max-width:300px !important;
  font-size:clamp(32px,3.1vw,48px) !important;
  line-height:1.02 !important;
}

/* Treatment cards: less software card, more editorial canvas */
.intent-card-grid{
  gap:22px !important;
}

.intent-card-grid .treatment-card{
  min-height:342px !important;
  padding:42px 38px 40px !important;
  background:rgba(255,253,248,.62) !important;
  border:1px solid rgba(8,43,67,.055) !important;
  border-radius:16px !important;
  box-shadow:0 8px 22px rgba(8,26,48,.028) !important;
  transition:
    transform .30s cubic-bezier(.2,.8,.2,1),
    box-shadow .30s cubic-bezier(.2,.8,.2,1),
    border-color .30s ease,
    background .30s ease !important;
}

.intent-card-grid .treatment-card:hover{
  transform:translateY(-4px) !important;
  background:rgba(255,253,248,.88) !important;
  border-color:rgba(8,43,67,.09) !important;
  box-shadow:0 16px 36px rgba(8,26,48,.055) !important;
}

.intent-card-grid .treatment-card-featured{
  min-height:364px !important;
  background:linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.76)) !important;
  border-color:rgba(201,154,74,.26) !important;
}

/* Icons: original blue should tell the story — no big white badge */
.intent-card-grid .treatment-icon-badge{
  width:auto !important;
  height:auto !important;
  margin:0 0 30px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:block !important;
}

.intent-card-grid .treatment-icon{
  width:104px !important;
  height:76px !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
  margin:0 !important;
  opacity:.98 !important;
  filter:saturate(.92) brightness(.96) contrast(1.04) !important;
  transform-origin:left center !important;
  transition:transform .28s ease, opacity .28s ease, filter .28s ease !important;
}

.intent-card-grid .treatment-card:hover .treatment-icon{
  transform:scale(1.05) !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.95) contrast(1.06) !important;
}

.intent-card-grid .treatment-card-featured .treatment-icon{
  width:116px !important;
  height:86px !important;
  opacity:1 !important;
}

.urgent-label{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  margin:0 0 12px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.16) !important;
  color:var(--champagne) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.intent-card-grid .treatment-card h4{
  margin:0 0 18px !important;
  font-size:23px !important;
  line-height:1.12 !important;
  letter-spacing:-.026em !important;
  font-weight:850 !important;
}

.intent-card-grid .treatment-card p{
  max-width:390px !important;
  font-size:14.8px !important;
  line-height:1.76 !important;
}

/* Trust strip: more premium, stronger labels */
.treatment-trust-strip{
  padding-top:56px !important;
  padding-bottom:56px !important;
  gap:34px !important;
  background:
    linear-gradient(180deg,rgba(255,253,248,.52),rgba(251,248,242,.42)) !important;
}

.treatment-trust-strip div{
  position:relative !important;
  padding-left:38px !important;
}

.trust-mark{
  position:absolute !important;
  left:0 !important;
  top:1px !important;
  width:22px !important;
  height:22px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(201,154,74,.16) !important;
  color:var(--champagne) !important;
  font-weight:900 !important;
  font-size:13px !important;
}

.treatment-trust-strip strong{
  font-size:16px !important;
  margin-bottom:10px !important;
}

.treatment-trust-strip p{
  font-size:14px !important;
  line-height:1.66 !important;
}

/* CTA: keep stronger practical copy, make it feel connected */
.subpage-cta{
  padding-top:66px !important;
  padding-bottom:76px !important;
}

@media(max-width:1180px){
  .premium-subpage-hero{
    grid-template-columns:1fr !important;
  }

  .premium-subpage-hero figure{
    height:360px !important;
  }

  .intent-group{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .intent-heading{
    position:static !important;
  }

  .intent-heading h3{
    max-width:620px !important;
  }
}

@media(max-width:700px){
  .premium-subpage-hero figure{
    height:300px !important;
  }

  .intent-groups{
    gap:38px !important;
  }

  .intent-card-grid .treatment-card{
    min-height:auto !important;
    padding:36px 30px !important;
  }

  .intent-card-grid .treatment-icon{
    width:96px !important;
    height:70px !important;
  }

  .intent-card-grid .treatment-card-featured .treatment-icon{
    width:106px !important;
    height:78px !important;
  }

  .treatment-trust-strip div{
    padding-left:34px !important;
  }
}


/* =========================================================
   FINAL EMERGENCY CARD
   Large brand illustration, simplified urgent copy, phone-first CTA.
   ========================================================= */

.intent-card-grid .emergency-card{
  display:grid !important;
  grid-template-columns:220px minmax(260px,1fr) minmax(210px,.72fr) !important;
  align-items:center !important;
  gap:46px !important;
  min-height:300px !important;
  padding:52px 64px !important;
  background:
    radial-gradient(circle at 24% 45%, rgba(201,154,74,.10), transparent 34%),
    linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.82)) !important;
  border:1px solid rgba(201,154,74,.30) !important;
  border-radius:20px !important;
  box-shadow:0 16px 44px rgba(8,26,48,.05) !important;
}

.intent-card-grid .emergency-card::after{
  content:none !important;
}

.emergency-illustration{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.emergency-illustration .treatment-icon{
  width:178px !important;
  height:138px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
}

.emergency-copy{
  max-width:430px !important;
}

.emergency-copy .urgent-label{
  margin-bottom:18px !important;
  padding:8px 14px !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  background:rgba(201,154,74,.17) !important;
}

.emergency-copy h4{
  margin:0 0 18px !important;
  color:var(--navy) !important;
  font-size:30px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
}

.emergency-copy p{
  margin:0 !important;
  color:var(--text) !important;
  font-size:16px !important;
  line-height:1.72 !important;
}

.emergency-call{
  position:relative !important;
  padding-left:42px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:18px !important;
}

.emergency-call::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:1px !important;
  height:132px !important;
  transform:translateY(-50%) !important;
  background:rgba(201,154,74,.28) !important;
}

.emergency-phone{
  color:var(--navy) !important;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:.03em !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.emergency-ring{
  min-height:54px !important;
  padding:0 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  border-radius:9px !important;
  background:var(--navy) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:900 !important;
  font-size:17px !important;
  box-shadow:0 18px 34px rgba(8,43,67,.16) !important;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease !important;
}

.emergency-ring:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 42px rgba(8,43,67,.22) !important;
}

@media(max-width:1180px){
  .intent-card-grid .emergency-card{
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:42px 36px !important;
  }

  .emergency-illustration{
    justify-content:flex-start !important;
  }

  .emergency-call{
    padding-left:0 !important;
  }

  .emergency-call::before{
    display:none !important;
  }

  .emergency-phone{
    font-size:30px !important;
  }
}

@media(max-width:700px){
  .emergency-illustration .treatment-icon{
    width:142px !important;
    height:110px !important;
  }

  .emergency-copy h4{
    font-size:26px !important;
  }

  .emergency-copy p{
    font-size:15px !important;
  }

  .emergency-phone{
    font-size:26px !important;
  }

  .emergency-ring{
    width:100% !important;
  }
}


/* =========================================================
   FINAL TREATMENTS REFINEMENT
   Better hero crop, emergency phone emphasis, subtler cards, tighter editorial rhythm.
   ========================================================= */

/* Hero image: make treatment the focal point */
.editorial-treatment-hero{
  grid-template-columns:minmax(390px,.46fr) minmax(0,1.04fr) !important;
}

.editorial-treatment-hero .treatment-hero-photo img{
  object-position:70% 50% !important;
}

.editorial-treatment-hero .treatment-hero-photo::before{
  width:185px !important;
}

/* Bring intent cards closer to the editorial headings */
.intent-group{
  grid-template-columns:minmax(250px,.64fr) minmax(0,1.82fr) !important;
  gap:clamp(16px,2.4vw,34px) !important;
}

/* Subtler card UI */
.intent-card-grid .treatment-card{
  box-shadow:0 6px 18px rgba(8,26,48,.024) !important;
  border-color:rgba(8,43,67,.052) !important;
}

.intent-card-grid .treatment-card:hover{
  box-shadow:0 14px 34px rgba(8,26,48,.045) !important;
}

/* Emergency card: more breathing room and phone-first layout */
.intent-card-grid .emergency-card{
  grid-template-columns:220px minmax(280px,1.4fr) 260px !important;
  gap:62px !important;
  min-height:318px !important;
  padding:58px 70px !important;
}

.emergency-illustration .treatment-icon{
  width:204px !important;
  height:158px !important;
}

.emergency-copy .urgent-label{
  padding:9px 16px !important;
  font-size:12.5px !important;
}

.emergency-copy h4{
  font-size:31px !important;
}

.emergency-call{
  padding-left:48px !important;
  gap:13px !important;
}

.emergency-call::before{
  height:150px !important;
  background:rgba(201,154,74,.34) !important;
}

.emergency-call-label{
  color:var(--champagne) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.emergency-phone{
  font-size:42px !important;
  letter-spacing:.025em !important;
  margin:4px 0 4px !important;
}

.emergency-ring{
  min-width:178px !important;
  min-height:58px !important;
  padding:0 28px !important;
  font-size:18px !important;
}

/* Trust strip: more premium breathing room */
.treatment-trust-strip{
  padding-top:68px !important;
  padding-bottom:68px !important;
}

/* Slightly stronger editorial labels */
.intent-heading .eyebrow{
  color:rgba(201,154,74,.96) !important;
}

/* CTA: leave copy intact, only keep balanced */
.subpage-cta{
  padding-top:72px !important;
  padding-bottom:82px !important;
}

@media(max-width:1180px){
  .editorial-treatment-hero{
    grid-template-columns:1fr !important;
  }

  .editorial-treatment-hero .treatment-hero-photo img{
    object-position:64% 50% !important;
  }

  .intent-group{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .intent-card-grid .emergency-card{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:46px 40px !important;
  }

  .emergency-call{
    padding-left:0 !important;
  }

  .emergency-call::before{
    display:none !important;
  }

  .emergency-phone{
    font-size:34px !important;
  }
}

@media(max-width:700px){
  .emergency-illustration .treatment-icon{
    width:156px !important;
    height:120px !important;
  }

  .emergency-phone{
    font-size:28px !important;
  }

  .emergency-ring{
    min-width:0 !important;
  }

  .treatment-trust-strip{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
}


/* =========================================================
   RESTORED TREATMENT HERO + CLEAN EMERGENCY CARD FIX
   ========================================================= */

/* Treatments hero: restore actual treatment image, integrated editorial split */
.editorial-treatment-hero{
  position:relative !important;
  min-height:520px !important;
  padding:0 0 0 8vw !important;
  display:grid !important;
  grid-template-columns:minmax(390px,.42fr) minmax(0,1.08fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  overflow:hidden !important;
  background:var(--cream) !important;
  border-bottom:1px solid rgba(8,43,67,.055) !important;
}

.editorial-treatment-hero .treatment-hero-copy{
  position:relative !important;
  z-index:2 !important;
  align-self:center !important;
  max-width:610px !important;
  padding:66px 58px 70px 0 !important;
}

.editorial-treatment-hero h1{
  margin:0 !important;
  max-width:610px !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(58px,5.25vw,92px) !important;
  line-height:.94 !important;
  letter-spacing:-.075em !important;
  font-weight:400 !important;
}

.editorial-treatment-hero p:not(.eyebrow){
  max-width:500px !important;
  margin:30px 0 0 !important;
  color:var(--text) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

.editorial-treatment-hero .treatment-hero-photo{
  position:relative !important;
  margin:0 !important;
  height:100% !important;
  min-height:520px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.editorial-treatment-hero .treatment-hero-photo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:150px !important;
  z-index:1 !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.50) 32%,
    rgba(251,248,242,.16) 64%,
    rgba(251,248,242,0) 100%
  ) !important;
  pointer-events:none !important;
}

.editorial-treatment-hero .treatment-hero-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(8,43,67,.05),transparent 38%,rgba(8,43,67,.07)) !important;
  pointer-events:none !important;
}

.editorial-treatment-hero .treatment-hero-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:58% 50% !important;
  filter:saturate(.82) contrast(1.03) brightness(.96) !important;
}

/* Bring treatment blocks slightly closer to the left editorial headings */
.intent-group{
  grid-template-columns:minmax(250px,.64fr) minmax(0,1.82fr) !important;
  gap:clamp(14px,2.1vw,30px) !important;
}

/* Icons across normal cards: bigger, more story-like */
.intent-card-grid .treatment-card:not(.emergency-card-clean) .treatment-icon{
  width:122px !important;
  height:90px !important;
  opacity:1 !important;
  filter:saturate(.96) brightness(.96) contrast(1.05) !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-clean) .treatment-icon-badge{
  width:auto !important;
  height:auto !important;
  margin:0 0 28px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Clean rebuilt emergency card */
.intent-card-grid .emergency-card-clean{
  display:grid !important;
  grid-template-columns:190px minmax(260px,1fr) 245px !important;
  align-items:center !important;
  column-gap:48px !important;
  min-height:286px !important;
  padding:52px 58px !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(201,154,74,.10), transparent 34%),
    linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.84)) !important;
  border:1px solid rgba(201,154,74,.30) !important;
  border-radius:20px !important;
  box-shadow:0 12px 34px rgba(8,26,48,.04) !important;
}

.intent-card-grid .emergency-card-clean::after,
.intent-card-grid .emergency-card-clean .emergency-call::before{
  content:none !important;
  display:none !important;
}

.emergency-visual{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.emergency-visual .treatment-icon{
  width:188px !important;
  height:146px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
}

.emergency-main{
  max-width:420px !important;
}

.emergency-main .urgent-label{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.17) !important;
  color:var(--champagne) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.emergency-main h4{
  margin:0 0 16px !important;
  color:var(--navy) !important;
  font-size:30px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
}

.emergency-main p{
  margin:0 !important;
  color:var(--text) !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
}

.emergency-action{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:right !important;
  min-width:0 !important;
}

.emergency-action .emergency-phone{
  color:var(--navy) !important;
  display:block !important;
  font-size:38px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.emergency-ring-link{
  color:var(--navy) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  text-decoration:none !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,43,67,.22) !important;
  padding-bottom:4px !important;
}

/* Softer cards + more trust-strip breathing room */
.intent-card-grid .treatment-card{
  box-shadow:0 5px 16px rgba(8,26,48,.022) !important;
}

.intent-card-grid .treatment-card:hover{
  box-shadow:0 13px 32px rgba(8,26,48,.045) !important;
}

.treatment-trust-strip{
  padding-top:68px !important;
  padding-bottom:68px !important;
}

.subpage-cta h2{
  max-width:900px !important;
}

@media(max-width:1180px){
  .editorial-treatment-hero{
    grid-template-columns:1fr !important;
    padding:0 !important;
  }

  .editorial-treatment-hero .treatment-hero-copy{
    padding:56px 24px 32px !important;
    max-width:720px !important;
  }

  .editorial-treatment-hero .treatment-hero-photo{
    min-height:380px !important;
  }

  .editorial-treatment-hero .treatment-hero-photo::before{
    display:none !important;
  }

  .intent-group{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .intent-card-grid .emergency-card-clean{
    grid-template-columns:1fr !important;
    row-gap:26px !important;
    padding:44px 38px !important;
  }

  .emergency-action{
    align-items:flex-start !important;
    text-align:left !important;
  }

  .emergency-action .emergency-phone{
    font-size:34px !important;
  }
}

@media(max-width:700px){
  .editorial-treatment-hero .treatment-hero-photo{
    min-height:300px !important;
  }

  .emergency-visual .treatment-icon{
    width:152px !important;
    height:118px !important;
  }

  .emergency-action .emergency-phone{
    font-size:28px !important;
  }

  .intent-card-grid .treatment-card:not(.emergency-card-clean) .treatment-icon{
    width:106px !important;
    height:78px !important;
  }

  .treatment-trust-strip{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
}


/* =========================================================
   SAFE HERO + EMERGENCY FIX
   Restores readable hero split, keeps treatment photo, prevents phone overflow.
   ========================================================= */

/* Subpage back link: useful, but quiet — not another nav item */
.back-home-link{
  display:inline-flex !important;
  margin:0 0 28px !important;
  color:rgba(8,43,67,.62) !important;
  font-size:13px !important;
  font-weight:850 !important;
  text-decoration:none !important;
  letter-spacing:.02em !important;
}

.back-home-link:hover{
  color:var(--navy) !important;
}

/* Safer hero split: text readable, photo still purposeful */
.safe-treatment-hero{
  position:relative !important;
  min-height:auto !important;
  padding:74px 8vw 78px !important;
  display:grid !important;
  grid-template-columns:minmax(420px,.95fr) minmax(440px,1.05fr) !important;
  gap:clamp(46px,6vw,88px) !important;
  align-items:center !important;
  overflow:visible !important;
  background:var(--cream) !important;
  border-bottom:1px solid rgba(8,43,67,.055) !important;
}

.safe-treatment-hero .treatment-hero-copy{
  position:relative !important;
  z-index:2 !important;
  max-width:650px !important;
  padding:0 !important;
}

.safe-treatment-hero h1{
  max-width:650px !important;
  margin:0 !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(58px,5.1vw,86px) !important;
  line-height:.95 !important;
  letter-spacing:-.075em !important;
  font-weight:400 !important;
}

.safe-treatment-hero p:not(.eyebrow){
  max-width:520px !important;
  margin:28px 0 0 !important;
  color:var(--text) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

.safe-treatment-hero .treatment-hero-photo{
  position:relative !important;
  margin:0 !important;
  height:390px !important;
  min-height:390px !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 18px 52px rgba(8,43,67,.06) !important;
}

.safe-treatment-hero .treatment-hero-photo::before,
.safe-treatment-hero .treatment-hero-photo::after{
  display:none !important;
  content:none !important;
}

.safe-treatment-hero .treatment-hero-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:56% 50% !important;
  filter:saturate(.84) contrast(1.03) brightness(.96) !important;
}

/* Keep the larger brand icons but avoid breaking card geometry */
.intent-card-grid .treatment-card:not(.emergency-card-safe) .treatment-icon{
  width:116px !important;
  height:84px !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  filter:saturate(.96) brightness(.96) contrast(1.05) !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-safe) .treatment-icon-badge{
  width:auto !important;
  height:auto !important;
  margin:0 0 28px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Emergency card: stable, balanced, no overflow */
.intent-card-grid .emergency-card-safe{
  display:grid !important;
  grid-template-columns:160px minmax(280px,1fr) minmax(180px,220px) !important;
  align-items:center !important;
  column-gap:42px !important;
  min-height:270px !important;
  padding:46px 52px !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(201,154,74,.09), transparent 35%),
    linear-gradient(180deg,rgba(201,154,74,.12),rgba(255,253,248,.86)) !important;
  border:1px solid rgba(201,154,74,.30) !important;
  border-radius:20px !important;
  box-shadow:0 10px 30px rgba(8,26,48,.035) !important;
  overflow:hidden !important;
}

.intent-card-grid .emergency-card-safe::after,
.intent-card-grid .emergency-card-safe .emergency-call::before{
  display:none !important;
  content:none !important;
}

.emergency-visual{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
}

.emergency-visual .treatment-icon{
  width:150px !important;
  height:116px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
}

.emergency-main{
  max-width:430px !important;
  min-width:0 !important;
}

.emergency-main .urgent-label{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 14px !important;
  padding:7px 13px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.17) !important;
  color:var(--champagne) !important;
  font-size:11.5px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}

.emergency-main h4{
  margin:0 0 14px !important;
  color:var(--navy) !important;
  font-size:28px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
}

.emergency-main p{
  margin:0 !important;
  color:var(--text) !important;
  font-size:15px !important;
  line-height:1.68 !important;
}

.emergency-action{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:0 !important;
  text-align:right !important;
}

.emergency-action .emergency-phone{
  display:block !important;
  max-width:100% !important;
  color:var(--navy) !important;
  font-size:30px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.emergency-ring-link{
  color:var(--navy) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  text-decoration:none !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,43,67,.22) !important;
  padding-bottom:4px !important;
}

.intent-group{
  gap:clamp(18px,2.6vw,38px) !important;
}

@media(max-width:1180px){
  .safe-treatment-hero{
    grid-template-columns:1fr !important;
    padding:56px 24px 64px !important;
  }

  .safe-treatment-hero .treatment-hero-photo{
    height:380px !important;
    min-height:380px !important;
  }

  .intent-card-grid .emergency-card-safe{
    grid-template-columns:1fr !important;
    row-gap:24px !important;
    padding:42px 38px !important;
  }

  .emergency-action{
    align-items:flex-start !important;
    text-align:left !important;
  }
}

@media(max-width:700px){
  .safe-treatment-hero h1{
    font-size:clamp(46px,12vw,66px) !important;
  }

  .safe-treatment-hero .treatment-hero-photo{
    height:300px !important;
    min-height:300px !important;
  }

  .emergency-visual .treatment-icon{
    width:138px !important;
    height:106px !important;
  }

  .emergency-action .emergency-phone{
    font-size:26px !important;
  }

  .intent-card-grid .treatment-card:not(.emergency-card-safe) .treatment-icon{
    width:104px !important;
    height:76px !important;
  }
}


/* =========================================================
   TRUE FINAL COMPOSITION FIX
   Fixes the actual delivered page: hero composition, emergency card,
   editorial width/rhythm, icons, trust strip, and CTA.
   ========================================================= */

/* Quiet back link */
.back-home-link{
  display:inline-flex !important;
  margin:0 0 26px !important;
  color:rgba(8,43,67,.62) !important;
  font-size:13px !important;
  font-weight:850 !important;
  text-decoration:none !important;
}
.back-home-link:hover{ color:var(--navy) !important; }

/* Hero: editorial spread, not squeezed text + card image */
.treatment-page-hero,
.safe-treatment-hero,
.editorial-treatment-hero{
  position:relative !important;
  min-height:500px !important;
  padding:0 0 0 8vw !important;
  display:grid !important;
  grid-template-columns:minmax(440px,.48fr) minmax(0,.72fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  overflow:hidden !important;
  background:var(--cream) !important;
  border-bottom:1px solid rgba(8,43,67,.055) !important;
}

.treatment-page-hero .treatment-hero-copy,
.safe-treatment-hero .treatment-hero-copy,
.editorial-treatment-hero .treatment-hero-copy{
  position:relative !important;
  z-index:2 !important;
  align-self:center !important;
  max-width:650px !important;
  padding:58px 72px 64px 0 !important;
}

.treatment-page-hero h1,
.safe-treatment-hero h1,
.editorial-treatment-hero h1{
  max-width:650px !important;
  margin:0 !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(60px,5.15vw,88px) !important;
  line-height:.95 !important;
  letter-spacing:-.075em !important;
  font-weight:400 !important;
}

.treatment-page-hero p:not(.eyebrow),
.safe-treatment-hero p:not(.eyebrow),
.editorial-treatment-hero p:not(.eyebrow){
  max-width:530px !important;
  margin:30px 0 0 !important;
  color:var(--text) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

.treatment-page-hero .subpage-actions,
.safe-treatment-hero .subpage-actions,
.editorial-treatment-hero .subpage-actions{
  margin-top:40px !important;
  gap:18px !important;
}

/* Treatment hero photo: correct image, integrated, no boxed-card feeling */
.treatment-page-hero .treatment-hero-photo,
.safe-treatment-hero .treatment-hero-photo,
.editorial-treatment-hero .treatment-hero-photo{
  position:relative !important;
  margin:0 !important;
  height:100% !important;
  min-height:500px !important;
  border-radius:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

.treatment-page-hero .treatment-hero-photo::before,
.safe-treatment-hero .treatment-hero-photo::before,
.editorial-treatment-hero .treatment-hero-photo::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 auto 0 0 !important;
  width:160px !important;
  z-index:1 !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.52) 38%,
    rgba(251,248,242,.16) 70%,
    rgba(251,248,242,0) 100%
  ) !important;
  pointer-events:none !important;
}

.treatment-page-hero .treatment-hero-photo::after,
.safe-treatment-hero .treatment-hero-photo::after,
.editorial-treatment-hero .treatment-hero-photo::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(8,43,67,.04),transparent 42%,rgba(8,43,67,.055)) !important;
  pointer-events:none !important;
}

.treatment-page-hero .treatment-hero-photo img,
.safe-treatment-hero .treatment-hero-photo img,
.editorial-treatment-hero .treatment-hero-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:58% 50% !important;
  filter:saturate(.84) contrast(1.03) brightness(.96) !important;
}

/* More premium editorial rhythm */
.treatments-brand-icons{
  padding-top:78px !important;
}
.treatments-intro{
  margin-bottom:72px !important;
}
.treatments-intro p:not(.eyebrow){
  max-width:690px !important;
  font-size:16px !important;
  line-height:1.7 !important;
}

/* Widen editorial left column slightly and make card column less cramped */
.intent-groups{
  max-width:1260px !important;
  gap:52px !important;
}
.intent-group{
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.72fr) !important;
  gap:clamp(28px,3.5vw,56px) !important;
  align-items:start !important;
}
.intent-heading h3{
  max-width:360px !important;
}
.intent-heading .eyebrow{
  color:rgba(201,154,74,.98) !important;
}

/* Cards: less dashboard, more calm editorial surfaces */
.intent-card-grid{
  gap:28px !important;
}
.intent-card-grid .treatment-card{
  min-height:330px !important;
  padding:44px 42px 42px !important;
  border:1px solid rgba(8,43,67,.048) !important;
  border-radius:17px !important;
  background:rgba(255,253,248,.60) !important;
  box-shadow:0 5px 16px rgba(8,26,48,.020) !important;
}
.intent-card-grid .treatment-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 13px 32px rgba(8,26,48,.042) !important;
  border-color:rgba(8,43,67,.08) !important;
}
.intent-card-grid .treatment-card h4{
  font-size:24px !important;
  line-height:1.12 !important;
  margin-bottom:18px !important;
}
.intent-card-grid .treatment-card p{
  max-width:430px !important;
  font-size:15.3px !important;
  line-height:1.74 !important;
}

/* Larger, visible original blue illustrations */
.intent-card-grid .treatment-icon-badge{
  width:auto !important;
  height:auto !important;
  margin:0 0 30px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:block !important;
}
.intent-card-grid .treatment-icon{
  width:128px !important;
  height:94px !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  filter:saturate(.98) brightness(.96) contrast(1.05) !important;
}

/* Rebuilt emergency card: vertical copy, phone stays inside, no overflow */
.intent-card-grid .emergency-card-editorial{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  gap:46px !important;
  align-items:center !important;
  min-height:300px !important;
  padding:54px 64px !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(201,154,74,.10), transparent 36%),
    linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.86)) !important;
  border:1px solid rgba(201,154,74,.30) !important;
  border-radius:20px !important;
  box-shadow:0 10px 30px rgba(8,26,48,.034) !important;
  overflow:hidden !important;
}
.intent-card-grid .emergency-card-editorial::after{ display:none !important; content:none !important; }

.emergency-visual{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.emergency-visual .treatment-icon{
  width:190px !important;
  height:148px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
}

.emergency-main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(180px,220px) !important;
  column-gap:42px !important;
  align-items:end !important;
  min-width:0 !important;
}
.emergency-main .urgent-label,
.emergency-main h4,
.emergency-main p{
  grid-column:1 !important;
}
.emergency-main .urgent-label{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.17) !important;
  color:var(--champagne) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
.emergency-main h4{
  margin:0 0 16px !important;
  font-size:30px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  color:var(--navy) !important;
}
.emergency-main p{
  max-width:420px !important;
  margin:0 !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
}
.emergency-action{
  grid-column:2 !important;
  grid-row:1 / span 3 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:12px !important;
  min-width:0 !important;
}
.emergency-phone{
  display:block !important;
  max-width:100% !important;
  color:var(--navy) !important;
  font-size:33px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.emergency-ring-link{
  color:var(--navy) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  text-decoration:none !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,43,67,.22) !important;
  padding-bottom:4px !important;
}

/* Trust strip and CTA: more intentional contrast */
.treatment-trust-strip{
  padding-top:72px !important;
  padding-bottom:72px !important;
  max-width:none !important;
  padding-left:8vw !important;
  padding-right:8vw !important;
}
.subpage-cta{
  padding-top:108px !important;
  padding-bottom:112px !important;
}
.subpage-cta h2{
  max-width:980px !important;
}

/* Responsive */
@media(max-width:1180px){
  .treatment-page-hero,
  .safe-treatment-hero,
  .editorial-treatment-hero{
    grid-template-columns:1fr !important;
    padding:58px 24px 68px !important;
  }
  .treatment-page-hero .treatment-hero-copy,
  .safe-treatment-hero .treatment-hero-copy,
  .editorial-treatment-hero .treatment-hero-copy{
    padding:0 !important;
    max-width:760px !important;
  }
  .treatment-page-hero .treatment-hero-photo,
  .safe-treatment-hero .treatment-hero-photo,
  .editorial-treatment-hero .treatment-hero-photo{
    height:390px !important;
    min-height:390px !important;
    border-radius:14px !important;
    margin-top:38px !important;
  }
  .treatment-page-hero .treatment-hero-photo::before,
  .safe-treatment-hero .treatment-hero-photo::before,
  .editorial-treatment-hero .treatment-hero-photo::before{
    display:none !important;
  }
  .intent-group{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .intent-heading{ position:static !important; }
  .intent-card-grid .emergency-card-editorial{
    grid-template-columns:1fr !important;
    padding:46px 40px !important;
  }
  .emergency-main{
    grid-template-columns:1fr !important;
  }
  .emergency-action{
    grid-column:1 !important;
    grid-row:auto !important;
    margin-top:26px !important;
  }
}

@media(max-width:700px){
  .treatment-page-hero h1,
  .safe-treatment-hero h1,
  .editorial-treatment-hero h1{
    font-size:clamp(46px,12vw,66px) !important;
  }
  .treatment-page-hero .treatment-hero-photo,
  .safe-treatment-hero .treatment-hero-photo,
  .editorial-treatment-hero .treatment-hero-photo{
    height:300px !important;
    min-height:300px !important;
  }
  .intent-card-grid .treatment-card{
    min-height:auto !important;
    padding:36px 30px !important;
  }
  .intent-card-grid .treatment-icon{
    width:112px !important;
    height:82px !important;
  }
  .emergency-visual .treatment-icon{
    width:154px !important;
    height:120px !important;
  }
  .emergency-phone{ font-size:28px !important; }
  .subpage-cta{
    padding-top:76px !important;
    padding-bottom:80px !important;
  }
}


/* =========================================================
   FINAL TREATMENTS POLISH
   Emergency phone breathing room, subtler hero fade, stronger titles,
   more editorial spacing.
   ========================================================= */

.treatment-page-hero .treatment-hero-photo::before,
.safe-treatment-hero .treatment-hero-photo::before,
.editorial-treatment-hero .treatment-hero-photo::before{
  width:118px !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.34) 42%,
    rgba(251,248,242,.10) 72%,
    rgba(251,248,242,0) 100%
  ) !important;
}

.intent-groups{
  gap:76px !important;
}

.intent-group{
  gap:clamp(32px,4vw,66px) !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial){
  padding-top:48px !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial) .treatment-icon-badge{
  margin-bottom:36px !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial) h4{
  font-size:26px !important;
  line-height:1.1 !important;
  margin-bottom:20px !important;
}

.intent-card-grid .emergency-card-editorial{
  grid-template-columns:190px minmax(0,1fr) !important;
  gap:54px !important;
  padding:58px 68px !important;
  min-height:318px !important;
}

.emergency-main{
  grid-template-columns:minmax(0,1fr) minmax(240px,300px) !important;
  column-gap:54px !important;
  align-items:center !important;
}

.emergency-main p{
  max-width:390px !important;
}

.emergency-action{
  align-self:center !important;
  justify-content:center !important;
}

.emergency-phone{
  font-size:40px !important;
  letter-spacing:.018em !important;
  white-space:nowrap !important;
}

.emergency-ring-link{
  font-size:18px !important;
  margin-top:2px !important;
}

.treatment-trust-strip{
  padding-top:88px !important;
  padding-bottom:88px !important;
}

.subpage-cta{
  padding-top:120px !important;
  padding-bottom:122px !important;
}

.subpage-cta h2{
  max-width:1020px !important;
}

@media(max-width:1180px){
  .intent-groups{
    gap:58px !important;
  }

  .emergency-main{
    grid-template-columns:1fr !important;
  }

  .emergency-action{
    grid-column:1 !important;
    grid-row:auto !important;
    align-items:flex-start !important;
    margin-top:28px !important;
  }

  .emergency-phone{
    font-size:34px !important;
  }

  .treatment-trust-strip{
    padding-top:62px !important;
    padding-bottom:62px !important;
  }
}

@media(max-width:700px){
  .intent-groups{
    gap:46px !important;
  }

  .intent-card-grid .treatment-card:not(.emergency-card-editorial) h4{
    font-size:23px !important;
  }

  .emergency-phone{
    font-size:28px !important;
  }

  .subpage-cta{
    padding-top:82px !important;
    padding-bottom:86px !important;
  }
}


/* =========================================================
   EMERGENCY CARD FIX + FINAL PAGE POLISH
   Fixes one-word wrapping, gives the phone CTA room, and refines spacing.
   ========================================================= */

/* Hero: keep current treatment photo, slightly reduce visible fade */
.treatment-page-hero .treatment-hero-photo::before,
.safe-treatment-hero .treatment-hero-photo::before,
.editorial-treatment-hero .treatment-hero-photo::before{
  width:100px !important;
  background:linear-gradient(
    90deg,
    var(--cream) 0%,
    rgba(251,248,242,.26) 44%,
    rgba(251,248,242,.08) 72%,
    rgba(251,248,242,0) 100%
  ) !important;
}

/* Bring the image a touch closer and give it slightly more height */
.treatment-page-hero .treatment-hero-photo,
.safe-treatment-hero .treatment-hero-photo,
.editorial-treatment-hero .treatment-hero-photo{
  min-height:520px !important;
}

.treatment-page-hero .treatment-hero-photo img,
.safe-treatment-hero .treatment-hero-photo img,
.editorial-treatment-hero .treatment-hero-photo img{
  object-position:56% 50% !important;
}

/* Tighten relation between left headings and card column */
.intent-group{
  gap:clamp(22px,3vw,46px) !important;
}

/* Normal treatment cards: more confident, less template-like */
.intent-card-grid .treatment-card:not(.emergency-card-editorial){
  padding:50px 44px 46px !important;
  min-height:345px !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial) .treatment-icon{
  width:138px !important;
  height:102px !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial) .treatment-icon-badge{
  margin-bottom:38px !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial) h4{
  font-size:27px !important;
  line-height:1.08 !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-editorial) p{
  color:rgba(8,43,67,.88) !important;
  font-size:15.5px !important;
  line-height:1.76 !important;
}

/* Emergency card: stable 3-column layout, no wrapping disaster */
.intent-card-grid .emergency-card-editorial{
  display:grid !important;
  grid-template-columns:180px minmax(330px,1fr) minmax(230px,280px) !important;
  align-items:center !important;
  column-gap:52px !important;
  min-height:286px !important;
  padding:54px 64px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(201,154,74,.10), transparent 36%),
    linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.86)) !important;
  border:1px solid rgba(201,154,74,.30) !important;
  border-radius:20px !important;
  box-shadow:0 10px 30px rgba(8,26,48,.034) !important;
}

.intent-card-grid .emergency-card-editorial::after{
  display:none !important;
  content:none !important;
}

.emergency-visual{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
}

.emergency-visual .treatment-icon{
  width:176px !important;
  height:138px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
}

.emergency-main{
  display:block !important;
  min-width:0 !important;
  max-width:390px !important;
}

.emergency-main .urgent-label{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.17) !important;
  color:var(--champagne) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.emergency-main h4{
  margin:0 0 16px !important;
  color:var(--navy) !important;
  font-size:30px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  white-space:normal !important;
}

.emergency-main p{
  margin:0 !important;
  max-width:360px !important;
  color:rgba(8,43,67,.88) !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.emergency-action{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:0 !important;
  text-align:left !important;
}

.emergency-action-label{
  color:var(--champagne) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.emergency-phone{
  display:block !important;
  color:var(--navy) !important;
  font-size:38px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.emergency-ring-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  color:var(--navy) !important;
  text-decoration:none !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,43,67,.24) !important;
  padding-bottom:4px !important;
  white-space:nowrap !important;
}

/* Trust strip and CTA breathing */
.treatment-trust-strip{
  padding-top:88px !important;
  padding-bottom:88px !important;
}

.subpage-cta{
  padding-top:118px !important;
  padding-bottom:120px !important;
}

@media(max-width:1180px){
  .intent-card-grid .emergency-card-editorial{
    grid-template-columns:1fr !important;
    row-gap:28px !important;
    padding:46px 40px !important;
  }

  .emergency-main{
    max-width:560px !important;
  }

  .emergency-action{
    align-items:flex-start !important;
  }

  .emergency-phone{
    font-size:34px !important;
  }
}

@media(max-width:700px){
  .treatment-page-hero .treatment-hero-photo,
  .safe-treatment-hero .treatment-hero-photo,
  .editorial-treatment-hero .treatment-hero-photo{
    min-height:300px !important;
  }

  .intent-card-grid .treatment-card:not(.emergency-card-editorial) .treatment-icon{
    width:112px !important;
    height:82px !important;
  }

  .emergency-visual .treatment-icon{
    width:148px !important;
    height:116px !important;
  }

  .emergency-phone{
    font-size:28px !important;
  }

  .subpage-cta{
    padding-top:82px !important;
    padding-bottom:86px !important;
  }
}


/* =========================================================
   EMERGENCY CARD HARD RESET
   This intentionally overrides every previous emergency-card experiment.
   ========================================================= */

.intent-card-grid > article.emergency-card-reset,
.intent-card-grid .treatment-card-featured.emergency-card-reset,
article.emergency-card-reset{
  display:grid !important;
  grid-template-columns:180px minmax(340px,1fr) 240px !important;
  align-items:center !important;
  column-gap:56px !important;
  width:100% !important;
  min-height:292px !important;
  padding:56px 64px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(201,154,74,.10), transparent 36%),
    linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.88)) !important;
  border:1px solid rgba(201,154,74,.30) !important;
  border-radius:20px !important;
  box-shadow:0 10px 30px rgba(8,26,48,.034) !important;
}

article.emergency-card-reset::before,
article.emergency-card-reset::after{
  display:none !important;
  content:none !important;
}

.emergency-card-reset .emergency-card-icon{
  grid-column:1 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:180px !important;
  min-width:180px !important;
  max-width:180px !important;
}

.emergency-card-reset .emergency-card-icon img{
  display:block !important;
  width:176px !important;
  height:138px !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
  transform:none !important;
}

.emergency-card-reset .emergency-card-copy{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  min-width:0 !important;
  max-width:430px !important;
  width:auto !important;
}

.emergency-card-reset .emergency-card-copy span{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.17) !important;
  color:var(--champagne) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.emergency-card-reset .emergency-card-copy h4{
  display:block !important;
  margin:0 0 16px !important;
  padding:0 !important;
  color:var(--navy) !important;
  font-size:30px !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  white-space:normal !important;
  max-width:none !important;
}

.emergency-card-reset .emergency-card-copy p{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  max-width:390px !important;
  color:rgba(8,43,67,.88) !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.emergency-card-reset .emergency-card-phone{
  grid-column:3 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:240px !important;
  max-width:240px !important;
  width:240px !important;
  text-align:left !important;
}

.emergency-card-reset .emergency-card-phone small{
  display:block !important;
  color:var(--champagne) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.emergency-card-reset .emergency-card-phone .phone-number{
  display:block !important;
  color:var(--navy) !important;
  font-size:36px !important;
  line-height:1 !important;
  letter-spacing:.018em !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  max-width:none !important;
}

.emergency-card-reset .emergency-card-phone .phone-cta{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  color:var(--navy) !important;
  text-decoration:none !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,43,67,.24) !important;
  padding-bottom:4px !important;
  white-space:nowrap !important;
}

/* Give cards/illustrations the final intended polish without touching footer/homepage */
.intent-card-grid .treatment-card:not(.emergency-card-reset) .treatment-icon{
  width:132px !important;
  height:98px !important;
}

.intent-card-grid .treatment-card:not(.emergency-card-reset) h4{
  font-size:26px !important;
  line-height:1.1 !important;
}

.intent-group{
  gap:clamp(26px,3.4vw,58px) !important;
}

.treatment-trust-strip{
  padding-top:82px !important;
  padding-bottom:82px !important;
}

@media(max-width:1180px){
  .intent-card-grid > article.emergency-card-reset,
  .intent-card-grid .treatment-card-featured.emergency-card-reset,
  article.emergency-card-reset{
    grid-template-columns:1fr !important;
    row-gap:28px !important;
    padding:46px 40px !important;
  }

  .emergency-card-reset .emergency-card-icon,
  .emergency-card-reset .emergency-card-copy,
  .emergency-card-reset .emergency-card-phone{
    grid-column:1 !important;
    grid-row:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .emergency-card-reset .emergency-card-phone .phone-number{
    font-size:34px !important;
  }
}

@media(max-width:700px){
  .emergency-card-reset .emergency-card-icon img{
    width:148px !important;
    height:116px !important;
  }

  .emergency-card-reset .emergency-card-phone .phone-number{
    font-size:28px !important;
  }

  .intent-card-grid .treatment-card:not(.emergency-card-reset) .treatment-icon{
    width:110px !important;
    height:82px !important;
  }
}


/* =========================================================
   CLEAN TREATMENTS SECTION REBUILD
   Fresh class names. No dependency on old treatment-card/intent-grid rules.
   ========================================================= */

.treatments-brand-icons{
  padding:86px 8vw 92px !important;
}

.treatments-intro{
  max-width:1260px !important;
  margin:0 auto 78px !important;
}

.treatments-intro h2{
  max-width:760px !important;
}

.treatments-intro p:not(.eyebrow){
  max-width:720px !important;
  font-size:16px !important;
  line-height:1.72 !important;
}

.treatments-clean-layout{
  max-width:1260px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:78px !important;
}

.treatment-intent-block{
  display:grid !important;
  grid-template-columns:minmax(280px, .62fr) minmax(0, 1.38fr) !important;
  gap:64px !important;
  align-items:start !important;
}

.intent-copy{
  position:sticky !important;
  top:120px !important;
  padding-top:8px !important;
}

.intent-copy .eyebrow{
  margin:0 0 18px !important;
  color:rgba(201,154,74,.98) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.intent-copy h3{
  max-width:360px !important;
  margin:0 !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(34px,3.05vw,48px) !important;
  line-height:1.02 !important;
  letter-spacing:-.06em !important;
  font-weight:400 !important;
}

.clean-treatment-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:30px !important;
}

.clean-treatment-grid-wide{
  grid-template-columns:1fr !important;
}

.clean-treatment-card{
  min-height:350px !important;
  padding:52px 46px 48px !important;
  box-sizing:border-box !important;
  border-radius:18px !important;
  border:1px solid rgba(8,43,67,.052) !important;
  background:rgba(255,253,248,.64) !important;
  box-shadow:0 8px 22px rgba(8,26,48,.024) !important;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease !important;
}

.clean-treatment-card:hover{
  transform:translateY(-4px) !important;
  background:rgba(255,253,248,.88) !important;
  border-color:rgba(8,43,67,.09) !important;
  box-shadow:0 16px 36px rgba(8,26,48,.045) !important;
}

.clean-treatment-card img{
  display:block !important;
  width:142px !important;
  height:104px !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 0 40px !important;
  opacity:1 !important;
  filter:saturate(.98) brightness(.96) contrast(1.05) !important;
}

.clean-treatment-card h4{
  margin:0 0 20px !important;
  color:var(--navy) !important;
  font-size:27px !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  font-weight:900 !important;
}

.clean-treatment-card p{
  max-width:430px !important;
  margin:0 !important;
  color:rgba(8,43,67,.88) !important;
  font-size:15.5px !important;
  line-height:1.76 !important;
}

.clean-treatment-card-wide{
  min-height:280px !important;
  max-width:none !important;
}

/* Emergency card rebuilt from scratch */
.clean-emergency-card{
  width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(86px,112px) minmax(0,1fr) minmax(150px,170px) !important;
  gap:clamp(20px,2.6vw,34px) !important;
  align-items:center !important;
  min-height:240px !important;
  padding:44px clamp(34px,4.2vw,48px) !important;
  overflow:hidden !important;
  border-radius:20px !important;
  border:1px solid rgba(201,154,74,.30) !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(201,154,74,.10), transparent 36%),
    linear-gradient(180deg,rgba(201,154,74,.13),rgba(255,253,248,.88)) !important;
  box-shadow:0 12px 34px rgba(8,26,48,.036) !important;
}

.clean-emergency-icon{
  min-width:0 !important;
}

.clean-emergency-icon img{
  display:block !important;
  width:112px !important;
  height:88px !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
  filter:saturate(1) brightness(.96) contrast(1.08) !important;
}

.clean-emergency-copy{
  min-width:0 !important;
  max-width:none !important;
}

.clean-emergency-copy span{
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 16px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:rgba(201,154,74,.17) !important;
  color:var(--champagne) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.clean-emergency-copy h4{
  margin:0 0 16px !important;
  color:var(--navy) !important;
  font-size:clamp(23px,2.15vw,28px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
  white-space:normal !important;
}

.clean-emergency-copy p{
  margin:0 !important;
  max-width:300px !important;
  color:rgba(8,43,67,.88) !important;
  font-size:14.5px !important;
  line-height:1.58 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.clean-emergency-phone{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:0 !important;
  width:auto !important;
  max-width:170px !important;
}

.clean-emergency-phone small{
  display:block !important;
  color:var(--champagne) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.clean-emergency-phone .phone-number{
  display:block !important;
  color:var(--navy) !important;
  font-size:clamp(25px,2.45vw,31px) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.clean-emergency-phone .phone-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  color:var(--navy) !important;
  text-decoration:none !important;
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  border-bottom:1px solid rgba(8,43,67,.24) !important;
  padding-bottom:4px !important;
  white-space:nowrap !important;
}

/* Trust strip / CTA follows clean section */
.treatment-trust-strip{
  padding-top:84px !important;
  padding-bottom:84px !important;
}

.subpage-cta{
  padding-top:112px !important;
  padding-bottom:116px !important;
}

@media(max-width:1180px){
  .treatment-intent-block{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .intent-copy{
    position:static !important;
  }

  .clean-emergency-card{
    grid-template-columns:minmax(72px,96px) minmax(0,1fr) !important;
    gap:28px !important;
    padding:40px 34px !important;
  }

  .clean-emergency-copy{
    max-width:620px !important;
  }

  .clean-emergency-phone{
    grid-column:2 !important;
    width:100% !important;
    max-width:none !important;
    margin-top:4px !important;
  }
}

@media(max-width:760px){
  .treatments-brand-icons{
    padding:64px 24px 70px !important;
  }

  .clean-treatment-grid{
    grid-template-columns:1fr !important;
  }

  .clean-treatment-card{
    min-height:auto !important;
    padding:40px 32px !important;
  }

  .clean-treatment-card img{
    width:118px !important;
    height:88px !important;
  }

  .clean-emergency-icon img{
    width:150px !important;
    height:118px !important;
  }

.clean-emergency-phone .phone-number{
    font-size:28px !important;
  }
}

/* Multi-page clinic structure */
.nav-item{
  position:relative;
  display:flex;
  align-items:center;
}

.nav-dropdown{
  position:absolute;
  top:calc(100% + 18px);
  left:50%;
  min-width:270px;
  padding:14px;
  background:rgba(255,253,248,.98);
  border:1px solid var(--line-soft);
  border-radius:14px;
  box-shadow:0 22px 58px rgba(8,43,67,.13);
  transform:translate(-50%,8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.nav-dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  color:var(--navy);
  font-size:12.5px;
  line-height:1.2;
  white-space:normal;
}

.nav-dropdown a:hover,
.nav-dropdown a:focus-visible{
  background:rgba(201,154,74,.10);
  opacity:1;
}

.has-dropdown:hover .nav-dropdown,
.has-dropdown:focus-within .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.clinic-page-hero{
  padding:clamp(86px,10vw,142px) 8vw clamp(58px,7vw,92px);
  background:var(--cream);
  border-bottom:1px solid var(--line-soft);
}

.clinic-page-hero h1{
  max-width:820px;
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(54px,6vw,92px);
  line-height:.96;
  letter-spacing:-.075em;
  font-weight:400;
  color:var(--navy);
}

.clinic-page-hero p:not(.eyebrow){
  max-width:620px;
  margin:28px 0 0;
  color:var(--text);
  font-size:16px;
  line-height:1.72;
}

.clinic-info-section,
.contact-page-section{
  padding:clamp(72px,8vw,112px) 8vw;
  background:var(--cream);
  border-bottom:1px solid var(--line-soft);
}

.clinic-info-grid,
.resource-grid,
.clinic-team-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  gap:24px;
}

.clinic-info-grid,
.resource-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.booking-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.clinic-info-grid article,
.resource-grid article{
  min-height:260px;
  padding:42px 38px;
  background:rgba(255,253,248,.68);
  border:1px solid var(--line-soft);
  border-radius:14px;
  box-shadow:0 10px 30px rgba(8,26,48,.028);
}

.clinic-info-grid h2,
.resource-grid h2,
.contact-details-panel h2{
  margin:0 0 18px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(28px,2.8vw,44px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:400;
}

.clinic-info-grid p,
.resource-grid p,
.contact-details-panel dd{
  margin:0;
  color:var(--text);
  font-size:14.5px;
  line-height:1.68;
}

.resource-grid .text-link{
  display:inline-block;
  margin-top:24px;
}

.clinic-team-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.team-placeholder .placeholder-visual{
  min-height:250px;
  display:grid;
  place-items:center;
  gap:14px;
  background:rgba(8,43,67,.04);
}

.team-placeholder .placeholder-visual img{
  width:92px;
  height:92px;
  object-fit:contain;
  filter:none;
}

.team-placeholder .placeholder-visual span{
  color:var(--muted);
  font-size:13px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.contact-page-section{
  display:grid;
  grid-template-columns:minmax(340px,.68fr) minmax(420px,1fr);
  gap:clamp(30px,3.8vw,48px);
  align-items:center;
}

.contact-details-panel{
  padding:clamp(34px,4vw,48px);
  background:rgba(255,253,248,.70);
  border:1px solid var(--line-soft);
  border-radius:14px;
}

.contact-details-panel dl{
  display:grid;
  gap:22px;
  margin:0;
}

.contact-details-panel dt{
  margin:0 0 6px;
  color:var(--champagne);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.contact-details-panel a{
  font-weight:850;
}

.contact-map-panel{
  min-height:0;
  height:clamp(360px,36vw,460px);
  border:1px solid var(--line-soft);
  border-radius:14px;
  overflow:hidden;
  background:var(--paper);
}

.contact-map-panel .google-map-embed{
  width:100%;
  height:100%;
  min-height:0;
  border:0;
  display:block;
}

.card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:28px;
}

.email-heading{
  font-size:clamp(24px,2.35vw,34px) !important;
  letter-spacing:-.04em !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

.dentiline-card{
  display:grid !important;
  grid-template-columns:minmax(280px,38%) minmax(0,1fr) !important;
  gap:clamp(34px,4vw,58px) !important;
  align-items:stretch !important;
  padding:0 !important;
  overflow:hidden !important;
  background:rgba(255,253,248,.78) !important;
  border:1px solid rgba(8,43,67,.075) !important;
  box-shadow:0 14px 38px rgba(8,26,48,.035) !important;
}

.dentiline-card-media{
  margin:0 !important;
  min-height:320px !important;
  height:100% !important;
  overflow:hidden !important;
  background:rgba(8,43,67,.04) !important;
}

.dentiline-card-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:320px !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  margin:0 !important;
  filter:saturate(.96) contrast(1.02) brightness(1.02) !important;
}

.dentiline-card-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  padding:clamp(42px,5vw,62px) clamp(38px,5vw,64px) clamp(42px,5vw,62px) 0 !important;
}

.dentiline-card-copy .eyebrow{
  margin:0 0 16px !important;
  color:var(--champagne) !important;
}

.dentiline-card-copy h4{
  margin:0 0 22px !important;
  color:var(--navy) !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:clamp(38px,4vw,58px) !important;
  line-height:.98 !important;
  letter-spacing:-.06em !important;
  font-weight:400 !important;
}

.dentiline-card-copy p:not(.eyebrow){
  max-width:680px !important;
  margin:0 !important;
  color:rgba(8,43,67,.88) !important;
  font-size:16px !important;
  line-height:1.72 !important;
}

.btn,
.featured-main,
.featured-side a,
.team-card,
.review-grid article,
.clean-treatment-card,
.clinic-info-grid article,
.resource-grid article,
.access-card-grid article,
.faq-list details,
.booking-help-grid article{
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease, filter .22s ease;
}

.btn:hover{
  filter:brightness(1.04);
}

.btn-outline:hover{
  background:rgba(255,253,248,.92);
  border-color:rgba(8,43,67,.34);
}

.featured-main:hover,
.featured-side a:hover,
.clean-treatment-card:hover,
.clinic-info-grid article:hover,
.resource-grid article:hover,
.access-card-grid article:hover{
  transform:translateY(-4px);
}

.booking-help-grid article:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 34px rgba(8,26,48,.035);
}

.team-card:hover{
  transform:translateY(-4px);
}

.review-grid{
  align-items:stretch;
}

.review-grid article{
  display:flex;
  flex-direction:column;
  height:100%;
}

.review-grid article:hover{
  transform:translateY(-3px);
}

.review-grid strong{
  margin-top:auto;
}

.clinic-story-section{
  padding:clamp(76px,8vw,118px) 8vw;
  display:grid;
  grid-template-columns:minmax(320px,.84fr) minmax(360px,1fr);
  gap:clamp(48px,6vw,96px);
  align-items:start;
  background:var(--paper);
  border-bottom:1px solid var(--line-soft);
}

.story-copy h2,
.section-heading-block h2,
.contact-access-section h2{
  margin:0;
  max-width:760px;
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  font-size:clamp(42px,4.4vw,68px);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:400;
}

.story-copy p:not(.eyebrow),
.section-heading-block p:not(.eyebrow){
  max-width:620px;
  margin:24px 0 0;
  color:var(--text);
  font-size:16px;
  line-height:1.74;
}

.story-points{
  display:grid;
  gap:18px;
}

.story-points article{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:22px;
  align-items:center;
  padding:28px 30px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:rgba(251,248,242,.72);
}

.story-points span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(201,154,74,.16);
  color:var(--champagne);
  font-weight:900;
  font-size:13px;
}

.story-points h3{
  margin:0;
  color:var(--navy);
  font-size:18px;
  line-height:1.25;
}

.section-with-heading{
  display:grid;
  gap:40px;
}

.section-heading-block{
  max-width:1180px;
  width:100%;
  margin:0 auto;
}

.trust-reasons-grid,
.first-visit-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.team-cta{
  border-bottom:1px solid var(--line-soft);
}

.team-placeholder{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.team-placeholder .placeholder-visual{
  min-height:250px;
  background:
    radial-gradient(circle at 50% 28%, rgba(201,154,74,.13), transparent 34%),
    rgba(255,253,248,.72);
}

.team-placeholder .placeholder-visual img{
  width:88px;
  height:88px;
  opacity:.88;
}

.patient-reassurance-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  padding:clamp(46px,5vw,68px) 8vw clamp(72px,7vw,104px);
  background:var(--cream);
  border-bottom:1px solid var(--line-soft);
}

.patient-reassurance-strip span{
  display:block;
  padding:26px 30px;
  background:rgba(255,253,248,.74);
  border:1px solid var(--line-soft);
  border-radius:14px;
  color:var(--navy);
  font-size:14px;
  font-weight:900;
  box-shadow:0 10px 28px rgba(8,26,48,.025);
}

.faq-section{
  display:grid;
  gap:38px;
  background:var(--paper);
}

.faq-list{
  max-width:1180px;
  width:100%;
  margin:0 auto;
  display:grid;
  gap:14px;
}

.faq-list details{
  padding:0;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:rgba(251,248,242,.70);
  overflow:hidden;
}

.faq-list details:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 34px rgba(8,26,48,.035);
}

.faq-list summary{
  cursor:pointer;
  color:var(--navy);
  padding:26px 30px;
  font-size:19px;
  line-height:1.25;
  font-weight:900;
  list-style-position:outside;
}

.faq-list summary:focus-visible{
  outline:3px solid rgba(201,154,74,.42);
  outline-offset:-3px;
  background:rgba(201,154,74,.08);
}

.faq-list p{
  max-width:760px;
  margin:0;
  padding:0 30px 28px;
  color:var(--text);
  font-size:15px;
  line-height:1.68;
}

.contact-team-section{
  padding:clamp(76px,8vw,112px) 8vw;
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(360px,1fr);
  gap:clamp(42px,5vw,76px);
  align-items:center;
  background:var(--paper);
  border-bottom:1px solid var(--line-soft);
}

.contact-team-section figure{
  margin:0;
  height:clamp(360px,38vw,480px);
  overflow:hidden;
  border-radius:14px;
  border:1px solid var(--line-soft);
  box-shadow:0 18px 44px rgba(8,26,48,.055);
}

.contact-team-section figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 45%;
  display:block;
}

.contact-team-section h2,
.booking-help-section h2{
  margin:0;
  max-width:720px;
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  font-size:clamp(42px,4.4vw,68px);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:400;
}

.contact-team-section p:not(.eyebrow){
  max-width:620px;
  margin:24px 0 0;
  color:var(--text);
  font-size:16px;
  line-height:1.74;
}

.contact-team-section ul{
  display:grid;
  gap:12px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}

.contact-team-section li{
  position:relative;
  padding-left:28px;
  color:var(--navy);
  font-size:14px;
  font-weight:850;
}

.contact-team-section li::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid var(--champagne);
}

.contact-cta{
  border-bottom:1px solid var(--line-soft);
}

.booking-help-section{
  display:grid;
  gap:32px;
  background:var(--paper);
}

.booking-help-grid{
  max-width:1180px;
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.booking-help-grid article{
  min-height:140px;
  padding:28px 30px;
  display:flex;
  align-items:center;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:rgba(251,248,242,.74);
  color:var(--navy);
  font-size:17px;
  font-weight:900;
  line-height:1.25;
}

.booking-help-actions{
  max-width:1180px;
  width:100%;
  margin:0 auto;
}

/* Secondary page content depth polish */
.clinic-team-grid .team-card p:not(.role){
  display:block;
  margin:12px 0 0;
  color:var(--text);
  font-size:13.5px;
  line-height:1.62;
}

.work-method-section,
.patient-prep-section,
.visit-info-section,
.booking-help-section,
.booking-timeline-section,
.new-patient-faq-section{
  padding-top:clamp(58px,6.2vw,88px);
  padding-bottom:clamp(62px,6.6vw,92px);
}

.work-method-section,
.visit-info-section,
.booking-timeline-section{
  background:var(--paper);
}

.patient-prep-section,
.booking-help-section{
  background:var(--cream);
}

.work-method-grid,
.patient-prep-grid,
.visit-info-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.work-method-grid article,
.patient-prep-grid article,
.visit-info-grid article{
  min-height:230px;
}

.visit-info-grid a{
  font-weight:850;
}

.booking-help-grid article{
  min-height:210px;
  display:block;
  align-items:initial;
  padding:34px 34px 36px;
}

.booking-help-grid h2{
  margin:0 0 14px;
  color:var(--navy);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(28px,2.4vw,38px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:400;
}

.booking-help-grid p:not(.eyebrow){
  margin:0;
  color:var(--text);
  font-size:14.5px;
  line-height:1.66;
  font-weight:500;
}

.booking-timeline{
  max-width:1180px;
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--line-soft);
  background:var(--line-soft);
}

.booking-timeline article{
  min-height:190px;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:24px;
  align-items:start;
  padding:34px 34px 36px;
  background:rgba(255,253,248,.76);
}

.booking-timeline span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--champagne);
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.booking-timeline h2{
  margin:0 0 10px;
  color:var(--navy);
  font-size:18px;
  line-height:1.2;
}

.booking-timeline p{
  margin:0;
  color:var(--text);
  font-size:14px;
  line-height:1.62;
}

.booking-call-section{
  padding-top:clamp(62px,6vw,82px) !important;
  padding-bottom:clamp(68px,6.4vw,92px) !important;
  border-bottom:1px solid var(--line-soft);
}

.booking-call-section p:not(.eyebrow){
  max-width:640px !important;
}

.new-patient-faq-section + .patient-reassurance-strip{
  padding-top:clamp(42px,4.5vw,58px);
}

.patient-reassurance-strip{
  padding-bottom:clamp(62px,6vw,82px);
}

.work-method-grid article,
.patient-prep-grid article,
.visit-info-grid article,
.booking-timeline article{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}

.work-method-grid article:hover,
.patient-prep-grid article:hover,
.visit-info-grid article:hover,
.booking-timeline article:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 34px rgba(8,26,48,.035);
}

.contact-access-section{
  padding:clamp(76px,8vw,118px) 8vw;
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(420px,1fr);
  gap:clamp(42px,5vw,78px);
  align-items:center;
  background:var(--paper);
  border-bottom:1px solid var(--line-soft);
}

.contact-access-section figure{
  margin:0;
  min-height:420px;
  overflow:hidden;
  border-radius:14px;
  border:1px solid var(--line-soft);
}

.contact-access-section figure img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:50% 42%;
  display:block;
}

.access-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.access-card-grid article{
  min-height:170px;
  padding:28px 30px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:rgba(251,248,242,.72);
}

.access-card-grid h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:19px;
  line-height:1.2;
}

.access-card-grid p{
  margin:0;
  color:var(--text);
  font-size:14px;
  line-height:1.62;
}

@media(max-width:1180px){
  .site-header{
    grid-template-columns:auto auto;
    gap:16px 24px;
  }

  .main-nav{
    grid-column:1 / -1;
    display:flex !important;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px 18px;
    padding:4px 0 8px;
    white-space:normal;
  }

  .main-nav > a,
  .nav-item > a{
    padding:8px 0;
  }

  .nav-item{
    display:block;
  }

  .nav-dropdown{
    display:none;
  }

  .clinic-info-grid,
  .resource-grid,
  .booking-grid,
  .clinic-team-grid,
  .contact-page-section,
  .clinic-story-section,
  .contact-access-section,
  .contact-team-section,
  .trust-reasons-grid,
  .first-visit-grid,
  .work-method-grid,
  .patient-prep-grid,
  .visit-info-grid,
  .booking-help-grid,
  .booking-timeline{
    grid-template-columns:1fr 1fr;
  }

  .booking-timeline article{
    min-height:0;
  }
}

@media(max-width:700px){
  .site-header{
    grid-template-columns:1fr;
  }

  .header-actions{
    justify-content:space-between;
  }

  .main-nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px 18px;
  }

  .main-nav > a,
  .nav-item > a{
    font-size:12px;
    line-height:1.25;
  }

  .clinic-page-hero,
  .clinic-info-section,
  .contact-page-section{
    padding-left:24px;
    padding-right:24px;
  }

  .clinic-info-grid,
  .resource-grid,
  .booking-grid,
  .clinic-team-grid,
  .contact-page-section,
  .clinic-story-section,
  .contact-access-section,
  .contact-team-section,
  .trust-reasons-grid,
  .first-visit-grid,
  .work-method-grid,
  .patient-prep-grid,
  .visit-info-grid,
  .booking-help-grid,
  .booking-timeline,
  .access-card-grid,
  .patient-reassurance-strip{
    grid-template-columns:1fr;
  }

  .booking-help-grid article,
  .booking-timeline article{
    min-height:0;
  }

  .booking-timeline article{
    grid-template-columns:1fr;
  }

  .dentiline-card{
    grid-template-columns:1fr !important;
  }

  .dentiline-card-media,
  .dentiline-card-media img{
    min-height:260px !important;
  }

  .dentiline-card-copy{
    padding:38px 30px 42px !important;
  }

  .clinic-story-section,
  .contact-access-section,
  .contact-team-section{
    padding-left:24px;
    padding-right:24px;
  }

  .contact-team-section figure{
    height:320px;
  }

  .patient-reassurance-strip{
    padding-left:24px;
    padding-right:24px;
  }

  .story-points article{
    grid-template-columns:1fr;
  }

  .contact-details-panel{
    padding:34px 28px;
  }
}

/* Final contact page polish */
body:has(.contact-page-section) .clinic-page-hero{
  padding-top:clamp(62px,7vw,104px);
  padding-bottom:clamp(38px,4.8vw,64px);
}

body:has(.contact-page-section) .clinic-page-hero p:not(.eyebrow){
  margin-top:22px;
}

body:has(.contact-page-section) .clinic-page-hero .hero-actions{
  margin-top:26px;
}

.contact-page-section{
  grid-template-columns:minmax(320px,40%) minmax(0,60%);
  gap:clamp(34px,4vw,54px);
  align-items:stretch;
  padding-top:clamp(52px,5.6vw,76px);
  padding-bottom:clamp(66px,6.4vw,88px);
}

.contact-details-panel{
  height:100%;
}

.contact-map-panel{
  height:clamp(390px,34vw,460px);
  align-self:stretch;
}

.contact-team-section{
  border-top:1px solid var(--line-soft);
}

.contact-team-section figure{
  height:clamp(400px,40vw,520px);
}

.contact-team-section figure img{
  object-position:50% 44%;
}

.contact-access-section{
  gap:clamp(66px,7vw,108px);
}

.contact-cta p:not(.eyebrow){
  max-width:640px;
}

@media(max-width:1180px){
  .contact-page-section{
    grid-template-columns:minmax(300px,40%) minmax(0,60%);
  }
}

@media(max-width:700px){
  body:has(.contact-page-section) .clinic-page-hero{
    padding-top:54px;
    padding-bottom:38px;
  }

  .contact-page-section{
    grid-template-columns:1fr;
    padding-top:44px;
    padding-bottom:62px;
  }

  .contact-map-panel{
    height:360px;
  }

  .contact-team-section figure{
    height:360px;
  }

  .contact-access-section{
    gap:34px;
  }
}

/* Secondary page layout repair: tighter rhythm and safe card typography */
body:not(:has(.contact-page-section)) .clinic-page-hero{
  min-height:0 !important;
  padding:96px 8vw 64px !important;
}

body:not(:has(.contact-page-section)) .clinic-info-section{
  padding:96px 8vw !important;
}

body:not(:has(.contact-page-section)) .section-with-heading{
  gap:32px !important;
}

.clinic-page-hero h1{
  font-size:clamp(46px,5vw,78px) !important;
  line-height:.98 !important;
  max-width:860px !important;
}

.clinic-page-hero p:not(.eyebrow){
  margin-top:20px !important;
}

.team-page-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:clamp(32px,5vw,72px);
  align-items:end;
}

.clinic-page-hero-copy{
  min-width:0;
}

.team-hero-note{
  padding:34px 36px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:rgba(255,253,248,.72);
  box-shadow:0 12px 32px rgba(8,26,48,.035);
}

.team-hero-note h2{
  margin:0;
  color:var(--navy);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(28px,2.4vw,40px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:400;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:auto;
}

.team-hero-note p:not(.eyebrow){
  margin:16px 0 0 !important;
  color:var(--text);
  font-size:14.5px;
  line-height:1.68;
}

.clinic-info-grid,
.resource-grid,
.clinic-team-grid,
.booking-help-grid,
.booking-timeline{
  gap:22px !important;
}

.clinic-info-grid article,
.resource-grid article{
  min-height:0 !important;
  padding:32px 30px !important;
  overflow:visible !important;
}

.clinic-info-grid h2,
.resource-grid h2{
  max-width:100%;
  margin-bottom:14px !important;
  font-size:clamp(22px,1.75vw,31px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:auto !important;
}

.trust-reasons-grid,
.work-method-grid,
.patient-prep-grid,
.first-visit-grid,
.visit-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.trust-reasons-grid article,
.work-method-grid article,
.patient-prep-grid article,
.first-visit-grid article,
.visit-info-grid article{
  min-height:190px !important;
}

.trust-reasons-grid h2,
.work-method-grid h2,
.patient-prep-grid h2,
.first-visit-grid h2,
.visit-info-grid h2{
  font-size:clamp(22px,1.55vw,28px) !important;
  line-height:1.1 !important;
}

.clinic-team-grid .team-card{
  overflow:hidden;
}

.clinic-team-grid .team-card p:not(.role){
  display:block !important;
  margin-top:10px !important;
  margin-bottom:0 !important;
  font-size:13.25px !important;
  line-height:1.56 !important;
}

.team-placeholder .placeholder-visual{
  min-height:220px !important;
}

.clinic-story-section{
  padding:86px 8vw !important;
  gap:clamp(34px,5vw,72px) !important;
}

.story-copy h2,
.section-heading-block h2{
  font-size:clamp(36px,3.7vw,58px) !important;
  line-height:1 !important;
}

.story-copy p:not(.eyebrow),
.section-heading-block p:not(.eyebrow){
  margin-top:18px !important;
}

.story-points article{
  padding:24px 26px !important;
}

.patient-reassurance-strip{
  padding:48px 8vw 64px !important;
  gap:0 !important;
  border-top:0 !important;
}

.patient-reassurance-strip span{
  border-radius:0 !important;
  box-shadow:none !important;
  border-left:0 !important;
  border-right:1px solid var(--line-soft) !important;
  background:rgba(255,253,248,.45) !important;
}

.patient-reassurance-strip span:first-child{
  border-left:1px solid var(--line-soft) !important;
}

.faq-section{
  gap:28px !important;
}

.faq-list{
  gap:10px !important;
}

.faq-list summary{
  padding:20px 24px !important;
  font-size:17px !important;
}

.faq-list p{
  padding:0 24px 22px !important;
}

.booking-help-section{
  gap:28px !important;
}

.booking-help-grid article{
  min-height:0 !important;
  padding:30px 28px !important;
}

.booking-help-grid h2{
  font-size:clamp(24px,2vw,32px) !important;
  line-height:1.05 !important;
}

.booking-timeline{
  gap:14px !important;
  border:0 !important;
  background:transparent !important;
}

.booking-timeline article{
  min-height:0 !important;
  padding:28px !important;
  border:1px solid var(--line-soft);
  border-radius:14px;
  box-shadow:0 10px 28px rgba(8,26,48,.025);
}

.booking-call-section{
  padding-top:64px !important;
  padding-bottom:76px !important;
}

.email-heading{
  font-size:clamp(21px,1.9vw,30px) !important;
  overflow-wrap:anywhere !important;
}

@media(max-width:1180px){
  body:not(:has(.contact-page-section)) .clinic-page-hero,
  body:not(:has(.contact-page-section)) .clinic-info-section{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  .team-page-hero{
    grid-template-columns:1fr;
    align-items:start;
  }

  .team-hero-note{
    max-width:620px;
  }

  .clinic-page-hero h1{
    font-size:clamp(42px,6.4vw,68px) !important;
  }

  .clinic-story-section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }
}

@media(max-width:700px){
  body:not(:has(.contact-page-section)) .clinic-page-hero,
  body:not(:has(.contact-page-section)) .clinic-info-section{
    padding:48px 24px !important;
  }

  .clinic-page-hero h1{
    font-size:clamp(38px,11vw,54px) !important;
    letter-spacing:-.055em !important;
  }

  .trust-reasons-grid,
  .work-method-grid,
  .patient-prep-grid,
  .first-visit-grid,
  .visit-info-grid,
  .booking-timeline{
    grid-template-columns:1fr !important;
  }

  .clinic-info-grid article,
  .resource-grid article,
  .booking-help-grid article{
    padding:28px 24px !important;
  }

  .clinic-info-grid h2,
  .resource-grid h2,
  .booking-help-grid h2{
    font-size:clamp(22px,7vw,30px) !important;
  }

  .team-hero-note{
    padding:28px 24px;
  }

  .clinic-story-section{
    padding:56px 24px !important;
  }

  .patient-reassurance-strip{
    padding:38px 24px 50px !important;
    gap:10px !important;
  }

  .patient-reassurance-strip span,
  .patient-reassurance-strip span:first-child{
    border:1px solid var(--line-soft) !important;
    border-radius:12px !important;
  }

  .booking-timeline article{
    grid-template-columns:1fr !important;
  }
}

/* Final secondary page spacing polish */
body:not(:has(.contact-page-section)) .clinic-page-hero{
  padding-top:80px !important;
  padding-bottom:48px !important;
}

body:not(:has(.contact-page-section)) .clinic-info-section{
  padding-top:78px !important;
  padding-bottom:78px !important;
}

body:not(:has(.contact-page-section)) .section-with-heading{
  gap:24px !important;
}

.clinic-info-grid,
.resource-grid,
.clinic-team-grid,
.booking-help-grid{
  gap:20px !important;
}

.clinic-story-section{
  padding-top:72px !important;
  padding-bottom:72px !important;
}

.clinic-story-section + .clinic-info-section,
.clinic-info-section + .work-method-section,
.work-method-section + .clinic-info-section{
  padding-top:70px !important;
}

.work-method-section,
.new-patient-faq-section,
.visit-info-section,
.booking-help-section,
.booking-timeline-section{
  padding-top:72px !important;
  padding-bottom:72px !important;
}

.clinic-info-section + .clinic-info-section,
.clinic-info-section + .faq-section,
.booking-help-section + .booking-timeline-section{
  padding-top:66px !important;
}

.faq-section{
  padding-top:68px !important;
  padding-bottom:68px !important;
}

.new-patient-faq-section{
  padding-bottom:50px !important;
}

.new-patient-faq-section + .patient-reassurance-strip{
  padding-top:30px !important;
}

.patient-reassurance-strip{
  padding-top:34px !important;
  padding-bottom:44px !important;
}

.patient-reassurance-strip span{
  padding-top:20px !important;
  padding-bottom:20px !important;
}

body:has(.booking-grid):not(:has(.contact-page-section)) .clinic-page-hero{
  padding-bottom:42px !important;
}

body:has(.booking-grid):not(:has(.contact-page-section)) .clinic-info-section{
  padding-top:62px !important;
  padding-bottom:62px !important;
}

body:has(.booking-grid) .booking-help-section{
  padding-top:54px !important;
  padding-bottom:56px !important;
}

body:has(.booking-grid) .booking-timeline-section{
  padding-top:52px !important;
  padding-bottom:52px !important;
}

body:has(.booking-grid) .booking-call-section{
  padding-top:46px !important;
  padding-bottom:58px !important;
}

body:has(.booking-grid) .site-footer{
  margin-top:0 !important;
}

body:has(.resource-grid):not(:has(.contact-page-section)) .clinic-page-hero{
  padding-bottom:42px !important;
}

body:has(.resource-grid) .visit-info-section{
  padding-top:58px !important;
  padding-bottom:58px !important;
}

body:has(.resource-grid) .faq-section{
  padding-top:56px !important;
  padding-bottom:60px !important;
}

@media(max-width:1180px){
  body:not(:has(.contact-page-section)) .clinic-page-hero,
  body:not(:has(.contact-page-section)) .clinic-info-section{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }

  .clinic-story-section,
  .work-method-section,
  .new-patient-faq-section,
  .visit-info-section,
  .booking-help-section,
  .booking-timeline-section,
  .faq-section{
    padding-top:56px !important;
    padding-bottom:56px !important;
  }

  .patient-reassurance-strip{
    padding-top:30px !important;
    padding-bottom:38px !important;
  }
}

@media(max-width:700px){
  body:not(:has(.contact-page-section)) .clinic-page-hero,
  body:not(:has(.contact-page-section)) .clinic-info-section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .clinic-story-section,
  .work-method-section,
  .new-patient-faq-section,
  .visit-info-section,
  .booking-help-section,
  .booking-timeline-section,
  .faq-section{
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  .section-heading-block p:not(.eyebrow),
  .story-copy p:not(.eyebrow){
    margin-top:14px !important;
  }

  .patient-reassurance-strip{
    padding-top:26px !important;
    padding-bottom:34px !important;
  }

  body:has(.booking-grid) .booking-call-section{
    padding-top:38px !important;
    padding-bottom:46px !important;
  }
}

/* Treatments page text-fit stabilizer */
.treatment-page-hero h1{
  max-width:680px !important;
  font-size:clamp(48px,4.4vw,74px) !important;
  line-height:1 !important;
  letter-spacing:-.06em !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.clean-treatment-card h4,
.clean-emergency-card h4{
  max-width:100% !important;
  font-size:clamp(22px,1.9vw,26px) !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
}

@media(max-width:700px){
  .treatment-page-hero h1{
    font-size:clamp(40px,10.5vw,56px) !important;
    max-width:100% !important;
    letter-spacing:-.05em !important;
  }

  .clean-treatment-card h4,
  .clean-emergency-card h4{
    font-size:clamp(21px,6.1vw,27px) !important;
  }
}

/* Secondary page info icons: matches the homepage trust-strip badge style */
.clinic-info-grid article:has(.patient-step-icon),
.resource-grid article:has(.patient-step-icon){
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-areas:
    "icon number"
    "icon title"
    "icon body";
  column-gap:22px;
  align-items:start;
  padding-right:30px !important;
}

.patient-step-icon{
  position:static;
  grid-area:icon;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(201,154,74,.9);
  background:
    radial-gradient(circle at 42% 32%, #fff, rgba(251,248,242,.94) 58%, rgba(201,154,74,.2)),
    #fffdf8;
  box-shadow:
    0 12px 26px rgba(8,26,48,.11),
    inset 0 0 0 5px rgba(255,255,255,.78);
}

.patient-step-icon img{
  width:37px;
  height:37px;
  display:block;
  object-fit:contain;
  filter:contrast(1.2) saturate(1.16);
}

.clinic-info-grid article:has(.patient-step-icon) .eyebrow,
.resource-grid article:has(.patient-step-icon) .eyebrow{
  grid-area:number;
  margin-bottom:8px;
}

.clinic-info-grid article:has(.patient-step-icon) h2,
.resource-grid article:has(.patient-step-icon) h2{
  grid-area:title;
}

.clinic-info-grid article:has(.patient-step-icon) p:not(.eyebrow),
.resource-grid article:has(.patient-step-icon) p:not(.eyebrow){
  grid-area:body;
}

.resource-grid article:has(.patient-step-icon) .text-link{
  grid-column:2;
}

.clinic-info-grid article:has(.patient-step-icon):hover .patient-step-icon,
.resource-grid article:has(.patient-step-icon):hover .patient-step-icon{
  border-color:rgba(201,154,74,1);
  box-shadow:
    0 14px 30px rgba(8,26,48,.13),
    inset 0 0 0 5px rgba(255,255,255,.86);
}

@media(max-width:700px){
  .clinic-info-grid article:has(.patient-step-icon),
  .resource-grid article:has(.patient-step-icon){
    grid-template-columns:52px minmax(0,1fr);
    column-gap:18px;
  }

  .patient-step-icon{
    width:52px;
    height:52px;
  }

  .patient-step-icon img{
    width:33px;
    height:33px;
  }
}

/* Contact page icon polish */
.contact-detail-item{
  min-width:0;
}

.contact-detail-item dt{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.contact-detail-icon{
  flex:0 0 auto;
  width:44px;
  height:44px;
  grid-area:auto;
}

.contact-detail-icon img{
  width:28px;
  height:28px;
}

.contact-detail-item dd{
  min-width:0;
  padding-left:58px;
}

.access-card-grid article:has(.patient-step-icon){
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  grid-template-areas:
    "icon title"
    "icon body";
  column-gap:18px;
  align-items:start;
}

.access-card-grid article:has(.patient-step-icon) .patient-step-icon{
  grid-area:icon;
  width:54px;
  height:54px;
}

.access-card-grid article:has(.patient-step-icon) .patient-step-icon img{
  width:34px;
  height:34px;
}

.access-card-grid article:has(.patient-step-icon) h3{
  grid-area:title;
}

.access-card-grid article:has(.patient-step-icon) p{
  grid-area:body;
}

.contact-facade-figure{
  min-height:clamp(340px,30vw,440px) !important;
  background:
    linear-gradient(135deg, rgba(8,43,67,.08), rgba(201,154,74,.08)),
    var(--paper);
}

.contact-facade-figure img{
  min-height:clamp(340px,30vw,440px) !important;
  object-position:50% 50% !important;
}

@media(max-width:700px){
  .contact-detail-item dd{
    padding-left:0;
    margin-top:8px;
  }

  .access-card-grid article:has(.patient-step-icon){
    grid-template-columns:52px minmax(0,1fr);
    column-gap:16px;
  }

  .contact-facade-figure,
  .contact-facade-figure img{
    min-height:280px !important;
  }
}

/* Final showcase polish: process icons, mobile nav rhythm, and copy consistency */
.story-points article:has(.team-process-icon){
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:18px;
}

.story-points article:has(.team-process-icon) .eyebrow{
  margin:0 0 5px;
  color:var(--champagne);
}

.story-points article:has(.team-process-icon) h3{
  min-width:0;
  margin:0;
}

.team-process-icon{
  grid-area:auto;
  width:52px;
  height:52px;
  align-self:start;
}

.team-process-icon img{
  width:33px;
  height:33px;
}

.team-card .patient-step-icon{
  display:none;
}

@media(max-width:1180px){
  .site-header{
    gap:18px;
  }

  .main-nav{
    gap:18px 24px;
  }

  .main-nav > a,
  .nav-item > a{
    font-size:12px;
    letter-spacing:.01em;
  }
}

@media(max-width:700px){
  .site-header{
    margin:12px 14px 0;
    padding:10px 12px 12px;
    gap:10px;
  }

  .brand img{
    height:31px;
    width:auto;
  }

  .main-nav{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px 8px;
    align-items:center;
    padding-top:2px;
  }

  .main-nav > a,
  .nav-item > a{
    display:block;
    padding:6px 2px;
    font-size:10.5px;
    line-height:1.15;
    text-align:center;
    white-space:normal;
  }

  .header-actions{
    gap:8px;
  }

  .header-actions .btn{
    min-height:36px;
    padding:0 12px;
    font-size:10.5px;
  }

  .story-points article:has(.team-process-icon){
    grid-template-columns:48px minmax(0,1fr);
    gap:15px;
  }

  .team-process-icon{
    width:48px;
    height:48px;
  }

  .team-process-icon img{
    width:30px;
    height:30px;
  }
}
