/* MCR Implant Centre — single-tooth implant LP. Clinic layer only.
   Canonical preview-shared/components.css is loaded first and never edited;
   this file only sets its documented clinic tokens and styles clinic content. */

@font-face{font-family:"Inter Tight";src:url(../fonts/inter-tight-500-latin.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-400-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-700-latin.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}

:root{
  --paper:#fffbf5;--sand:#f4ede2;--stone:#ebe1d2;--beige:#d8c3a5;--beige-deep:#b99c74;--oak:#866640;
  --ink:#1a1a1a;--ink-soft:#463f37;--muted:#655c51;--line:#e3d8c6;--line-strong:#cbbca5;
  --navy:#13213a;--navy-soft:#b9c4d8;--star-blue:#2c5aa0;--dark:#191714;--dark-text:#d9cfc0;
  --f-head:"Inter Tight","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:clamp(16px,4vw,48px);
  /* Canonical shared-component clinic tokens */
  --mf-clinic-action:#1a1a1a;--mf-clinic-surface:#fffbf5;--mf-clinic-text:#1a1a1a;
  --mf-clinic-visual:#cdb594;--mf-clinic-visual-text:#1a1a1a;--mf-form-image-position:56% 42%;
  --mf-header-offset:0px;
}
html{scroll-padding-top:calc(var(--mf-header-offset) + 12px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
h1,h2,h3{font-family:var(--f-head);font-weight:500;letter-spacing:-.025em}
a{color:inherit}
:focus-visible{outline:3px solid var(--oak);outline-offset:3px}
.wrap{max-width:1360px;margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;text-decoration:none}
.skip-link:focus{top:12px}
.lp-main:focus{outline:none}
.eyebrow{display:flex;align-items:center;gap:12px;font:500 12.5px/1.3 var(--f-head);letter-spacing:.16em;text-transform:uppercase;color:var(--oak);margin-bottom:18px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.soft{color:var(--oak)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:15px 28px;border-radius:999px;background:var(--ink);color:var(--paper);font:600 16.5px/1.25 var(--f-body);text-decoration:none;letter-spacing:-.005em;transition:background-color .18s ease,transform .18s ease}
.btn:hover{background:#000}
.btn:active{transform:translateY(1px)}
.btn span{transition:transform .18s ease}.btn:hover span{transform:translateX(3px)}
.btn-small{min-height:44px;padding:10px 20px;font-size:14.5px}
.btn-light{background:var(--paper);color:var(--ink)}.btn-light:hover{background:#fff}
.first-visit .btn-light:focus-visible{outline-color:var(--beige)}

/* Header (M01) */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,251,245,.92);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:block;flex:none;line-height:0}
.brand img{width:54px;height:54px}
.header-nav{display:flex;gap:4px;margin-left:auto}
.header-nav a{font:500 14.5px/1 var(--f-head);color:var(--ink-soft);text-decoration:none;padding:12px 12px;border-radius:999px;transition:background-color .15s}
.header-nav a:hover{background:var(--sand);color:var(--ink)}
.header-cta{margin-left:8px}

/* Hero */
.hero{padding:clamp(28px,4.2vw,64px) 0 0;position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,4.6vw,80px);align-items:center}
.hero h1{font-size:clamp(46px,4.3vw,66px);line-height:1.02;letter-spacing:-.038em;margin:0 0 22px}
.hero h1 span{display:block}
.h1-second{color:var(--oak)}
.hero-support{font-size:19px;line-height:1.55;color:var(--ink-soft);max-width:33em}
.price{margin-top:28px}
.price-scope{font:500 12.5px/1.3 var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.price-row{display:flex;align-items:baseline;gap:4px 14px;flex-wrap:nowrap}
.price-figure{font:500 46px/1 var(--f-head);letter-spacing:-.035em;color:var(--ink);flex:none;font-variant-numeric:tabular-nums}
.price-star{font-size:.55em;vertical-align:.7em;margin-left:1px;color:var(--oak)}
.price-note{font-size:13.5px;line-height:1.45;color:var(--muted);max-width:31em}
.hero-action{margin-top:26px}
.mf-proof-action .mf-rating{color:var(--ink)}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:14px;color:var(--muted)}
.hero-facts span{display:inline-flex;align-items:center;gap:9px}
.hero-facts span::before{content:"";width:6px;height:6px;background:var(--beige-deep);transform:rotate(45deg);flex:none}

/* Hero stage (M07 annotated mechanism) */
.stage{position:relative;padding:20px 22px 22px;background:radial-gradient(120% 85% at 46% 34%,#fdf9f2 0%,#f1e8da 52%,#e4d6c1 100%);border-radius:3px;isolation:isolate}
.stage-frame i{position:absolute;width:26px;height:26px;border:0 solid rgba(26,26,26,.55);pointer-events:none}
.stage-frame i:nth-child(1){top:10px;left:10px;border-top-width:1.5px;border-left-width:1.5px}
.stage-frame i:nth-child(2){top:10px;right:10px;border-top-width:1.5px;border-right-width:1.5px}
.stage-frame i:nth-child(3){bottom:10px;left:10px;border-bottom-width:1.5px;border-left-width:1.5px}
.stage-frame i:nth-child(4){bottom:10px;right:10px;border-bottom-width:1.5px;border-right-width:1.5px}
.stage-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 18px 0}
.stage-kicker,.stage-meta{font:500 11.5px/1.4 var(--f-head);letter-spacing:.14em;text-transform:uppercase}
.stage-kicker{color:var(--ink)}.stage-meta{color:var(--muted)}
.scene{display:flex;justify-content:center;margin:4px auto 0}
.scene-svg{width:100%;max-width:372px;height:auto;overflow:visible}
.scene .part{transform-box:view-box;transition:transform .8s cubic-bezier(.22,.8,.24,1),opacity .35s ease}
.scene[data-view="exploded"] .part-crown{transform:translateY(-135px)}
.scene[data-view="exploded"] .part-connector{transform:translateY(-46px)}
.scene:not([data-focus="none"]) .part{opacity:.2}
.scene[data-focus="crown"] .part-crown,.scene[data-focus="connector"] .part-connector,.scene[data-focus="implant"] .part-implant{opacity:1}
.part-ring{fill:none;stroke:#a7783f;stroke-width:2.2;opacity:0;transition:opacity .3s ease;filter:drop-shadow(0 0 5px rgba(167,120,63,.55))}
.scene[data-focus="crown"] .part-crown .part-ring,.scene[data-focus="connector"] .part-connector .part-ring,.scene[data-focus="implant"] .part-implant .part-ring{opacity:1}
.lbl circle{fill:var(--ink)}
.lbl path{stroke:#6d5e4c;stroke-width:1;fill:none}
.lbl-n{font:500 11px var(--f-head);letter-spacing:.12em;fill:var(--oak)}
.lbl-t{font:500 18px var(--f-head);letter-spacing:-.01em;fill:var(--ink);transition:fill .3s}
.scene[data-focus="crown"] .part-crown .lbl-t,.scene[data-focus="connector"] .part-connector .lbl-t,.scene[data-focus="implant"] .part-implant .lbl-t{fill:#7a5626}
.ctx-t{font:500 10.5px var(--f-head);letter-spacing:.14em;text-transform:uppercase;fill:#8c6f4c}
.js .scene .part{cursor:pointer}
.stage-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px;padding:0 6px}
.part-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.part-btn,.view-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:rgba(255,251,245,.72);color:var(--ink);font:500 15px/1.2 var(--f-head);letter-spacing:-.005em;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.part-btn .n{font-size:11px;letter-spacing:.1em;color:var(--oak);transition:color .2s}
.part-btn:hover,.view-btn:hover{border-color:var(--ink)}
.part-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.part-btn[aria-pressed="true"] .n{color:var(--beige)}
.view-btn{padding-inline:16px;background:transparent;border-color:var(--ink)}
.view-btn svg{width:18px;height:18px;flex:none;transition:transform .4s ease}
.view-btn[aria-pressed="true"]{background:var(--beige);border-color:var(--beige)}
.view-btn[aria-pressed="true"] svg{transform:rotate(90deg)}
.part-info{margin-top:12px;padding:0 8px 2px;min-height:86px}
.info-title{font:500 17px/1.3 var(--f-head);letter-spacing:-.01em;color:var(--ink);margin-bottom:5px}
.info-title .n{font-size:11.5px;letter-spacing:.12em;color:var(--oak);margin-right:4px}
.info-aka{color:var(--muted);font-size:15px}
.info p:not(.info-title){font-size:15px;line-height:1.5;color:var(--ink-soft)}
html:not(.js) .stage-controls,html:not(.js) .view-btn,html:not(.js) .info[data-info="overview"],html:not(.js) .info[data-info="assembled"]{display:none}
html:not(.js) .info+.info{margin-top:12px}
.js .info{display:none}.js .info[data-active]{display:block}

/* Spec row */
.spec-row{list-style:none;padding:0;margin:clamp(36px,4vw,56px) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.spec-row li{padding:18px 24px 22px 0;display:flex;flex-direction:column;gap:4px}
.spec-row li+li{padding-left:24px;border-left:1px solid var(--line)}
.spec-k{font:500 11.5px/1.3 var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.spec-v{font:500 17px/1.35 var(--f-head);color:var(--ink)}

/* Sections */
.section{padding-block:clamp(72px,9vw,140px)}
.section-head{max-width:780px}
.section h2{font-size:clamp(34px,4.1vw,60px);line-height:1.04;letter-spacing:-.035em}
.section-lede{margin-top:20px;font-size:18.5px;line-height:1.6;color:var(--ink-soft);max-width:38em}

/* Team (M04 + method) */
.method-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,2.4vw,32px);margin-top:clamp(40px,5vw,64px);align-items:end}
.photo img{width:100%;border-radius:3px;background:var(--stone)}
.photo-scan img{aspect-ratio:3/2;object-fit:cover;object-position:62% 40%}
.photo-lab img{aspect-ratio:4/5;object-fit:cover;object-position:68% 50%}
.photo figcaption{display:flex;gap:12px;align-items:baseline;margin-top:14px;font-size:14.5px;line-height:1.5;color:var(--muted);max-width:42em}
.photo figcaption .n{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--line-strong);font:500 11px/1 var(--f-head);color:var(--oak);transform:translateY(-1px)}
.people{margin-top:clamp(48px,6vw,80px);padding-top:28px;border-top:1px solid var(--ink)}
.people-title{font:500 12.5px/1.3 var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.people-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,260px) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);align-items:start}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:3px;background:var(--stone)}
.person figcaption{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.person strong{font:500 19px/1.3 var(--f-head);letter-spacing:-.01em}
.person figcaption span{font-size:14.5px;color:var(--muted)}
.cqc-card{align-self:stretch;background:var(--sand);padding:clamp(24px,3vw,36px);border-radius:3px;display:flex;flex-direction:column;gap:10px;justify-content:flex-end}
.cqc-k{font:500 12px/1.3 var(--f-head);letter-spacing:.14em;text-transform:uppercase;color:var(--oak)}
.cqc-v{font:500 clamp(26px,2.4vw,34px)/1.1 var(--f-head);letter-spacing:-.025em}
.cqc-card p:not(.cqc-k):not(.cqc-v){font-size:15.5px;line-height:1.55;color:var(--ink-soft)}
.cqc-card .cqc-fine{font-size:13.5px;color:var(--muted)}

/* First visit + cost (M08 + M14), dark */
.first-visit{background:var(--dark);color:var(--dark-text)}
.first-visit h2{color:var(--paper)}
.first-visit .eyebrow{color:var(--beige)}
.first-visit .section-lede{color:var(--dark-text)}
.visit-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,6vw,96px);align-items:center}
.visit-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:40px 0 44px}
.visit-lists h3{font-size:17px;color:var(--paper);padding-top:14px;border-top:1px solid rgba(216,195,165,.4);margin-bottom:6px;letter-spacing:-.01em}
.visit-lists ul{list-style:none;padding:0}
.visit-lists li{position:relative;padding:9px 0 9px 20px;font-size:15.5px;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.08)}
.visit-lists li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:1px;background:var(--beige)}
.visit-offer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:28px 40px}
.price-dark{margin-top:0}
.price-dark .price-scope{color:#b9ad9b}
.price-dark .price-figure{color:var(--paper)}
.price-dark .price-star{color:var(--beige)}
.price-dark .price-note{color:#cfc4b3;max-width:22em}
.first-visit .mf-proof-action .mf-rating{color:var(--paper)}
.visit-photo img{aspect-ratio:4/5;object-fit:cover;object-position:38% 50%}
.visit-photo figcaption{color:#b9ad9b}

/* Journey (M03) */
.stages{list-style:none;padding:0;margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.stages li{padding:26px 28px 8px 0}
.stages li+li{padding-left:28px;border-left:1px solid var(--line)}
.stage-n{display:block;font:500 clamp(40px,3.6vw,56px)/1 var(--f-head);letter-spacing:-.04em;color:var(--beige-deep);font-variant-numeric:tabular-nums}
.stages h3{font-size:20px;line-height:1.25;margin:22px 0 10px;letter-spacing:-.015em}
.stages p{font-size:15.5px;line-height:1.55;color:var(--muted)}

/* Reviews (M02) */
.reviews{background:#fff}
.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.reviews-aggregate .mf-rating{color:var(--ink)}
.review-rail{display:grid;gap:20px;margin-top:clamp(36px,4vw,52px)}
.review-rail figure{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px clamp(32px,5vw,80px);border-radius:3px;padding:clamp(32px,4.4vw,64px)}
.review-who{display:flex;flex-direction:column;gap:8px}
.review-who strong{font:500 21px/1.25 var(--f-head);letter-spacing:-.01em}
.review-stars{font-size:21px;letter-spacing:3px;line-height:1}
.review-ctx{font-size:14px;line-height:1.45}
.review-rail blockquote p{font:500 clamp(24px,2.5vw,36px)/1.28 var(--f-head);letter-spacing:-.022em;text-wrap:pretty}
.review-src{grid-column:2;font:500 11.5px/1.3 var(--f-head);letter-spacing:.14em;text-transform:uppercase}
.review-featured{background:var(--navy);color:#f4f1ea}
.review-featured .review-stars{color:#fff}
.review-featured .review-ctx,.review-featured .review-src{color:var(--navy-soft)}
.review-light{background:var(--sand);color:var(--ink)}
.review-light blockquote p{font-size:clamp(21px,2vw,28px)}
.review-light .review-stars{color:var(--star-blue)}
.review-light .review-ctx,.review-light .review-src{color:var(--muted)}
.rail-nav{display:none}
.reviews-note{margin-top:20px;font-size:13.5px;color:var(--muted)}

/* FAQ (M06) */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:24px 52px 24px 0;font:500 19.5px/1.35 var(--f-head);letter-spacing:-.012em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before,.faq-list summary::after{content:"";position:absolute;right:8px;top:50%;width:16px;height:1.5px;background:var(--ink);transition:transform .25s ease}
.faq-list summary::after{transform:rotate(90deg)}
.faq-list details[open] summary::after{transform:rotate(0)}
.faq-list summary:hover{color:var(--oak)}
.faq-list details p{padding:0 52px 26px 0;font-size:16.5px;line-height:1.62;color:var(--ink-soft);max-width:44em}

/* Closing CTA (M14) */
.closing{background:var(--sand)}
.closing-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.closing-inner h2{max-width:16em}
.closing-inner>p{margin:18px 0 32px;font-size:18px;color:var(--ink-soft);max-width:34em}

/* Clinic footer */
.site-footer{padding:56px 0 48px;border-top:1px solid var(--line);background:var(--paper)}
.footer-grid{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,4vw,64px);align-items:start}
.footer-logo{width:96px;height:96px}
.footer-k{font:500 16px/1.3 var(--f-head);margin-bottom:10px}
.footer-contact p,.footer-notes p{font-size:14.5px;line-height:1.6;color:var(--muted)}
.footer-contact p+p{margin-top:10px}
.footer-notes p+p{margin-top:8px}
.owner-ads-note{background:#0a0a0a;color:#c6c6c6;padding:16px 24px;border-bottom:1px solid #2a2a2a;font:13px/1.5 Arial,Helvetica,sans-serif}
.owner-ads-note p{max-width:1120px;margin:auto}
.owner-ads-note span{color:#ff8a3d;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-right:10px}
.owner-ads-note:focus{outline:2px solid #ff8a3d;outline-offset:-2px}

/* Tablet */
@media (max-width:999px){
  .header-nav{display:none}
  .header-cta{margin-left:auto}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero h1{font-size:clamp(42px,7vw,60px)}
  .stage{max-width:640px;width:100%;margin-inline:auto}
  .method-grid{grid-template-columns:1fr}
  .photo-lab{max-width:520px}
  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cqc-card{grid-column:1/-1}
  .visit-grid{grid-template-columns:1fr}
  .visit-photo img{aspect-ratio:3/2}
  .stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stages li:nth-child(3){padding-left:0;border-left:0}
  .stages li:nth-child(n+3){border-top:1px solid var(--line);margin-top:20px}
  .review-rail figure{grid-template-columns:1fr}
  .review-src{grid-column:1}
  .faq-grid{grid-template-columns:1fr}
}

/* Mobile: composed independently (width-based type only) */
@media (max-width:650px){
  body{font-size:16px}
  .site-header{position:relative;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}
  .header-inner{min-height:64px}
  .brand img{width:46px;height:46px}
  .header-cta{display:none}
  .hero{padding-top:22px}
  .hero-grid{gap:20px}
  .eyebrow{font-size:11.5px;margin-bottom:14px;gap:10px}
  .eyebrow::before{width:20px}
  .hero h1{font-size:clamp(32px,calc(8.7px + 7.27vw),40px);line-height:1.06;letter-spacing:-.035em;margin-bottom:14px}
  .hero-support{font-size:16.5px;line-height:1.55}
  .price{margin-top:16px}
  .price-figure{font-size:38px}
  .price-row{column-gap:12px}
  .price-note{font-size:13px}
  .hero-action{margin-top:16px}
  .hero-action .btn{width:100%}
  .hero-facts{display:none}
  .stage{padding:14px 12px 16px}
  .stage-frame i{width:18px;height:18px}
  .stage-frame i:nth-child(1),.stage-frame i:nth-child(2){top:7px}.stage-frame i:nth-child(3),.stage-frame i:nth-child(4){bottom:7px}
  .stage-frame i:nth-child(1),.stage-frame i:nth-child(3){left:7px}.stage-frame i:nth-child(2),.stage-frame i:nth-child(4){right:7px}
  .stage-head{padding:2px 10px 0}
  .stage-kicker,.stage-meta{font-size:10.5px}
  .scene-svg{max-width:100%}
  .lbl-t{font-size:19px}
  .stage-controls{grid-template-columns:1fr;gap:8px;margin-top:12px;padding:0}
  .part-btn{padding-inline:6px;font-size:14.5px}
  .view-btn{width:auto;min-height:44px;margin:10px 0 2px 10px;padding:8px 16px;font-size:14.5px}
  .part-info{margin-top:12px;padding:0 4px;min-height:96px}
  .info-title{margin-bottom:5px}
  .spec-row{grid-template-columns:1fr;margin-top:36px}
  .spec-row li,.spec-row li+li{padding:14px 0;border-left:0}
  .spec-row li+li{border-top:1px solid var(--line)}
  .section{padding-block:64px}
  .section h2{font-size:clamp(30px,8.6vw,38px)}
  .section-lede{font-size:16.5px;margin-top:16px}
  .method-grid{gap:28px;margin-top:36px}
  .photo-scan img{aspect-ratio:4/3}
  .photo-lab img{aspect-ratio:4/3}
  .people-grid{gap:14px}
  .person strong{font-size:17px}
  .person figcaption span{font-size:13.5px}
  .visit-lists{grid-template-columns:1fr;gap:20px;margin:32px 0 36px}
  .visit-offer{flex-direction:column;align-items:stretch;gap:24px}
  .visit-offer .btn{width:100%}
  .stages{grid-template-columns:1fr;border-top:0;margin-top:36px}
  .stages li,.stages li+li,.stages li:nth-child(3){display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:8px;padding:20px 0;border-left:0;border-top:1px solid var(--line);margin-top:0}
  .stages li:first-child{border-top:1px solid var(--ink)}
  .stage-n{font-size:30px;grid-row:span 2}
  .stages h3{margin:2px 0 6px;font-size:18px}
  /* Native white swipe rail */
  .review-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin-inline:calc(var(--gutter) * -1);padding:4px var(--gutter) 8px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .review-rail::-webkit-scrollbar{display:none}
  .review-rail figure{flex:0 0 86%;scroll-snap-align:start;padding:26px 22px;gap:16px;align-content:start}
  .review-rail blockquote p,.review-light blockquote p{font-size:21px;line-height:1.32}
  .rail-nav{display:flex;justify-content:center;gap:8px;margin-top:14px}
  .rail-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong);transition:background-color .2s,width .2s}
  .rail-dot[data-active]{background:var(--ink);width:22px;border-radius:4px}
  .faq-list summary{font-size:17.5px;padding:20px 40px 20px 0}
  .faq-list details p{padding-right:0;font-size:16px}
  .closing-inner>p{font-size:16.5px}
  .closing-inner .mf-proof-action .btn{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:20px}
  .footer-logo{width:72px;height:72px}
}
@media (max-width:360px){
  .price-row{flex-wrap:wrap;row-gap:4px}
  .part-btn .n{display:none}
}
@media (prefers-reduced-motion:reduce){
  .scene .part,.part-ring,.lbl-t,.view-btn svg,.btn,.btn span,.faq-list summary::after{transition:none!important}
}

/* Stage layout refinement: toggle sits top-right on wider screens so the three
   part buttons get a full row and the stage stays clear of the desktop dock. */
@media (min-width:651px){
  .stage-head{flex-direction:column;gap:2px;padding:6px 200px 0 18px;min-height:52px}
  .stage-controls{grid-template-columns:1fr;padding:0 6px}
  .view-btn{position:absolute;top:18px;right:22px;min-height:44px;padding:8px 16px;font-size:14.5px;background:rgba(255,251,245,.6)}
  .scene-svg{max-width:336px}
  .scene{margin-top:0}
}
@media (min-width:1000px){
  .hero{padding-top:clamp(28px,3vw,48px)}
  .section-head{max-width:880px}
}
@media (max-width:360px){
  .hero-action .btn,.visit-offer .btn,.closing-inner .mf-proof-action .btn{padding-inline:18px;font-size:15.5px;gap:8px}
}



/* USER REVISION 01 (2026-11-01) — bounded visual refinements, no redesign.
   1 Price qualifier block centred optically against the large price (hero and
     dark cost section share .price-row). Copy spacing rebalanced to the shorter stage.
   2 Method photos: equal visible image height on desktop (3:2 scan beside a 15:16
     lab crop, matching the 1.6fr/1fr columns), tops aligned, captions below only;
     stacked 4:3 for both at tablet/mobile widths.
   3 Hero stage about 12-13% shorter: empty top/bottom of the SVG viewBox cropped
     (object proportions unchanged), illustration width capped, label text kept
     at its previous rendered size. Controls/tap targets unchanged. */
.price-row{align-items:center}
.price-note{padding-bottom:2px}
.price{margin-top:30px}
.hero-action{margin-top:30px}
.hero-facts{margin-top:28px}
.scene-svg{overflow:hidden}
.part-info{min-height:72px}
.method-grid{align-items:start}
.photo-scan img{aspect-ratio:3/2;object-position:58% 45%}
.photo-lab img{aspect-ratio:15/16;object-position:70% 45%}
@media (max-width:999px){
  .photo-lab{max-width:none}
  .photo-scan img,.photo-lab img{aspect-ratio:4/3}
}
@media (min-width:651px){
  .stage{padding:18px 20px 18px}
  .stage-head{min-height:48px}
  .view-btn{top:16px}
  .scene-svg{max-width:310px}
  .lbl-t{font-size:19.5px}
  .lbl-n{font-size:12px}
}
@media (max-width:650px){
  .price{margin-top:16px}
  .hero-action{margin-top:16px}
  .scene-svg{max-width:290px}
  .lbl-t{font-size:21.5px}
  .lbl-n{font-size:12px}
  .part-info{min-height:88px}
}
