/* Newport's coastal identity. Loaded after each page's functional layout. */
:root {
  --forest:#173f49; --forest-2:#245561; --forest-deep:#12313a;
  --eucalyptus:#526d73; --mist:#eaf1f2; --oyster:#fbfcfa;
  --white:#fff; --champagne:#d9c69f; --ink:#1d343c;
  --muted:#56676c; --line:#d5e1e3; --accent:#d9c69f;
  --accent-soft:#edf2f2; --review-yellow:#876832;
  --display:"Cormorant Garamond",Georgia,serif;
  --body:"Manrope",Arial,sans-serif; --price:"Manrope",Arial,sans-serif;
  --shell:82rem; --radius:8px;
  --coastal-surface:url("/assets/coastal-caustics.jpg");
  --tidal-gold:url("/assets/backgrounds/newport-tidal-gold-v1.jpg");
  --surface-shadow:0 22px 58px #173f491c;
  --media-shadow:0 26px 54px #173f493b;
}
body { background:var(--oyster); color:var(--ink); }
::selection { color:#fff; background:var(--forest-2); }
h1,h2,h3 { font-weight:500; letter-spacing:-.035em; text-wrap:balance; }
p { text-wrap:pretty; }
button, a, summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,video:focus-visible {
  outline:2px solid #173f49; outline-offset:3px; box-shadow:0 0 0 6px #fff;
}
.shell { width:min(calc(100% - 5rem),var(--shell)); }
.button,.service-link { min-height:3.5rem; padding:1rem 1.45rem; border-radius:3px; font-size:.875rem; font-weight:700; line-height:1.3; letter-spacing:.065em; text-align:center; }
.button:hover,.service-link:hover { transform:translateY(-2px); }
.button-primary { box-shadow:0 5px 14px #173f4910; }
.kicker,.eyebrow,.treatment-mark { font-family:var(--body); font-size:.75rem; font-weight:700; letter-spacing:.14em; }
.site-header { color:var(--forest); background:#fbfcfaf5; border-color:var(--line); }
.nav-row { min-height:6rem; gap:2rem; }
.wordmark { min-width:0; gap:.45rem; color:var(--forest); }
.wordmark-main { font-family:var(--display); font-size:1.5rem; font-weight:600; letter-spacing:.105em; }
.wordmark-sub { font-size:.75rem; font-weight:500; letter-spacing:.12em; color:var(--muted); }
.desktop-nav,.nav-links { font-size:.875rem; gap:1.5rem; letter-spacing:0; text-transform:none; }
.desktop-nav a { padding-block:.6rem; }
.announcement { background:var(--forest); font-size:.8125rem; letter-spacing:.035em; }
.announcement .shell { min-height:2.65rem; gap:.7rem; }
.announcement del { font-size:.75rem; color:#d5dddd; }
.announcement span { color:#e0e9e9; font-size:.75rem; letter-spacing:.025em; text-transform:none; }
.announcement strong { color:#f2dfbb; }
.site-footer { color:var(--muted); background:var(--oyster); border-top:1px solid var(--line); font-size:.8125rem; }
.footer-row { align-items:flex-start; gap:2rem; }
.footer-row nav { flex-wrap:wrap; gap:.6rem 1.2rem; }
.newport-home .hero { padding:0; min-height:0; color:var(--forest); background:var(--oyster); overflow:hidden; }
.newport-home .hero::before,.newport-home .hero::after { display:none; }
.newport-home .hero-grid { width:100%; max-width:100rem; min-height:43rem; margin-inline:auto; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; }
.newport-home .hero-copy { padding:4rem clamp(2.5rem,4.8vw,5.5rem) 4rem max(2.5rem,calc((100vw - 82rem)/2)); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.newport-home .hero .kicker { color:var(--eucalyptus); margin-bottom:1.4rem; }
.newport-home .hero h1 { max-width:11ch; margin:0 0 1.5rem; color:var(--forest); font-size:clamp(4rem,6vw,6.2rem); font-weight:500; line-height:.94; letter-spacing:-.045em; }
.newport-home .hero h1 em { color:var(--forest-2); font-weight:400; }
.newport-home .hero-lead { max-width:28rem; margin:0 0 1.6rem; font-size:1rem; line-height:1.8; color:var(--muted); }
.newport-home .hero-offer { display:grid; grid-template-columns:auto auto; align-items:center; gap:.2rem 1.3rem; margin:0 0 1.8rem; padding:0 0 0 1rem; width:auto; border:0; border-left:1px solid #bfa67a; border-radius:0; background:none; backdrop-filter:none; font-size:.8125rem; letter-spacing:0; text-transform:none; }
.newport-home .hero-offer>span { grid-column:1; color:var(--muted); }
.newport-home .hero-offer strong { grid-column:2; grid-row:1/3; color:var(--forest); font-family:var(--price); font-size:1.7rem; font-weight:650; letter-spacing:-.045em; white-space:nowrap; }
.newport-home .hero-offer del { color:var(--muted); font-size:.875rem; font-weight:400; letter-spacing:0; margin-left:.35rem; }
.newport-home .hero-actions { align-items:center; gap:1.5rem; width:100%; }
.newport-home .hero .button-primary { min-width:11rem; color:#fff; background:var(--forest); border-color:var(--forest); }
.newport-home .hero .button-primary:hover { background:var(--forest-2); }
.newport-home .hero .button-ghost { padding:1rem 0; color:var(--forest); border:0; border-bottom:1px solid var(--forest); border-radius:0; background:transparent; font-size:.8125rem; letter-spacing:0; text-transform:none; }
.newport-home .hero-note { margin:1.2rem 0 0; color:var(--muted); font-size:.75rem; }
.newport-home .hero-note::before { width:5px; height:5px; background:#6d8b87; box-shadow:none; }
.newport-home .hero-visual { order:0; min-height:100%; border:0; border-radius:0 0 0 5rem; box-shadow:none; background-color:var(--forest); }
.newport-home .hero-visual::after { background:linear-gradient(180deg,transparent 62%,#12313ada 100%); }
.newport-home .hero-video-toggle { top:1.5rem; right:1.5rem; min-height:2.75rem; padding:.7rem 1rem; font-size:.75rem; border-color:#ffffff60; background:#12313a9c; }
.newport-home .hero-badge { display:block; left:2.5rem; right:2.5rem; bottom:2rem; padding:0; border:0; border-radius:0; background:none; backdrop-filter:none; }
.newport-home .hero-badge strong { font-size:1.8rem; font-weight:500; }
.newport-home .hero-badge-details { margin-top:.6rem; gap:.25rem; }
.newport-home .hero-badge-address,.newport-home .hero-badge-phone { text-align:left; font-size:.75rem; font-weight:400; letter-spacing:.015em; text-transform:none; color:#fff; }
.newport-home .hero-badge-address { color:#e2ecec; }
.newport-home .mobile-book { gap:1.25rem; font-size:.875rem; }
.newport-home .mobile-book span { font-size:.75rem; font-weight:500; letter-spacing:0; text-transform:none; }
@media(min-width:1600px) { .newport-home .hero-copy { padding-left:6rem; } }
@media(max-width:1180px) {
  .desktop-nav { gap:1rem; }
  .newport-home .hero-copy { padding:3.5rem 2.5rem; }
  .newport-home .hero h1 { font-size:5rem; }
  .newport-home .hero-actions { gap:1rem; }
}
@media(max-width:1080px) {
  .desktop-nav { display:none; }
  .nav-row { grid-template-columns:minmax(0,1fr) auto; }
  .header-actions { display:none; }
  .mobile-menu { position:relative; display:block; }
  .mobile-menu summary { display:grid; place-items:center; min-width:4.5rem; min-height:2.75rem; padding:.65rem 1rem; border:1px solid var(--line); border-radius:3px; background:transparent; font-size:.875rem; font-weight:600; letter-spacing:0; list-style:none; cursor:pointer; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-panel { position:absolute; top:calc(100% + 1rem); right:0; width:min(22rem,calc(100vw - 3rem)); padding:1rem; background:var(--oyster); border:1px solid var(--line); border-radius:4px; box-shadow:0 20px 60px #173f4920; }
  .mobile-panel a { display:block; padding:.85rem; border-bottom:1px solid var(--line); font-size:1rem; }
  .mobile-panel .button { margin-top:1rem; }
}
@media(max-width:760px) {
  .shell { width:calc(100% - 2.5rem); }
  .nav-row { min-height:5rem; gap:1rem; }
  .wordmark-main { font-size:1.25rem; letter-spacing:.055em; }
  .wordmark-sub { font-size:.75rem; letter-spacing:.035em; }
  .announcement .shell { min-height:2.4rem; font-size:.75rem; gap:.5rem; }
  .announcement span { display:none; }
  .announcement del { font-size:.75rem; }
  .newport-home .hero-grid { min-height:0; grid-template-columns:1fr; }
  .newport-home .hero-copy { padding:2.65rem 1.25rem 2.5rem; }
  .newport-home .hero .kicker { margin-bottom:1.1rem; font-size:.75rem; letter-spacing:.09em; }
  .newport-home .hero h1 { font-size:clamp(3.5rem,14.5vw,5rem); max-width:12ch; margin-bottom:1.2rem; }
  .newport-home .hero-lead { font-size:1rem; line-height:1.7; max-width:35rem; margin-bottom:1.4rem; }
  .newport-home .hero-offer { margin-bottom:1.5rem; font-size:.75rem; gap:.15rem .8rem; }
  .newport-home .hero-offer strong { font-size:1.45rem; }
  .newport-home .hero-offer del { font-size:.8125rem; }
  .newport-home .hero-actions { display:flex; flex-wrap:wrap; gap:.7rem 1.25rem; }
  .newport-home .hero-actions .button { width:auto; }
  .newport-home .hero-actions .button-primary { flex:1; min-width:9rem; }
  .newport-home .hero-actions .button-ghost { font-size:.8125rem; }
  .newport-home .hero-note { font-size:.75rem; margin-top:1rem; }
  .newport-home .hero-visual { order:0; min-height:26rem; border-radius:0 0 0 3rem; }
  .newport-home .hero-badge { left:1.5rem; right:1.5rem; bottom:1.5rem; }
  .newport-home .hero-badge strong { font-size:1.7rem; }
  .newport-home .hero-badge-address,.newport-home .hero-badge-phone { font-size:.75rem; }
  .footer-row { flex-direction:column; }
  .footer-row nav { flex-direction:row; }
  .newport-home .mobile-book { position:fixed; right:0; bottom:0; left:0; z-index:60; display:flex; min-height:calc(4rem + env(safe-area-inset-bottom)); padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom)); color:#fff; background:var(--forest); border:0; box-shadow:0 -4px 24px #173f491a; }
  .newport-home { padding-bottom:calc(4rem + env(safe-area-inset-bottom)); }
}
/* Home: one calm rhythm from the first promise to the reservation. */
.newport-home .section { padding-block:clamp(4.5rem,7.5vw,7rem); }
.newport-home .section-head { gap:3rem; margin-bottom:2.5rem; }
.newport-home .section-head h2 { max-width:16ch; font-size:clamp(3rem,4.3vw,4.5rem); font-weight:500; line-height:1; }
.newport-home .section-head>p { max-width:27rem; font-size:1rem; line-height:1.8; }
.newport-home .proof-bridge { padding:2.5rem 0 3rem; background:#fff; }
.newport-home .proof-intro { margin-bottom:1.4rem; }
.newport-home .proof-intro p { font-size:.75rem; letter-spacing:.075em; }
.newport-home .proof-intro h2 { font-size:2.15rem; font-weight:500; margin-top:.35rem; }
.newport-home .proof-offer { display:none; }
.newport-home .proof-grid { grid-template-columns:1fr 1.2fr 1fr; background:none; border:0; box-shadow:none; }
.newport-home .proof-card { min-width:0; min-height:10rem; padding:0 1.8rem; gap:1.1rem; }
.newport-home .proof-card:first-child { padding-left:0; }
.newport-home .proof-card:last-child { padding-right:0; }
.newport-home .proof-result img { width:6.5rem; height:6.5rem; border:0; border-radius:4px; }
.newport-home .proof-copy { gap:.55rem; }
.newport-home .proof-copy strong { font-size:1.4rem; font-weight:600; }
.newport-home .proof-copy span,.newport-home .proof-copy p { font-size:.8125rem; line-height:1.6; }
.newport-home .proof-copy a { font-size:.8125rem; text-decoration:underline; text-underline-offset:4px; }
.newport-home .proof-review blockquote { font-size:1.45rem; font-weight:500; line-height:1.25; }
.newport-home .proof-review cite { font-size:.75rem; text-transform:none; letter-spacing:0; }
.newport-home .proof-award img { width:4.5rem; height:6rem; }
.newport-home .specials { background:var(--mist); }
.newport-home .treatments { background:var(--oyster); }
.newport-home .treatment-preview-note { margin:0 0 2rem; padding:.8rem 0; background:none; border:0; border-bottom:1px solid #c7d7d9; border-radius:0; font-size:.8125rem; line-height:1.7; }
.newport-home .treatment-preview-note::before { display:none; }
.newport-home .service-grid { gap:1.4rem; }
.newport-home .service-grid.specials-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.newport-home .specials-grid .service-card { grid-column:span 2; }
.newport-home .specials-grid .service-card:nth-child(4),.newport-home .specials-grid .service-card:nth-child(5) { grid-column:span 3; width:100%; justify-self:stretch; }
.newport-home .specials-grid .service-card:nth-child(n+4) { display:flex; }
.newport-home .specials-grid .service-card:nth-child(n+4) .service-photo { height:auto; aspect-ratio:3/2; }
.newport-home .specials-grid .service-card:nth-child(n+4) .service-photo img { object-fit:contain; background:#f2f4f1; }
.newport-home .specials-grid .service-card:nth-child(n+4) .outcome-caption { flex-direction:row; align-items:flex-end; }
.newport-home .specials-grid .service-card:nth-child(n+4) .outcome-caption span:last-child { text-align:right; }
.newport-home .service-grid.regular-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.newport-home .regular-grid .service-card:last-child { width:100%; grid-column:auto; }
.newport-home .service-card { min-width:0; border:1px solid #d0dedf; border-radius:14px; box-shadow:none; transition:transform 240ms ease,box-shadow 240ms ease; }
.newport-home .service-card:hover { transform:translateY(-4px); box-shadow:0 18px 36px #173f4912; }
.newport-home .service-copy { min-width:0; padding:1.55rem; }
.newport-home .service-photo { aspect-ratio:3/2; }
.newport-home .outcome-label { font-size:.75rem; padding:.35rem .55rem; letter-spacing:.035em; border-radius:2px; }
.newport-home .outcome-caption { padding:2.8rem 1rem .85rem; font-size:.75rem; font-weight:500; letter-spacing:.015em; text-transform:none; background:linear-gradient(transparent,#12313ae8); }
.newport-home .outcome-caption span:last-child { color:#fff; font-size:.75rem; max-width:8rem; }
.newport-home .service-card h3 { font-size:2.15rem; font-weight:500; line-height:1.08; margin-bottom:1rem; }
.newport-home .service-card h3 a:hover { color:var(--forest-2); text-decoration:underline; text-underline-offset:.2em; }
.newport-home .offer-price { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.55rem .8rem; margin-bottom:1rem; padding:.85rem 0 1rem; border-bottom:1px solid var(--line); }
.newport-home .offer-label { width:auto; border:0; border-radius:0; background:none; padding:0; color:var(--muted); font-size:.75rem; letter-spacing:.045em; }
.newport-home .offer-price-line { flex-direction:row-reverse; gap:.6rem; }
.newport-home .offer-price .service-price,.newport-home .service-price { font-size:1.4rem; font-weight:650; letter-spacing:-.025em; }
.newport-home .regular-price { color:var(--muted); font-size:.875rem; }
.newport-home .offer-note { font-size:.75rem; font-weight:400; letter-spacing:0; }
.newport-home .service-facts { margin-bottom:1.25rem; border-top:0; }
.newport-home .service-facts li { grid-template-columns:4.6rem minmax(0,1fr); gap:.55rem; padding:.8rem 0; font-size:.875rem; line-height:1.6; }
.newport-home .service-facts strong { font-size:.75rem; font-weight:650; letter-spacing:0; text-transform:none; }
.newport-home .service-card p { font-size:1rem; line-height:1.75; }
.newport-home .service-card .service-availability { margin-top:auto; min-height:3rem; padding:.75rem 0; border:0; border-radius:0; background:transparent; font-size:.8125rem; font-weight:500; line-height:1.45; }
.newport-home .service-link { min-width:0; width:100%; margin-top:0; font-size:.8125rem; letter-spacing:.045em; }
.newport-home .deposit { font-size:.875rem; margin-top:1.8rem; }
.newport-home .decision-strip { background:var(--forest); padding-block:6rem; }
.newport-home .decision-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:5rem; align-items:center; }
.newport-home .decision-copy { position:static; min-width:0; }
.newport-home .decision-copy h2 { max-width:12ch; font-size:clamp(3.3rem,4.8vw,4.7rem); font-weight:500; line-height:1; }
.newport-home .decision-copy>p { font-size:1rem; line-height:1.8; color:#dfebed; }
.newport-home .decision-copy .kicker { color:var(--champagne); font-size:.75rem; }
.newport-home .guide-trace { flex-wrap:wrap; gap:.65rem; font-size:.75rem; letter-spacing:.04em; }
.newport-home .guide-trace i { width:1.4rem; }
.newport-home .decision-copy .decision-note { margin-top:1.6rem; font-size:.875rem; }
.newport-home .treatment-guide { min-height:31rem; padding:2rem; border:0; border-radius:8px; box-shadow:none; }
.newport-home .guide-progress { margin-bottom:1.7rem; font-size:.75rem; letter-spacing:.045em; }
.newport-home .guide-step legend { max-width:18ch; font-size:2.7rem; font-weight:500; }
.newport-home .guide-help { font-size:.875rem; margin-bottom:1.4rem; }
.newport-home .guide-options { gap:.7rem; }
.newport-home .guide-choice { position:relative; grid-template-columns:minmax(0,1fr); gap:.45rem; padding:1rem; min-height:6.8rem; border-radius:4px; }
.newport-home .guide-choice b { display:none; }
.newport-home .guide-choice strong { font-family:var(--body); font-size:.9375rem; font-weight:650; }
.newport-home .guide-choice span { font-size:.8125rem; line-height:1.5; }
.newport-home .guide-choice:hover,.newport-home .guide-choice:focus-visible { background:var(--mist); }
.newport-home .guide-result h3 { font-size:3rem; font-weight:500; }
.newport-home .guide-result-copy { font-size:1rem; }
.newport-home .guide-result-facts span { font-size:.75rem; letter-spacing:.025em; }
.newport-home .guide-result-facts strong { font-size:1rem; }
.newport-home .guide-restart { font-size:.8125rem; }
.newport-home .guide-disclaimer { font-size:.8125rem; line-height:1.7; }
.newport-home .evidence { background:#fff; }
.newport-home .evidence-main-head { grid-template-columns:1.2fr .8fr; margin-bottom:3.5rem; }
.newport-home .evidence-main-head h2 { font-size:clamp(3rem,4.6vw,4.75rem); font-weight:500; line-height:1; }
.newport-home .evidence-main-head>p { font-size:1rem; line-height:1.8; }
.newport-home .evidence-subhead h3 { max-width:21ch; font-size:2.7rem; font-weight:500; }
.newport-home .evidence-subhead p { max-width:25rem; font-size:.875rem; line-height:1.7; }
.newport-home .rail-instruction { font-size:.75rem; letter-spacing:.025em; }
.newport-home .evidence .results-gallery { grid-auto-columns:42%; }
.newport-home .results-integrity { margin-bottom:1.5rem; }
.newport-home .results-integrity span { font-size:.75rem; letter-spacing:.03em; min-height:3.5rem; }
.newport-home .result-card { padding:.5rem; border:1px solid var(--line); border-radius:5px; background:var(--oyster); box-shadow:none; }
.newport-home .result-frame { border:0; background:var(--mist); }
.newport-home .result-frame::before { display:none; }
.newport-home .result-media { inset:.5rem; border:0; }
.newport-home .result-card strong { font-size:1.5rem; font-weight:500; }
.newport-home .result-card figcaption { padding:1rem .5rem .5rem; flex-wrap:wrap; gap:.3rem 1rem; }
.newport-home .result-card figcaption span { font-size:.75rem; letter-spacing:0; text-transform:none; }
.newport-home .results-note { font-size:.875rem; }
.newport-home .recognition-band { margin-block:3rem; padding:2rem; gap:2rem; border-radius:6px; box-shadow:none; }
.newport-home .recognition-band img { width:6.5rem; height:8rem; }
.newport-home .recognition-copy h3 { font-size:2.3rem; font-weight:500; }
.newport-home .recognition-copy p { font-size:.875rem; line-height:1.7; color:#e0e9eb; }
.newport-home .recognition-copy .kicker { font-size:.75rem; color:var(--champagne); }
.newport-home .recognition-band .button { white-space:normal; max-width:13rem; font-size:.8125rem; }
.newport-home .review-card { min-height:22rem; padding:2rem; border:1px solid var(--line); border-radius:10px; background:var(--mist); }
.newport-home .review-text { font-size:2.1rem; line-height:1.2; font-weight:500; letter-spacing:-.02em; }
.newport-home .review-rating { margin-bottom:1.75rem; }
.newport-home .review-source { font-size:.75rem; letter-spacing:.035em; }
.newport-home .review-card cite { padding-top:1.25rem; border-top:1px solid #c8d8da; font-size:.8125rem; font-weight:650; letter-spacing:0; text-transform:none; }
.newport-home .review-card cite span { font-size:.75rem; font-weight:400; }
.newport-home .review-all a { font-size:.875rem; letter-spacing:.015em; text-transform:none; }
.newport-home .video-card { border:1px solid var(--line); border-radius:10px; background:var(--oyster); }
.newport-home .video-stage,.newport-home .video-stage video { background:var(--forest-deep); }
.newport-home .video-card figcaption { padding:1.3rem; }
.newport-home .video-card strong { font-size:1.7rem; font-weight:500; }
.newport-home .video-card span { font-size:.75rem; letter-spacing:0; text-transform:none; }
.newport-home .faq { background:var(--mist); }
.newport-home .faq-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:5rem; }
.newport-home .faq-layout h2 { max-width:13ch; font-size:clamp(3rem,4.5vw,4.5rem); font-weight:500; line-height:1; }
.newport-home .faq-layout>div>p { font-size:1rem; }
.newport-home .faq-list summary { padding-block:1.5rem; font-family:var(--body); font-size:1rem; font-weight:600; line-height:1.65; }
.newport-home .faq-list summary::after { font-size:1.5rem; }
.newport-home .faq-list details p { font-size:1rem; line-height:1.8; }
.newport-home .final-cta { background:var(--forest); }
.newport-home .final-cta::before { display:none; }
.newport-home .final-cta h2 { max-width:14ch; font-size:clamp(3.5rem,5vw,5rem); font-weight:500; line-height:1; }
.newport-home .final-cta p { color:#e0e9eb; font-size:1rem; line-height:1.8; }
.newport-home .final-cta .kicker { color:var(--champagne); font-size:.75rem; }
.newport-home .visit-panel { padding:2rem; background:#ffffff05; border-radius:5px; backdrop-filter:none; }
.newport-home .visit-label { font-size:.75rem; letter-spacing:.04em; }
.newport-home .visit-fact { grid-template-columns:5rem minmax(0,1fr); gap:1rem; }
.newport-home .visit-hours div { grid-template-columns:1fr; gap:.1rem; }
/* Detail, booking and policy pages retain their existing interactions. */
.newport-detail .hero::after { display:none; }
.newport-detail .hero h1 { font-weight:500; font-size:clamp(3.4rem,5.5vw,5.5rem); line-height:1; }
.newport-detail .hero-grid { gap:4rem; min-height:41rem; }
.newport-detail .hero-media { border-radius:4px 4px 4px 3rem; box-shadow:none; }
.newport-detail .hero-media figcaption { font-size:.875rem; border-radius:3px; }
.newport-detail .hero-lead { font-size:1.05rem; line-height:1.8; }
.newport-detail .hero-offer-summary span { font-size:.75rem; }
.newport-detail .hero-offer-summary del { font-size:.875rem; }
.newport-detail .hero-offer-summary strong { font-size:1.65rem; }
.newport-detail .trace span,.newport-detail .price span { font-size:.8125rem; }
.newport-detail .trace p,.newport-detail .offer-facts span,.newport-detail .booking-facts span,.newport-detail .care-note,.newport-detail .promise-copy,.newport-detail .intro-copy { font-size:1rem; line-height:1.8; }
.newport-detail .result-figure { border-radius:5px; }
.newport-detail .result-figure figcaption { font-size:.875rem; }
.newport-detail .offer-panel,.newport-detail .booking-panel { border-radius:5px; }
.newport-detail .faq-layout summary { font-family:var(--body); font-size:1rem; }
.newport-detail .nav-links .button { min-height:3rem; font-size:.8125rem; padding-inline:1rem; }
.newport-booking main { padding-block:3.5rem 5rem; }
.newport-booking .booking-intro h1 { font-size:clamp(3rem,4.3vw,3.8rem); max-width:22ch; font-weight:500; }
.newport-booking .booking-layout { grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr); border-radius:14px; box-shadow:0 20px 60px #173f4909; }
.newport-booking .service-panel { padding:1.5rem; }
.newport-booking .service-photo { border-radius:3rem .5rem 2rem .5rem; }
.newport-booking .service-summary h2 { font-size:2.3rem; font-weight:500; }
.newport-booking .step-head h2 { font-weight:500; }
.newport-booking .step-head p,.newport-booking .summary-points li { font-size:1rem; }
.newport-booking .field label,.newport-booking .summary-label { font-size:.875rem; letter-spacing:.025em; }
.newport-booking .field input,.newport-booking .field select { min-height:3.6rem; font-size:1rem; border-color:#aebfc3; border-radius:3px; }
.newport-booking .form-note { font-size:.875rem; line-height:1.8; background:var(--mist); border-color:var(--forest-2); }
.newport-booking .progress-copy strong { font-family:var(--body); font-size:.9375rem; }
.newport-booking .progress-copy span,.newport-booking .header-status,.newport-booking .secure-line,.newport-booking .page-note,.newport-booking .availability-status,.newport-booking .prototype-notice,.newport-booking .price-row span,.newport-booking .offer-badge { font-size:.8125rem; letter-spacing:0; }
.newport-booking .actions { flex-wrap:wrap; }
.newport-booking .price-row { flex-wrap:wrap; }
.newport-booking .price-row strong { font-size:1.6rem; }
.newport-booking .price-row del { font-size:.875rem; }
.newport-booking .flow-message p { font-size:1rem; }
.newport-booking .flow-message strong { font-size:1.7rem; }
@media(max-width:1180px) {
  .newport-home .specials-grid .service-card:nth-child(n+4) { display:flex; }
  .newport-home .specials-grid .service-card:nth-child(n+4) .service-photo { height:auto; aspect-ratio:3/2; }
  .newport-home .specials-grid .service-card:nth-child(n+4) .service-photo img { object-fit:cover; }
  .newport-home .proof-card { padding-inline:1rem; }
  .newport-home .proof-result { flex-direction:column; align-items:flex-start; }
  .newport-home .decision-layout,.newport-home .faq-layout { gap:3rem; }
  .newport-home .service-copy { padding:1.3rem; }
  .newport-home .service-facts li { grid-template-columns:1fr; gap:.25rem; }
  .newport-home .recognition-band { grid-template-columns:auto minmax(0,1fr); }
  .newport-home .recognition-band .button { grid-column:2; max-width:17rem; }
}
@media(max-width:980px) {
  .newport-home .service-grid.specials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .newport-home .specials-grid .service-card,.newport-home .specials-grid .service-card:nth-child(4) { grid-column:auto; }
  .newport-home .specials-grid .service-card:nth-child(5) { grid-column:1/-1; width:100%; display:flex; }
  .newport-home .specials-grid .service-card:nth-child(5) .service-photo { height:auto; }
  .newport-home .proof-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .newport-home .proof-card { padding:0; }
  .newport-home .proof-card+.proof-card { border:0; }
  .newport-home .proof-award { grid-column:1/-1; padding-top:1.5rem; border-top:1px solid var(--line); }
  .newport-home .proof-result { flex-direction:row; }
  .newport-home .decision-layout,.newport-home .faq-layout { grid-template-columns:1fr; }
  .newport-home .decision-copy h2 { max-width:18ch; }
  .newport-home .decision-copy>p { max-width:40rem; }
  .newport-home .evidence-main-head { grid-template-columns:1fr; gap:1.5rem; }
  .newport-home .evidence-main-head>p { max-width:40rem; }
  .newport-home .service-grid.regular-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .newport-home .regular-grid .service-card:last-child { grid-column:1/-1; max-width:calc(50% - .7rem); justify-self:center; }
  .newport-detail .hero-grid { gap:2rem; }
  .newport-home .review-card { padding:1.4rem; }
}
@media(max-width:820px) {
  .newport-booking .booking-layout { grid-template-columns:1fr; }
  .newport-detail .hero-grid { min-height:0; grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
  .newport-home .section-head { flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .newport-home .section-head h2 { font-size:3.2rem; }
  .newport-home .proof-bridge { padding-block:2.5rem; }
  .newport-home .proof-intro { gap:.5rem; }
  .newport-home .proof-intro h2 { font-size:2.2rem; }
  .newport-home .proof-grid { grid-template-columns:1fr; gap:1.3rem; }
  .newport-home .proof-card { padding:0 0 1.3rem; border-bottom:1px solid var(--line); min-height:0; }
  .newport-home .proof-award { padding:0; border:0; }
  .newport-home .proof-review blockquote { font-size:1.6rem; }
  .newport-home .service-grid.specials-grid,.newport-home .service-grid.regular-grid { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .newport-home .specials-grid .service-card:nth-child(5),.newport-home .regular-grid .service-card:last-child { grid-column:auto; display:flex; max-width:100%; }
  .newport-home .specials-grid .service-card:nth-child(5) .service-photo { height:auto; }
  .newport-home .service-facts li { grid-template-columns:4.6rem minmax(0,1fr); }
  .newport-home .service-card h3 { font-size:2.1rem; }
  .newport-home .service-copy { padding:1.4rem; }
  .newport-home .specials-grid .service-card:nth-child(n+4) .outcome-caption { flex-direction:row; align-items:flex-end; }
  .newport-home .decision-strip { padding-block:4rem; }
  .newport-home .decision-copy h2 { font-size:3.2rem; max-width:14ch; }
  .newport-home .decision-layout { gap:2rem; }
  .newport-home .treatment-guide { padding:1.25rem; min-height:0; }
  .newport-home .guide-step legend { font-size:2.4rem; }
  .newport-home .guide-options { grid-template-columns:1fr; }
  .newport-home .guide-choice { min-height:5.5rem; }
  .newport-home .guide-result h3 { font-size:2.5rem; }
  .newport-home .guide-result-actions { flex-direction:column; align-items:stretch; }
  .newport-home .guide-result-facts { grid-template-columns:1fr; }
  .newport-home .guide-result-facts p+p { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .newport-home .evidence-main-head h2 { font-size:3.2rem; }
  .newport-home .evidence-subhead { flex-direction:column; align-items:flex-start; gap:.7rem; }
  .newport-home .evidence-subhead h3 { font-size:2.4rem; }
  .newport-home .evidence-rail { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:88%; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:1rem; }
  .newport-home .evidence .results-gallery { grid-auto-columns:92%; }
  .newport-home .results-integrity { display:flex; flex-wrap:wrap; gap:.5rem; border:0; overflow:visible; }
  .newport-home .results-integrity span { min-height:0; padding:.4rem .6rem; border:1px solid var(--line); border-radius:3px; font-size:.75rem; letter-spacing:0; text-transform:none; }
  .newport-home .recognition-band { gap:1rem; padding:1.2rem; }
  .newport-home .recognition-band img { width:4.5rem; height:6rem; }
  .newport-home .recognition-copy h3 { font-size:1.8rem; }
  .newport-home .recognition-band .button { grid-column:1/-1; max-width:100%; width:100%; }
  .newport-home .review-card { min-height:20rem; padding:1.8rem; }
  .newport-home .faq-layout { gap:2.5rem; }
  .newport-home .faq-layout h2 { font-size:3.2rem; }
  .newport-home .final-cta h2 { font-size:3.5rem; }
  .newport-home .visit-layout { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
  .newport-home .visit-panel { padding:1.4rem; }
  .newport-home .visit-fact { grid-template-columns:1fr; gap:.5rem; }
  .newport-detail .hero h1 { font-size:3.6rem; }
  .newport-detail .hero-copy { padding-block:1.5rem; }
  .newport-booking main { padding-block:2rem 3rem; }
  .newport-booking .booking-intro h1 { font-size:3.2rem; }
  .newport-booking .booking-intro { align-items:flex-start; }
  .newport-booking .form-panel { padding:1.5rem 1.25rem; }
  .newport-booking .service-summary h2 { font-size:1.8rem; }
  .newport-booking .wordmark-main { font-size:1.35rem; }
  .newport-booking .header-status::after { font-size:.75rem; }
  .newport-booking .page-note { text-align:left; }
}
@media(max-width:580px) { .newport-booking .header-status { font-size:0; } }
@media(max-width:360px) {
  .wordmark-main { font-size:1.05rem; }
  .wordmark-sub { font-size:.75rem; letter-spacing:0; }
  .newport-home .hero-offer { padding-left:.65rem; gap:.2rem .6rem; }
  .newport-home .hero-offer strong { font-size:1.3rem; }
  .newport-home .service-facts li { grid-template-columns:1fr; }
  .newport-home .mobile-book { gap:.65rem; }
  .newport-home .hero-actions .button-ghost { flex:1; }
}
/* Gallery navigation and the client voices share the coastal material palette. */
.newport-home .evidence-subhead { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,26rem) auto; }
.newport-home .rail-controls { display:flex; align-items:center; gap:.5rem; padding-bottom:.15rem; }
.newport-home .rail-controls[hidden] { display:none; }
.newport-home .rail-arrow { display:grid; place-items:center; flex:0 0 auto; width:3rem; height:3rem; padding:0; border:1px solid #8da6aa; border-radius:50%; color:var(--forest); background:#fff; font:400 1.5rem/1 var(--body); cursor:pointer; transition:background 180ms ease,color 180ms ease; }
.newport-home .rail-arrow:hover:not(:disabled) { color:#fff; background:var(--forest); }
.newport-home .rail-arrow:disabled { opacity:.35; cursor:default; }
.newport-home .evidence-rail { scrollbar-color:#8da6aa #eaf1f2; scrollbar-width:thin; scroll-padding-inline:0; }
.newport-home .evidence-rail:focus-visible { outline:2px solid var(--forest); outline-offset:5px; }
.newport-home #reviews .rail-instruction,.newport-home #stories .rail-instruction { display:none; }
.newport-home .review-card:first-child { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(125deg,#12333e,#285961); border-color:transparent; box-shadow:0 16px 32px #173f4920; }
.newport-home .review-card:first-child::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--coastal-surface) right center/cover; opacity:.14; mix-blend-mode:soft-light; pointer-events:none; }
.newport-home .review-card:first-child .review-text,.newport-home .review-card:first-child cite { color:#fff; }
.newport-home .review-card:first-child cite { border-color:#ffffff38; }
.newport-home .review-card:first-child .review-source,.newport-home .review-card:first-child cite span { color:#d9e5e7; }
.newport-home .review-card:first-child .review-stars { color:#e0c694; }
.newport-home .service-card:focus-within { box-shadow:0 20px 42px #173f4920; }
.newport-home .service-card .service-link { display:flex; justify-content:space-between; align-items:center; gap:.8rem; padding-inline:1.1rem; }
.newport-home .service-card .service-link::after { content:"→"; font-size:1.2rem; font-weight:400; line-height:1; }
.newport-booking .field { align-content:start; }
.newport-booking .booking-intro { gap:2rem; }
.newport-booking .progress-copy { max-width:23rem; }
@media(min-width:981px) and (max-width:1300px) {
  .newport-home .specials-grid .service-card:nth-child(-n+3) h3 { min-height:2.16em; }
}
@media(max-width:980px) {
  .newport-home .evidence-subhead { grid-template-columns:minmax(0,1fr) auto; }
  .newport-home .evidence-subhead>p { grid-column:1; }
  .newport-home .rail-controls { grid-column:2; grid-row:1/3; align-self:end; }
}
@media(max-width:760px) {
  .newport-home .review-card { min-height:22rem; }
  .newport-home .review-text { font-size:2rem; }
  .newport-home #reviews .rail-instruction,.newport-home #stories .rail-instruction { display:block; }
  .newport-home .evidence-subhead { grid-template-columns:minmax(0,1fr); }
  .newport-home .rail-controls { grid-column:1; grid-row:auto; justify-self:end; }
  .newport-booking .progress-copy { max-width:100%; }
}

/* Keep the imagined treatment-series count and AI status together. */
.outcome-label.outcome-after { display:grid; gap:.15rem; max-width:calc(50% - 1.5rem); text-align:right; }
.outcome-label .outcome-course { display:block; font-size:.75rem; font-weight:600; letter-spacing:0; text-transform:none; white-space:nowrap; }
.outcome-label .outcome-concept { display:block; color:#435860; font-size:.75rem; font-weight:500; letter-spacing:0; text-transform:none; }
.newport-detail .treatment-comparison { position:relative; }
.newport-detail .treatment-comparison .outcome-label { position:absolute; top:.75rem; z-index:2; padding:.35rem .55rem; color:var(--forest); background:#fffffff5; border:1px solid #ffffffbf; border-radius:2px; font:700 .75rem/1.35 var(--body); letter-spacing:.035em; text-transform:uppercase; }
.newport-detail .treatment-comparison .outcome-before { left:.75rem; }
.newport-detail .treatment-comparison .outcome-after { right:.75rem; }

/* Responsive pages keep the same coastal identity and an easier path to booking. */
html { scroll-padding-top:calc(var(--header-height, 5rem) + 1rem); }
.newport-home :is(#first-visit-offers,#treatments,#results,#reviews,#stories,#visit,.service-card[id]) { scroll-margin-top:0; }
.mobile-menu { display:none; }
.mobile-menu summary svg,.booking-back svg { width:1.125rem; height:1.125rem; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.booking-back { display:inline-flex; align-items:center; gap:.5rem; min-height:2.75rem; color:var(--forest); font-size:.875rem; font-weight:600; }
.newport-detail .hero-media img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.newport-legal .legal-copy { overflow-wrap:anywhere; }
.newport-home .mobile-book[data-visible="false"] { visibility:hidden; transform:translateY(110%); }
@media(max-width:1080px) {
  .newport-detail .nav-row,.newport-legal .nav-row { display:flex; }
  .newport-detail .nav-links,.newport-legal .nav-links { display:none; }
  .mobile-menu { position:relative; display:block; flex:0 0 auto; border:0; }
  .mobile-menu summary { display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.75rem; height:auto; padding:.65rem .75rem; }
  .mobile-menu[open] summary svg path { d:path("M6 6L18 18M18 6L6 18"); }
  .mobile-panel { z-index:80; width:min(22rem,calc(100vw - 2rem)); max-height:calc(100dvh - var(--header-height,5rem) - 7rem); overflow-y:auto; overscroll-behavior:contain; padding:.75rem; border-radius:12px; }
  .mobile-panel a { min-height:3rem; padding:.75rem; font-size:1rem; line-height:1.5; text-decoration:none; }
  .mobile-panel .button { display:flex; align-items:center; justify-content:center; margin-top:.75rem; min-height:3.25rem; }
}
@media(min-width:761px) and (max-width:1080px) {
  .shell { width:calc(100% - 3rem); }
  .newport-home .hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:0; }
  .newport-home .hero-copy { padding:2.5rem 1.5rem 4rem; }
  .newport-home .hero h1 { font-size:clamp(3.1rem,6.5vw,4.25rem); }
  .newport-home .hero-visual { min-height:29rem; margin:1.5rem 1.5rem 4rem 0; border-radius:5rem .75rem 4rem .75rem; }
  .newport-home .hero-badge { left:1.25rem; right:1.25rem; }
  .newport-home .hero-badge strong { font-size:1.5rem; }
  .newport-home .hero .button-primary { min-width:0; }
  .newport-home .hero-actions { gap:.75rem; }
  .newport-home .service-card h3 { font-size:1.9rem; }
  .newport-home .specials-grid .service-card:nth-child(5) { display:grid; grid-template-columns:1fr 1fr; }
  .newport-home .specials-grid .service-card:nth-child(5) .service-photo { align-self:start; }
  .newport-home .regular-grid .service-card:last-child { max-width:none; display:grid; grid-template-columns:1fr 1fr; }
  .newport-home .regular-grid .service-card:last-child .service-photo { align-self:start; }
}
@media(max-width:760px) {
  :root { --mobile-gutter:1rem; }
  .shell { width:calc(100% - 2 * var(--mobile-gutter) - env(safe-area-inset-left) - env(safe-area-inset-right)); }
  .site-header { position:sticky; top:0; z-index:70; padding-top:env(safe-area-inset-top); }
  .nav-row,.newport-booking .header-row { min-height:4.5rem; gap:.75rem; }
  .wordmark { gap:.3rem; }
  .wordmark-main { font-size:clamp(1.05rem,4.9vw,1.25rem); letter-spacing:.035em; white-space:nowrap; }
  .wordmark-sub { font-size:.75rem; letter-spacing:0; line-height:1.35; }
  .mobile-menu summary { min-width:4.5rem; font-size:.8125rem; }
  .mobile-panel { top:calc(100% + .75rem); }
  .announcement { font-size:.75rem; line-height:1.5; letter-spacing:0; }
  .announcement .shell { min-height:2.25rem; }
  .site-footer { padding-bottom:calc(1.5rem + env(safe-area-inset-bottom)); }
  .footer-row { gap:1rem; }
  .footer-row nav { gap:.25rem 1rem; }
  .footer-row nav a { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.875rem; }
  .button,.service-link { min-height:3.25rem; padding:.875rem 1rem; letter-spacing:.025em; }
  .newport-home .section,.newport-detail .section { padding-block:3rem; }
  .newport-home .hero-copy { padding:1.75rem calc(var(--mobile-gutter) + env(safe-area-inset-left)) 1.5rem; }
  .newport-home .hero .kicker { margin-bottom:.875rem; font-size:.75rem; letter-spacing:.035em; }
  .newport-home .hero h1 { font-size:clamp(2.8rem,12vw,3.5rem); line-height:.99; margin-bottom:1rem; }
  .newport-home .hero-lead { line-height:1.65; margin-bottom:1.125rem; }
  .newport-home .hero-offer { gap:.125rem .75rem; margin-bottom:1.125rem; }
  .newport-home .hero-actions { gap:.5rem .75rem; flex-wrap:nowrap; }
  .newport-home .hero-actions .button { min-width:0; }
  .newport-home .hero-actions .button-ghost { font-size:.8125rem; flex:0 1 auto; }
  .newport-home .hero-note { margin-top:.75rem; }
  .newport-home .hero-visual { min-height:0; height:clamp(19rem,94vw,25rem); margin:0 var(--mobile-gutter) 3rem; border-radius:4rem .75rem 3rem .75rem; }
  .newport-home .hero-badge { left:1.125rem; right:1.5rem; bottom:1.125rem; }
  .newport-home .hero-badge strong { font-size:1.5rem; }
  .newport-home .hero-video-toggle { min-height:2.75rem; top:1rem; right:1rem; }
  .newport-home .proof-bridge { margin-top:-1.5rem; padding-bottom:1.5rem; }
  .newport-home .proof-bridge>.shell { padding:1.25rem 1rem; }
  .newport-home .proof-intro h2 { font-size:1.875rem; }
  .newport-home .proof-grid { gap:1rem; }
  .newport-home .proof-card { padding-bottom:1rem; }
  .newport-home .proof-review blockquote { font-size:1.5rem; }
  .newport-home .proof-copy a { display:inline-flex; align-items:center; min-height:2.75rem; }
  .newport-home .section-head { gap:1rem; margin-bottom:1.5rem; }
  .newport-home .section-head h2,.newport-home .decision-copy h2,.newport-home .evidence-main-head h2,.newport-home .faq-layout h2 { font-size:clamp(2.4rem,10.3vw,3rem); line-height:1.04; }
  .newport-home .section-head>p,.newport-home .evidence-main-head>p { line-height:1.65; }
  .newport-home .treatment-preview-note { margin-bottom:1.25rem; font-size:.875rem; line-height:1.6; }
  .newport-home .service-grid.specials-grid,.newport-home .service-grid.regular-grid { gap:1.25rem; }
  .newport-home .service-copy { padding:1.125rem; }
  .newport-home .service-card h3 { margin:0 0 .625rem; font-size:1.875rem; line-height:1.1; }
  .newport-home .offer-price { padding:.375rem 0 .625rem; margin-bottom:.5rem; gap:.5rem; }
  .newport-home .offer-label { font-size:.75rem; letter-spacing:0; }
  .newport-home .service-facts { margin-bottom:.625rem; }
  .newport-home .service-facts li { grid-template-columns:4.4rem minmax(0,1fr); padding:.625rem 0; gap:.5rem; font-size:.9375rem; line-height:1.55; }
  .newport-home .service-facts strong { font-size:.8125rem; }
  .newport-home .service-card .service-availability { min-height:2.5rem; padding:.625rem 0; margin-bottom:.625rem; }
  .newport-home .service-card .service-link { min-height:3.25rem; font-size:.875rem; }
  .newport-home .outcome-label { top:.5rem; padding:.3rem .45rem; letter-spacing:0; }
  .newport-home .outcome-before { left:.5rem; }
  .newport-home .outcome-after { right:.5rem; }
  .newport-home .outcome-caption { padding:2rem .75rem .625rem; }
  .newport-home .decision-strip { padding-block:3rem; }
  .newport-home .decision-copy .decision-note { margin-top:1rem; }
  .newport-home .decision-layout { gap:1.5rem; }
  .newport-home .treatment-guide { padding:1.125rem; }
  .newport-home .guide-progress { margin-bottom:1.25rem; }
  .newport-home .guide-step legend { font-size:2rem; line-height:1.1; }
  .newport-home .guide-help { margin-bottom:1rem; }
  .newport-home .guide-choice { min-height:4.5rem; padding:.75rem; gap:.25rem; }
  .newport-home .guide-choice strong { font-size:1rem; }
  .newport-home .guide-choice span { font-size:.875rem; }
  .newport-home .guide-back,.newport-home .guide-restart { min-height:2.75rem; }
  .newport-home .evidence-main-head { margin-bottom:2rem; }
  .newport-home .evidence-subhead h3 { font-size:2rem; }
  .newport-home .evidence-subhead { grid-template-columns:minmax(0,1fr) auto; column-gap:.75rem; }
  .newport-home .evidence-subhead>div:first-child { grid-column:1/-1; }
  .newport-home .evidence-subhead>p { grid-column:1; }
  .newport-home .rail-controls { grid-column:2; grid-row:2; align-self:end; }
  .newport-home .rail-arrow { width:2.75rem; height:2.75rem; }
  .newport-home .review-card { padding:1.25rem; min-height:20rem; }
  .newport-home .review-text { font-size:1.75rem; }
  .newport-home .result-card strong { font-size:1.4rem; }
  .newport-home .video-card figcaption { padding:1rem; }
  .newport-home .faq-layout { gap:1.5rem; }
  .newport-home .faq-list summary { padding-block:1.125rem; line-height:1.5; }
  .newport-home .final-cta { padding-block:3rem; }
  .newport-home .final-cta h2 { font-size:clamp(2.5rem,10.5vw,3.25rem); }
  .newport-home .visit-layout { gap:1.5rem; }
  .newport-home .visit-panel { padding:1.125rem; }
  .newport-home .mobile-book { min-height:calc(3.75rem + env(safe-area-inset-bottom)); padding:.875rem max(1rem,env(safe-area-inset-right)) calc(.875rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left)); gap:.875rem; }
  .newport-home { padding-bottom:calc(3.75rem + env(safe-area-inset-bottom)); }
  .newport-detail .hero { padding-block:0; }
  .newport-detail .hero-grid { padding-block:1.75rem 2rem; gap:1.5rem; }
  .newport-detail .hero-copy { padding:0; }
  .newport-detail .hero h1 { max-width:18ch; margin-bottom:1rem; font-size:clamp(2.35rem,10vw,3rem); line-height:1.06; }
  .newport-detail .hero-lead { font-size:1rem; line-height:1.65; margin-bottom:1.125rem; }
  .newport-detail .hero .treatment-mark,.newport-detail .hero .kicker { margin-bottom:1rem; font-size:.75rem; letter-spacing:.04em; }
  .newport-detail .hero-offer-summary { width:100%; padding:.625rem .75rem; }
  .newport-detail .hero-actions { gap:.625rem; }
  .newport-detail .hero-actions .button { width:100%; }
  .newport-detail .hero-media { order:0; border-radius:12px; }
  .newport-detail .hero-media figcaption { position:static; padding:.75rem; margin:0; font-size:.8125rem; line-height:1.5; }
  .newport-detail .promise-grid,.newport-detail .intro-grid,.newport-detail .result-grid,.newport-detail .offer-grid,.newport-detail .visit-grid,.newport-detail .booking-grid,.newport-detail .faq-layout { gap:1.5rem; }
  .newport-detail .section h2 { font-size:clamp(2.2rem,9.5vw,2.8rem); line-height:1.06; }
  .newport-detail .trace article,.newport-detail .care-step { padding:1.25rem .25rem; }
  .newport-detail .trace span,.newport-detail .care-step span { margin-bottom:.625rem; font-size:.8125rem; }
  .newport-detail .care-step p,.newport-detail .visit-facts span { font-size:1rem; line-height:1.65; }
  .newport-detail .offer-panel,.newport-detail .booking-panel,.newport-detail .visit-panel { padding:1.25rem; border-radius:12px; }
  .newport-detail .offer-panel .button,.newport-detail .booking-panel .button,.newport-detail .visit-panel .button { width:100%; }
  .newport-detail .device { grid-template-columns:1.5rem minmax(0,1fr); column-gap:.75rem; row-gap:.75rem; padding-block:1.5rem; }
  .newport-detail .device p { grid-column:1/-1; }
  .newport-detail .device h3 { font-size:1.75rem; }
  .newport-detail .research-note { padding-block:2.5rem; }
  .newport-detail .research-note .shell { gap:1rem; }
  .newport-booking main { padding-block:1.5rem 2.5rem; }
  .newport-booking .booking-intro { margin-bottom:1.25rem; gap:0; }
  .newport-booking .booking-intro h1 { font-size:clamp(1.9rem,8.5vw,2.35rem); max-width:22ch; line-height:1.08; }
  .newport-booking .booking-intro .kicker,.newport-booking .progress-copy,.newport-booking .step-head p { display:none; }
  .newport-booking .booking-layout { border-radius:12px; }
  .newport-booking .service-panel { display:grid; grid-template-columns:4.5rem minmax(0,1fr); align-items:start; gap:.875rem; padding:1rem; }
  .newport-booking .service-photo { display:block; aspect-ratio:1; height:auto; margin:0; border-radius:12px; }
  .newport-booking .service-panel .offer-badge { display:none; }
  .newport-booking .service-summary { min-width:0; padding:0; }
  .newport-booking .summary-label { font-size:.75rem; margin-bottom:.25rem; }
  .newport-booking .service-summary h2 { font-size:1.5rem; line-height:1.1; margin-bottom:.5rem; }
  .newport-booking .price-row { gap:.25rem .5rem; margin-bottom:0; }
  .newport-booking .price-row strong { font-size:1.375rem; }
  .newport-booking .price-row span { width:100%; font-size:.75rem; }
  .newport-booking .form-panel { padding:1.25rem 1rem; }
  .newport-booking .step-head { margin-bottom:1.125rem; }
  .newport-booking .step-head h2 { font-size:1.875rem; line-height:1.1; margin:0; }
  .newport-booking .field-grid { gap:1rem; }
  .newport-booking .field label { font-size:.875rem; letter-spacing:0; text-transform:none; }
  .newport-booking .field select { min-height:3.5rem; max-width:100%; text-overflow:ellipsis; }
  .newport-booking .form-note { padding:.875rem; border-left:0; border-radius:8px; line-height:1.65; }
  .newport-booking .actions { margin-top:1.25rem; gap:.75rem; }
  .newport-booking .actions .button { width:100%; margin-left:0; min-height:3.5rem; font-size:.875rem; letter-spacing:0; }
  .newport-booking .page-note { font-size:.875rem; line-height:1.65; }
  .newport-booking .booking-back { gap:.375rem; font-size:.8125rem; }
  .newport-legal .legal-hero { padding-block:2.5rem; }
  .newport-legal .legal-hero h1 { font-size:clamp(2.5rem,10vw,3rem); }
  .newport-legal .legal-layout { padding-block:2rem; gap:2rem; }
  .newport-legal .legal-toc { padding:.75rem; gap:.25rem .75rem; }
  .newport-legal .legal-toc a { display:flex; align-items:center; min-height:2.75rem; font-size:.875rem; }
  .newport-legal .contact-card { padding:1rem; }
}
@media(max-width:360px) {
  .newport-home .service-facts li { grid-template-columns:minmax(0,1fr); gap:.2rem; }
  .newport-home .hero-offer strong { font-size:1.25rem; }
  .newport-home .hero-actions { gap:.5rem; }
  .newport-home .hero .button-ghost { max-width:8.5rem; padding-inline:.25rem; }
  .newport-home .evidence-subhead { grid-template-columns:minmax(0,1fr); }
  .newport-home .rail-controls { grid-column:1; grid-row:3; }
  .newport-booking .service-panel { grid-template-columns:3.5rem minmax(0,1fr); gap:.75rem; }
}
@media(max-width:1080px) and (max-height:500px) {
  .site-header { position:relative; }
  .mobile-panel { max-height:calc(100dvh - 10rem); }
  .newport-home .mobile-book { min-height:3rem; padding-block:.625rem; }
}
@media(hover:none) {
  .button:hover,.service-link:hover,.newport-home .service-card:hover,.newport-home .service-card:hover .service-photo img { transform:none; }
}

/* Coastal luxury: deep water, mineral surfaces and generous photographic composition. */
:root {
  --forest:#173f49; --forest-2:#245561; --forest-deep:#12313a;
  --oyster:#fbfcfa; --mist:#eff3f1; --line:#d1dcda;
  --surface-shadow:0 18px 48px #173f4912;
}
html { scrollbar-color:#8a9f9f var(--oyster); }
body { caret-color:var(--forest); }
h1,h2,h3 { letter-spacing:-.025em; }
a { text-underline-offset:.25em; }
.button,.service-link { transition:background 220ms ease,color 220ms ease,border-color 220ms ease; letter-spacing:.04em; }
.button:hover,.service-link:hover { transform:none; }
.button-primary { box-shadow:none; }
.button-primary:hover,.service-link:hover { background:var(--forest-2); }
.site-header { background:var(--oyster); backdrop-filter:none; }
.nav-row { min-height:6.25rem; }
.wordmark-main { font-size:1.65rem; letter-spacing:.075em; }
.wordmark-sub { letter-spacing:.07em; }
.desktop-nav a,.nav-links>a:not(.button) { position:relative; }
.desktop-nav a::after,.nav-links>a:not(.button)::after { content:""; position:absolute; inset:auto 0 .1rem; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 260ms ease; }
.desktop-nav a:hover::after,.desktop-nav a[aria-current="location"]::after,.nav-links>a:not(.button):hover::after { transform:scaleX(1); }
.announcement { background:var(--forest-deep); }
.announcement .shell { min-height:2.3rem; }
.announcement-arrow { width:1rem; height:1rem; stroke:var(--champagne); stroke-width:1.5; fill:none; }
.newport-home .hero { position:relative; isolation:isolate; background:var(--forest-deep); color:var(--oyster); }
.newport-home .hero::before { display:block; content:""; position:absolute; inset:-2% 52.5% -2% 0; z-index:-1; opacity:1; background:linear-gradient(90deg,#12313ad9 0%,#12313a85 58%,#12313a18 100%),var(--tidal-gold) 42% center/cover; mix-blend-mode:normal; transform:scale(1.015); pointer-events:none; }
.newport-home .hero::after { display:none; }
.newport-home .hero-grid { max-width:100rem; min-height:43.5rem; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.newport-home .hero-copy { padding:4.5rem 3.5rem 4.5rem max(2.5rem,calc((100vw - 82rem)/2)); }
.newport-home .hero h1 { max-width:12ch; color:var(--oyster); font-size:clamp(4rem,6.3vw,6rem); line-height:.96; margin-bottom:1.75rem; letter-spacing:-.03em; }
.newport-home .hero h1 em { color:var(--champagne); font-weight:400; }
.newport-home .hero-lead { color:#deE7e7; max-width:28rem; line-height:1.85; margin-bottom:1.75rem; }
.newport-home .hero-offer { border-left:0; border-top:1px solid #ffffff35; padding:1.15rem 0 0; gap:.2rem 2rem; margin-bottom:1.6rem; }
.newport-home .hero-offer>span,.newport-home .hero-offer del { color:#dbe5e5; }
.newport-home .hero-offer strong { color:var(--oyster); font-size:1.6rem; letter-spacing:-.025em; }
.newport-home .hero .button-primary { color:var(--forest-deep); background:var(--champagne); border-color:var(--champagne); box-shadow:none; min-width:11rem; }
.newport-home .hero .button-primary:hover { background:#ecdcbb; border-color:#ecdcbb; }
.newport-home .hero .button-ghost { color:var(--oyster); border-color:#c1d0d0; }
.newport-home .hero-note { color:#d0dedf; }
.newport-home .hero-note::before { display:none; }
.newport-home .hero-visual { margin:0; height:auto; min-height:100%; border-radius:0; box-shadow:none; }
.newport-home .hero-visual::after { background:linear-gradient(180deg,transparent 45%,#12313a15 60%,#12313ae8 100%); }
.newport-home .hero-badge { left:2.5rem; right:2.5rem; bottom:2.5rem; padding-top:1.25rem; border-top:1px solid #ffffff75; }
.newport-home .hero-badge strong { max-width:19ch; font-size:2rem; line-height:1.1; }
.newport-home .hero-badge-details { margin-top:.8rem; gap:.35rem; }
.newport-home .hero-video-toggle { border-radius:50%; width:3.5rem; height:3.5rem; padding:0; background:#12313ac9; top:1.5rem; right:1.5rem; }
.newport-home .proof-bridge { margin:0; padding:3rem 0; background:var(--oyster); border-bottom:1px solid var(--line); }
.newport-home .proof-bridge>.shell { padding:0; border-radius:0; box-shadow:none; background:transparent; }
.newport-home .proof-intro { display:flex; align-items:flex-start; margin-bottom:1.75rem; }
.newport-home .proof-intro p { color:var(--muted); font-size:.75rem; letter-spacing:.015em; text-transform:none; }
.newport-home .proof-intro h2 { font-size:2.4rem; margin:0 0 .5rem; }
.newport-home .proof-grid { grid-template-columns:1fr 1.15fr 1fr; }
.newport-home .proof-card { min-height:8rem; }
.newport-home .proof-review blockquote { font-size:1.55rem; }
.newport-home .section { padding-block:clamp(4rem,7vw,6.5rem); }
.newport-home .section-head { align-items:end; margin-bottom:2.25rem; gap:4rem; }
.newport-home .section-head h2,.newport-home .evidence-main-head h2 { font-size:clamp(3rem,4.6vw,4.75rem); max-width:17ch; }
.newport-home .specials { background:var(--mist); }
.newport-home .specials::before,.newport-home .evidence::before { display:none; }
.newport-home .treatments { background:var(--oyster); }
.newport-home .treatment-preview-note { color:#4b6268; margin-bottom:2rem; padding:0 0 1rem; }
.newport-home .service-grid.specials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem 2.5rem; }
.newport-home .specials-grid .service-card,.newport-home .specials-grid .service-card:nth-child(4),.newport-home .specials-grid .service-card:nth-child(5) { grid-column:auto; width:100%; display:flex; }
.newport-home .service-card { overflow:hidden; border:0; border-radius:0; background:transparent; box-shadow:none; transition:none; }
.newport-home .service-card:hover,.newport-home .service-card:focus-within { transform:none; box-shadow:none; }
.newport-home .service-photo { border-radius:12px; isolation:isolate; }
.newport-home .service-card:hover .service-photo img { transform:none; }
.newport-home .service-copy { padding:1.5rem 0 0; }
.newport-home .service-card h3 { font-size:2.4rem; }
.newport-home .service-facts li { grid-template-columns:5.4rem minmax(0,1fr); font-size:.9375rem; }
.newport-home .offer-price { padding:.35rem 0 .9rem; margin-bottom:.25rem; }
.newport-home .service-card .service-availability { min-height:2.75rem; padding:.6rem 0; margin-bottom:.5rem; }
.newport-home .service-card .service-link { border:1px solid #69878c; color:var(--forest); background:transparent; padding-inline:1.25rem; }
.newport-home .service-card .service-link:hover { background:var(--forest); color:#fff; border-color:var(--forest); }
.newport-home .service-card .service-link::after { content:""; width:1.25rem; height:1.25rem; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.newport-home .specials-grid .service-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); background:var(--oyster); border-radius:12px; }
.newport-home .specials-grid .service-card:first-child .service-photo { align-self:stretch; height:100%; aspect-ratio:auto; border-radius:0; }
.newport-home .specials-grid .service-card:first-child .service-photo img { object-fit:cover; }
.newport-home .specials-grid .service-card:first-child .service-copy { padding:2.25rem 2.5rem; }
.newport-home .specials-grid .service-card:first-child h3 { font-size:3rem; }
.newport-home .specials-grid .service-card:first-child .service-link { background:var(--forest); color:#fff; border-color:var(--forest); }
.newport-home .specials-grid .service-card:first-child .service-link:hover { background:var(--forest-2); }
.newport-home .regular-grid { gap:2rem; }
.newport-home .regular-grid .service-title-row { align-items:start; gap:.75rem; }
.newport-home .regular-grid h3 { font-size:2rem; }
.newport-home .regular-grid .service-price { padding-top:.3rem; white-space:nowrap; }
.newport-home .decision-strip { position:relative; isolation:isolate; overflow:clip; background:var(--forest-deep); padding-block:6rem; }
.newport-home .decision-strip::before { content:""; position:absolute; z-index:-1; inset:0 32% 0 0; background:linear-gradient(90deg,#12313aab 0%,#12313a52 62%,#12313a 100%),var(--tidal-gold) center/cover; opacity:.65; pointer-events:none; }
.newport-home .decision-copy h2 { color:var(--oyster); font-size:clamp(3.5rem,5vw,5rem); margin-bottom:1.75rem; }
.newport-home .treatment-guide { border-radius:12px; background:var(--oyster); padding:2.25rem; }
.newport-home .guide-choice { border-color:#bfd0cf; background:transparent; border-radius:4px; }
.newport-home .guide-choice:hover { border-color:var(--forest); }
.newport-home .guide-progress { padding-bottom:1rem; border-bottom:1px solid var(--line); }
.newport-home .evidence { background:#fff; }
.newport-home .evidence-main-head { align-items:end; padding-bottom:2.5rem; border-bottom:1px solid var(--line); }
.newport-home .result-card { padding:0; border:0; background:transparent; border-radius:0; }
.newport-home .result-frame { border-radius:12px; background:var(--mist); }
.newport-home .result-media { inset:.75rem; }
.newport-home .result-card figcaption { padding:1rem 0; }
.newport-home .recognition-band { padding:2.25rem 0; border-block:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; color:var(--forest); }
.newport-home .recognition-band::before { display:none; }
.newport-home .recognition-copy p { color:var(--muted); }
.newport-home .recognition-band .button { background:var(--forest); color:#fff; border-color:var(--forest); }
.newport-home .review-card,.newport-home .review-card:first-child { border:0; border-radius:12px; background:var(--mist); box-shadow:none; }
.newport-home .review-card:first-child { background:var(--forest-deep); }
.newport-home .review-card:first-child::before { display:none; }
.newport-home .review-card .review-rating { margin-bottom:2rem; }
.newport-home .rail-arrow { border-color:#9bb0b2; }
.newport-home .rail-arrow svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:1.5; }
.newport-home .video-card { border:0; border-radius:12px; background:var(--oyster); }
.newport-home .faq { background:var(--mist); }
.newport-home .faq-list summary { font-weight:500; }
.newport-home .faq-list details[open] summary { color:var(--forest-2); }
.newport-home .final-cta { padding-block:6rem; background:var(--forest-deep); position:relative; isolation:isolate; }
.newport-home .final-cta::before { display:block; content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#12313a40 35%,#12313abf 65%,#12313ad9 100%),var(--tidal-gold) center/cover; opacity:1; mix-blend-mode:normal; pointer-events:none; }
.newport-home .final-cta h2 { font-size:clamp(3.5rem,5.2vw,5.5rem); max-width:15ch; }
.newport-home .visit-panel { padding:1rem 0 1rem 3rem; border:0; border-left:1px solid #ffffff40; border-radius:0; background:transparent; box-shadow:none; }
.newport-home .visit-fact { padding-block:1.25rem; }
.newport-home .visit-label { color:#ccdcdd; letter-spacing:.025em; }
.newport-home .visit-actions .button-light,.newport-detail .hero .button-light { background:var(--champagne); color:var(--forest-deep); border-color:var(--champagne); }
.site-footer { padding-block:3rem 2rem; }
.footer-signature { display:flex; justify-content:space-between; align-items:end; padding-bottom:2.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--line); }
.footer-signature>a:first-child { display:flex; flex-direction:column; gap:.8rem; color:var(--forest); font:500 clamp(2.5rem,4.5vw,4.5rem)/1 var(--display); letter-spacing:-.025em; }
.footer-signature>a span { font:500 .8125rem/1.5 var(--body); letter-spacing:.04em; }
.footer-phone { color:var(--forest); font-size:1rem; padding-block:.5rem; }
.newport-detail .hero { position:relative; isolation:isolate; overflow:clip; background:var(--forest-deep); padding-block:3.5rem; }
.newport-detail .hero::before { content:""; position:absolute; z-index:-1; inset:0 35% 0 0; background:linear-gradient(90deg,#12313ad9 0%,#12313ab3 56%,#12313a24 100%),var(--tidal-gold) 42% center/cover; pointer-events:none; }
.newport-detail .hero-grid { min-height:35rem; gap:3.5rem; }
.newport-detail .hero h1 { max-width:100%; font-size:clamp(3rem,4.7vw,5rem); line-height:1.03; }
.newport-detail .hero-actions a[href^="tel:"] { color:var(--oyster); background:none; border-color:transparent; font-weight:500; text-transform:none; text-decoration:underline; text-underline-offset:.3em; }
.newport-detail .hero-lead { color:#deE7e7; }
.newport-detail .hero-media { border-radius:12px; box-shadow:none; }
.newport-detail .hero-media figcaption { border-radius:0; color:var(--forest); background:var(--oyster); }
.newport-detail .hero-offer-summary { border:0; border-top:1px solid #ffffff40; padding:1rem 0 0; background:none; border-radius:0; }
.newport-detail .section h2 { font-size:clamp(2.5rem,3.8vw,4rem); }
.newport-detail .offer-panel,.newport-detail .booking-panel,.newport-detail .visit-panel { border-radius:12px; box-shadow:none; }
.newport-booking { background:var(--mist); }
.newport-booking .booking-layout { border:0; box-shadow:var(--surface-shadow); }
.newport-booking .booking-intro h1 { font-size:clamp(2.5rem,4.3vw,4rem); }
.newport-booking .service-panel { background:var(--forest-deep); color:var(--oyster); border:0; }
.newport-booking .service-photo { border-radius:12px; }
.newport-booking .service-summary h2,.newport-booking .price-row strong { color:var(--oyster); }
.newport-booking .summary-label,.newport-booking .price-row del,.newport-booking .price-row span,.newport-booking .summary-points { color:#deE7e7; }
.newport-booking .summary-points li { color:#dee7e7; border-color:#ffffff30; }
.newport-booking .field select { border-radius:4px; border-color:#9bb2b4; background-color:#fff; }
.newport-booking .form-note { border:0; background:var(--mist); border-radius:8px; }
.newport-legal .legal-hero { background:var(--mist); border-bottom:1px solid var(--line); }
.newport-legal .legal-hero h1 { font-size:clamp(3rem,5.2vw,5rem); }
.newport-legal .contact-card { border:0; border-radius:12px; background:var(--mist); box-shadow:none; }
@media(min-width:1600px) { .newport-home .hero-copy { padding-left:6rem; } }
@media(min-width:761px) and (max-width:1080px) {
  .newport-home .hero-copy { padding:3rem 1.5rem; }
  .newport-home .hero h1 { font-size:clamp(3.2rem,6.6vw,4.5rem); }
  .newport-home .hero-actions { flex-wrap:wrap; gap:.5rem 1rem; }
  .newport-home .hero-visual { min-height:33rem; }
  .newport-home .hero-badge { left:1.5rem; right:1.5rem; bottom:1.75rem; }
  .newport-home .hero-badge strong { font-size:1.6rem; }
  .newport-home .proof-grid { grid-template-columns:1fr 1fr; }
  .newport-home .service-grid.specials-grid { gap:2.5rem 1.5rem; }
  .newport-home .specials-grid .service-card:first-child .service-copy { padding:1.5rem; }
  .newport-home .specials-grid .service-card:first-child h3 { font-size:2.5rem; }
  .newport-home .service-facts li { grid-template-columns:1fr; gap:.2rem; }
  .newport-home .regular-grid .service-card:last-child { display:flex; max-width:none; }
  .newport-home .regular-grid .service-card:last-child .service-photo { aspect-ratio:3/2; width:100%; }
  .newport-home .service-card h3 { font-size:2rem; }
  .newport-home .visit-layout { gap:2rem; }
  .newport-home .visit-panel { padding-left:2rem; }
  .newport-detail .hero-grid { gap:2rem; min-height:0; }
}
@media(max-width:760px) {
  .nav-row,.newport-booking .header-row { min-height:4.5rem; }
  .wordmark-main,.newport-booking .wordmark-main { font-size:clamp(1.05rem,4.9vw,1.25rem); letter-spacing:.035em; }
  .wordmark-sub { letter-spacing:0; }
  .newport-home .hero-grid { grid-template-columns:1fr; min-height:0; }
  .newport-home .hero::before { inset:0 0 40% 0; background:linear-gradient(90deg,#12313ae0 0%,#12313ac9 60%,#12313abf 100%),var(--tidal-gold) 60% center/cover; }
  .newport-home .hero-copy { padding:2.4rem calc(1rem + env(safe-area-inset-left)) 2rem; }
  .newport-home .hero h1 { font-size:clamp(2.8rem,12.8vw,3.75rem); line-height:.99; margin-bottom:1.2rem; }
  .newport-home .hero-lead { font-size:1rem; line-height:1.7; margin-bottom:1.25rem; }
  .newport-home .hero-offer { padding-top:.85rem; margin-bottom:1.25rem; gap:.15rem 1.5rem; }
  .newport-home .hero-offer strong { font-size:1.4rem; }
  .newport-home .hero-actions { flex-wrap:nowrap; }
  .newport-home .hero .button-primary { min-width:0; }
  .newport-home .hero-note { margin-top:.85rem; }
  .newport-home .hero-visual { margin:0; height:clamp(22rem,110vw,29rem); min-height:0; border-radius:0; }
  .newport-home .hero-badge { left:1.25rem; right:1.25rem; bottom:1.5rem; padding-top:1rem; }
  .newport-home .hero-badge strong { font-size:1.7rem; max-width:20ch; }
  .newport-home .hero-video-toggle { width:3rem; height:3rem; right:1rem; top:1rem; }
  .newport-home .proof-bridge { padding:2rem 0; }
  .newport-home .proof-bridge>.shell { padding:0; }
  .newport-home .proof-intro h2 { font-size:2rem; }
  .newport-home .proof-grid { grid-template-columns:1fr; }
  .newport-home .proof-card { min-height:0; }
  .newport-home .section { padding-block:3.25rem; }
  .newport-home .section-head { gap:1rem; align-items:start; margin-bottom:1.5rem; }
  .newport-home .section-head h2,.newport-home .evidence-main-head h2 { font-size:clamp(2.4rem,10.5vw,3.2rem); line-height:1.02; }
  .newport-home .service-grid.specials-grid,.newport-home .service-grid.regular-grid { grid-template-columns:1fr; gap:2.5rem; }
  .newport-home .specials-grid .service-card:first-child { grid-column:auto; display:flex; background:transparent; border-radius:0; }
  .newport-home .specials-grid .service-card:first-child .service-photo { height:auto; aspect-ratio:3/2; border-radius:12px; }
  .newport-home .service-copy,.newport-home .specials-grid .service-card:first-child .service-copy { padding:1.15rem 0 0; }
  .newport-home .service-card h3,.newport-home .specials-grid .service-card:first-child h3,.newport-home .regular-grid h3 { font-size:2rem; margin-bottom:.65rem; }
  .newport-home .service-facts li { grid-template-columns:4.6rem minmax(0,1fr); padding-block:.65rem; }
  .newport-home .service-card .service-link { min-height:3.25rem; }
  .newport-home .decision-strip { padding-block:3.25rem; }
  .newport-home .decision-strip::before { inset:0 0 50% 0; opacity:.45; }
  .newport-detail .hero::before { inset:0; background:linear-gradient(90deg,#12313ae0,#12313ad1),var(--tidal-gold) center/cover; }
  .newport-home .decision-copy h2 { font-size:clamp(2.6rem,11vw,3.5rem); max-width:15ch; margin-bottom:1.25rem; }
  .newport-home .treatment-guide { padding:1.25rem; }
  .newport-home .guide-progress { margin-bottom:1.25rem; }
  .newport-home .evidence-main-head { margin-bottom:2rem; padding-bottom:1.5rem; }
  .newport-home .recognition-band { padding-block:1.5rem; }
  .newport-home .review-card { padding:1.5rem; }
  .newport-home .final-cta { padding-block:3.25rem; }
  .newport-home .final-cta h2 { font-size:clamp(2.6rem,11vw,3.5rem); }
  .newport-home .visit-panel { padding:0; border-left:0; border-top:1px solid #ffffff40; }
  .site-footer { padding-block:2.25rem 1.5rem; }
  .footer-signature { align-items:start; flex-direction:column; gap:1.25rem; padding-bottom:1.5rem; }
  .footer-signature>a:first-child { font-size:clamp(2.25rem,9.5vw,3.25rem); }
  .footer-signature>a span { font-size:.75rem; }
  .newport-detail .hero { padding:0; }
  .newport-detail .hero-grid { min-height:0; padding-block:2rem; gap:1.75rem; }
  .newport-detail .hero h1 { font-size:clamp(2.4rem,10vw,3.2rem); line-height:1.05; }
  .newport-detail .section h2 { font-size:clamp(2.25rem,9.5vw,3rem); }
  .newport-detail .hero-offer-summary { padding:1rem 0 0; }
  .newport-booking .booking-intro h1 { font-size:clamp(1.9rem,8.5vw,2.35rem); }
  .newport-booking .booking-layout { box-shadow:none; }
  .newport-booking .service-panel { padding:1rem; }
}
@media(max-width:360px) {
  .newport-home .service-facts li { grid-template-columns:1fr; gap:.2rem; }
  .newport-home .hero-offer { gap:.15rem 1rem; }
  .newport-home .hero-offer strong { font-size:1.3rem; }
}
@media(prefers-reduced-motion:no-preference) {
  /* One quiet arrival under five seconds, then a still material background. */
  .newport-home .hero::before { animation:tidal-light-arrival 4800ms cubic-bezier(.16,1,.3,1) both; }
  @keyframes tidal-light-arrival { from { transform:translate3d(0,1.5%,0) scale(1.035); } to { transform:translate3d(0,0,0) scale(1.015); } }
}

/* Only the current first-visit amount moves; surrounding prices and layout stay stable. */
.newport-home [data-offer-attention] { display:inline-block; color:inherit; transform-origin:center; }
@media(prefers-reduced-motion:no-preference) {
  .newport-home .price-is-moving { animation:offer-price-lift 2400ms cubic-bezier(.22,1,.36,1) both; }
  @keyframes offer-price-lift {
    0%,34%,72%,100% { transform:translateY(0) scale(1); }
    14% { transform:translateY(-5px) scale(1.08); }
    52% { transform:translateY(-3px) scale(1.045); }
  }
}
@media(prefers-reduced-motion:reduce) {
  .newport-home [data-offer-attention] { animation:none; transform:none; }
}

/* Educational links supplement each existing treatment booking card. */
.newport-home .service-details-link { display:inline-block; align-self:flex-start; margin:0 0 1rem; color:var(--forest); font-size:.875rem; line-height:1.6; text-decoration:underline; text-underline-offset:.2em; }

/* Small-screen reflow: stable gutters, scalable text and native iPhone controls. */
@media(max-width:1080px) {
  .nav-row,.newport-detail .nav-row,.newport-legal .nav-row { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .mobile-menu { position:static; }
  .mobile-menu summary { min-width:44px; min-height:44px; }
  .mobile-panel { top:100%; left:max(12px,env(safe-area-inset-left)); right:max(12px,env(safe-area-inset-right)); width:auto; max-height:var(--menu-space,calc(100dvh - var(--header-height,72px) - 24px)); margin-top:0; }
  .mobile-panel a { overflow-wrap:anywhere; }
  .site-header[data-tall="true"] { position:relative; }
}
@media(max-width:760px) {
  :root { --mobile-gutter:clamp(12px,4vw,20px); }
  body { font-size:1rem; }
  .shell { max-width:var(--shell); }
  .nav-row,.newport-booking .header-row { gap:10px; min-height:72px; padding-block:12px; }
  .newport-booking .header-row { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .wordmark { min-width:0; }
  .wordmark-main,.newport-booking .wordmark-main { font-size:clamp(1.05rem,4.6vw,1.2rem); letter-spacing:.015em; line-height:1.1; white-space:normal; }
  .wordmark-sub { display:block; margin-top:0; white-space:normal; overflow:visible; text-overflow:clip; text-transform:none; line-height:1.4; }
  .wordmark-sub::before { display:none; }
  .newport-home .announcement .shell { flex-wrap:wrap; justify-content:center; gap:4px 8px; padding-block:6px; }
  .newport-home .announcement strong,.newport-home .announcement del,.newport-home .announcement-arrow { flex:0 0 auto; }
  .mobile-menu summary { gap:6px; padding:10px; letter-spacing:0; font-size:.8125rem; }
  .mobile-menu summary svg { width:18px; height:18px; flex:0 0 18px; }
  .booking-back { min-height:44px; }
  .booking-back svg { flex:0 0 18px; }
  h1,h2,h3,summary,.service-summary,.hero-badge,.footer-signature { overflow-wrap:anywhere; }
  .button,.service-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .shell>*,.hero-copy>*,.service-copy>*,.offer-panel>*,.faq-list,.faq-list details,.field,.form-panel,.field-grid,.booking-layout,.service-summary { min-width:0; }
  .newport-detail .promise-grid,.newport-detail .intro-grid,.newport-detail .result-grid,.newport-detail .offer-grid,.newport-detail .visit-grid,.newport-detail .booking-grid,.newport-detail .faq-layout { grid-template-columns:minmax(0,1fr); }
  .newport-detail .section,.newport-home .section { padding-block:clamp(40px,10vw,56px); }
  .newport-detail .section h2 { font-size:clamp(2rem,8.6vw,2.65rem); }
  .newport-detail .offer-panel,.newport-detail .booking-panel,.newport-detail .visit-panel { padding:20px; }
  .newport-detail .price strong { font-size:2.5rem; }
  .treatment-explainer .explainer-back,.treatment-explainer .explainer-text-link,.treatment-explainer .explainer-comparison a,.treatment-explainer .explainer-visit-facts a,.treatment-explainer .explainer-hub-help a,.newport-home .service-details-link { display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding-block:8px; }
  .newport-home .hero-actions { flex-wrap:wrap; }
  .newport-home .hero-copy { padding:24px max(var(--mobile-gutter),env(safe-area-inset-right)) 32px max(var(--mobile-gutter),env(safe-area-inset-left)); }
  .newport-home .hero-actions .button { flex:1 1 150px; }
  .newport-home .hero-actions .button-ghost { max-width:none; }
  .newport-home .hero-offer { display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:.25rem .75rem; width:100%; max-width:100%; }
  .newport-home .hero-offer strong { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:.4rem; max-width:100%; white-space:normal; }
  .newport-home .hero-offer del { margin-left:0; }
  .newport-home .service-facts li { grid-template-columns:minmax(0,1fr); gap:.2rem; }
  .newport-home .service-facts li span,.newport-home .service-card p { font-size:1rem; }
  .newport-home .outcome-photo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); aspect-ratio:auto!important; height:auto!important; }
  .newport-home .outcome-photo::after { display:none; }
  .newport-home .outcome-photo img { grid-column:1/-1; grid-row:2; position:static; height:auto; aspect-ratio:3/2; object-fit:cover; }
  .newport-home .outcome-label { position:static; inset:auto; grid-row:1; max-width:none; padding:8px 10px; border:0; border-radius:0; background:var(--mist); }
  .newport-home .outcome-before { grid-column:1; text-align:left; }
  .newport-home .outcome-label.outcome-after { grid-column:2; max-width:none; text-align:right; }
  .outcome-label .outcome-course { white-space:normal; }
  .newport-home .outcome-caption { position:static; grid-column:1/-1; grid-row:3; gap:.5rem; flex-wrap:wrap; padding:10px; background:var(--forest-deep); }
  .newport-home .outcome-caption span:last-child { max-width:none; text-align:left; }
  .newport-home .proof-grid,.newport-home .decision-layout,.newport-home .faq-layout { grid-template-columns:minmax(0,1fr); }
  .newport-home .proof-result,.newport-home .proof-award { flex-wrap:wrap; }
  .newport-home .proof-copy { min-width:0; flex:1 1 160px; overflow-wrap:anywhere; }
  .newport-home .proof-result img { width:104px; height:104px; }
  .newport-home .proof-award img { width:72px; height:96px; }
  .newport-home .results-integrity span { flex:0 1 auto; min-width:0; max-width:100%; white-space:normal; }
  .newport-home .mobile-book { flex-wrap:wrap; min-height:60px; gap:8px 12px; padding:12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
  .newport-booking .booking-layout,.newport-booking .field-grid { grid-template-columns:minmax(0,1fr); }
  .newport-booking .service-panel { grid-template-columns:48px minmax(0,1fr); gap:12px; padding:16px; }
  .newport-booking .service-summary h2 { font-size:1.375rem; line-height:1.2; }
  .newport-booking .service-photo { border-radius:8px; }
  .newport-booking .form-panel { padding:20px 16px; }
  .newport-booking .field { grid-template-columns:minmax(0,1fr); }
  .newport-booking .field select,.newport-booking .field input { width:100%; min-width:0; max-width:100%; font-size:max(16px,1rem); }
  .newport-booking .field select { overflow:hidden; }
  .newport-booking .actions .button { font-size:1rem; }
  .newport-booking .availability-status,.newport-booking .prototype-notice,.newport-booking .form-note { font-size:.875rem; }
  .newport-booking .secure-line { flex-wrap:wrap; }
}
@media(max-width:1080px) and (max-height:500px) {
  .site-header { position:relative; }
  .mobile-panel { max-height:var(--menu-space,240px); }
  .newport-home .mobile-book { position:static; transform:none; visibility:visible; }
  .newport-home .mobile-book[data-visible="false"] { display:none; }
  .newport-home { padding-bottom:0; }
}
