/*
Theme Name: DTPT Wellness v2
Description: Hand-coded theme for DTPT Wellness, ported from the approved static design.
Version: 2.0
Author: Hadya Mills
Text Domain: dtpt
*/
@import url('assets/fonts/poppins.css');
:root{--wine:#710b1b;--deep:#3f0b15;--cream:#faf7f3;--rose:#eedfdb;--blush:#f5ece8;--ink:#3c2027;--muted:#725f64;--line:#e4d4d0;--sans:'Poppins',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.8 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba7b85;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.3;font-weight:600;letter-spacing:-.025em}h1{font-size:clamp(2.8rem,4.3vw,4.2rem);line-height:1.16}h2{font-size:clamp(2rem,3vw,2.7rem);color:var(--wine);line-height:1.28}h3{font-size:23px}h4{font-size:18px}p+p{margin-top:18px}.wrap{width:min(1240px,92%);margin:auto}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:500;text-transform:uppercase;line-height:1.7;margin-bottom:16px;color:var(--wine)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:90}.skip:focus{top:15px}.header{background:var(--wine);color:var(--cream);position:relative;z-index:30}.topbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 0;border-bottom:1px solid #ffffff26;font-size:12px}.topbar>div{display:flex;gap:28px}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:100px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{height:48px;width:48px;border:1px solid #e9c7cb;border-radius:50%;display:grid;place-items:center;font:36px Georgia,serif}.brand-name{font:27px Georgia,serif}.brand small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.18em;margin-top:3px}.navlinks{display:flex;align-items:center;gap:25px;font-size:14px}.navlinks>a:not(.btn):hover,.topbar a:hover{text-decoration:underline;text-underline-offset:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--wine);color:white;border:1px solid transparent;padding:17px 24px;border-radius:7px;line-height:1.5;font-size:14px;font-weight:500;transition:transform .2s,background .2s;box-shadow:0 12px 30px #35040c12}.btn:hover{transform:translateY(-2px);background:#4b0c17}.btn.light,.header .btn,.hero .btn{background:var(--cream);color:var(--wine)}.btn.light:hover,.header .btn:hover,.hero .btn:hover{background:#ead0ce}.textlink{display:inline-flex;gap:24px;align-items:center;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding:7px 0;color:var(--wine)}.textlink:hover{opacity:.7}.menu-button{display:none;border:1px solid #d7a8b0;border-radius:5px;padding:8px 14px;background:none;color:white}.hero{background:radial-gradient(ellipse at 58% 80%,#a84b57 0%,#861d30 40%,var(--wine) 77%);color:var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;min-height:620px;padding-top:45px;padding-bottom:50px}.hero .eyebrow{color:#ead1d4;font-size:13px}.hero h1{max-width:670px;margin-bottom:25px;letter-spacing:-.045em}.hero h1 span{color:#ecc8ce}.hero p{font-size:16px;max-width:560px;color:#f1dfe2}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:33px}.hero .textlink{color:var(--cream);border:1px solid #e0afb666;border-radius:7px;padding:16px 22px}.hero-small{font-size:11px;margin-top:22px;color:#e7c8ce}.hero-visual{position:relative;height:535px;align-self:end;margin-bottom:-50px}.hero-visual>img{height:100%;width:100%;border-radius:240px 240px 0 0;object-position:center 24%;box-shadow:0 0 70px #3f0b1540}.hero-badge{position:absolute;left:-30px;bottom:38px;background:var(--cream);color:var(--wine);display:flex;align-items:center;gap:14px;padding:17px 24px;border-radius:12px;box-shadow:0 20px 50px #3f0b1530}.hero-badge strong{font-size:16px;display:block}.hero-badge small{font-size:11px;color:var(--muted)}.badge-mark{width:36px;height:36px;background:var(--wine);color:var(--cream);border-radius:50%;display:grid;place-items:center}.info-strip{background:linear-gradient(105deg,#4b0c19,#8c2c3b);color:var(--cream);padding:32px 0}.info-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;align-items:start;gap:28px}.info-grid h2{font-size:25px;line-height:1.5;color:white}.info-grid>div{border-left:1px solid #dba9b039;padding-left:28px}.info-grid h3{font-size:18px;margin:3px 0 9px}.info-grid p,.info-grid a{font-size:12px;color:#efdae0;line-height:1.85}.info-grid a{display:block}.info-grid a:hover{text-decoration:underline}.concerns{padding:65px 0 25px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:32px}.section-head>p{max-width:490px;color:var(--muted);font-size:15px}.concern-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.concern-pills a{border:1px solid var(--line);border-radius:7px;background:white;padding:15px 20px;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:15px;transition:background .2s}.concern-pills a:hover{background:var(--rose);border-color:#c0929b}.services{padding:55px 0 80px}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.care-card{background:radial-gradient(ellipse at 15% 0,#ba7982 0,#8b3544 32%,#710b1b 85%);color:white;padding:34px 25px 25px;border-radius:24px;text-align:center;box-shadow:0 15px 28px #3f0b1522;display:flex;flex-direction:column;align-items:center;transition:transform .25s}.care-card:hover{transform:translateY(-6px)}.care-icon{width:67px;height:67px;display:grid;place-items:center;border-radius:15px;background:#e1a5af26;box-shadow:0 7px 15px #3f0b1525;margin-bottom:18px}.care-icon svg{width:37px;height:37px}.care-card h3{font-size:24px;color:white;margin-bottom:14px}.care-card p{font-size:14px;color:#f4e5e8;max-width:280px}.care-tags{font-size:11px;color:#e5c2ca;display:block;margin:22px 0}.card-action{font-size:13px;border-top:1px solid #e8b2bd40;width:100%;padding-top:16px;display:flex;justify-content:space-between;margin-top:auto}.meet{padding:55px 0 110px}.meet-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.meet-copy>p{font-size:15px;color:var(--muted);margin:22px 0}.meet-copy>h3{font-size:24px;color:var(--wine);margin:25px 0 20px}.trust-item{display:flex;gap:17px;align-items:start;margin-bottom:20px}.trust-item>span{height:39px;width:39px;flex-shrink:0;border-radius:9px;background:var(--wine);color:white;display:grid;place-items:center;font-size:12px}.trust-item h4{font-size:16px;font-weight:500;color:var(--wine);margin-bottom:4px}.trust-item p{color:var(--muted);font-size:13px;line-height:1.7}.photo-stack{position:relative;min-height:605px;padding-left:60px;padding-bottom:60px}.stack-main{width:100%;height:500px;border-radius:20px;object-position:50% 25%;box-shadow:0 16px 40px #3f0b1510}.stack-small{position:absolute;left:-5px;bottom:5px;height:265px;width:310px;border-radius:17px;border:8px solid var(--cream);box-shadow:0 12px 25px #3f0b1518}.photo-caption{font-size:10px;position:absolute;bottom:18px;right:0;writing-mode:vertical-rl;letter-spacing:.08em;color:var(--muted)}.more-care,.learning{background:var(--blush);padding:75px 0 85px}.center-title{text-align:center;margin-bottom:42px}.center-title>p{color:var(--muted);font-size:15px;margin-top:16px}.center-title .eyebrow{margin-bottom:12px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.feature-card{height:350px;position:relative;overflow:hidden;border-radius:24px;box-shadow:0 15px 30px #3f0b1518;background:var(--wine)}.feature-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#3f0b15f5,#3f0b1566 53%,transparent 80%)}.feature-card img{width:100%;height:100%;object-position:50% 30%;transition:transform .5s}.feature-card:hover img{transform:scale(1.035)}.feature-card>div{position:absolute;bottom:28px;left:32px;right:32px;z-index:1;color:white}.feature-card h3{font-size:24px;margin-bottom:9px}.feature-card p{font-size:14px;color:#f3e2e4}.feature-card span{display:block;font-size:12px;margin-top:17px}.reassurance{background:radial-gradient(ellipse at 55% 80%,#a24554,var(--wine) 75%);color:white;padding:75px 0}.reassurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.reassurance h2{color:white}.reassurance .eyebrow{color:#eac4cb}.reassurance p{color:#f0dade;font-size:15px;margin-top:20px}.reassurance .btn{margin-top:26px}.promise-grid>div{border-bottom:1px solid #e8b2bd44;padding:17px 0 23px}.promise-grid h3{font-size:21px}.promise-grid p{font-size:14px;margin-top:9px}.first-visit{background:var(--blush);padding:85px 0}.timeline{max-width:1080px;margin:auto;position:relative}.timeline:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:#dfc6ca;transform:translateX(-50%)}.timeline-item{display:grid;grid-template-columns:1fr 82px 1fr;align-items:center;position:relative;margin-bottom:20px}.timeline-card{background:white;border-radius:15px;padding:29px 35px;box-shadow:0 14px 28px #3f0b1507;text-align:right}.timeline-card h3{font-size:21px;color:var(--wine);margin-bottom:13px}.timeline-card p{font-size:14px;color:var(--muted)}.timeline-dot{z-index:1;background:var(--wine);color:white;border:7px solid var(--blush);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;justify-self:center;font-size:12px}.timeline-label{font-size:16px;color:var(--wine)}.timeline-item:nth-child(even) .timeline-card{grid-column:3;grid-row:1;text-align:left}.timeline-item:nth-child(even) .timeline-dot{grid-column:2;grid-row:1}.timeline-item:nth-child(even) .timeline-label{grid-column:1;grid-row:1;text-align:right}.center-link{text-align:center;margin-top:30px}.practical{padding:90px 0 100px}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.practical p{color:var(--muted);font-size:15px;margin:23px 0}.check-list{list-style:none;padding:0;margin:22px 0}.check-list li{position:relative;padding:7px 0 7px 26px;color:var(--muted);font-size:14px}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--wine);font-weight:700}.check-list strong{color:var(--wine);font-weight:600}.practical-photo{position:relative;padding-bottom:65px}.practical-photo>img{width:100%;height:380px;border-radius:20px}.photo-callout{position:absolute;bottom:0;left:65px;right:-10px;background:var(--wine);color:white;padding:28px;border-radius:13px}.photo-callout h3{font-size:22px}.photo-callout p{color:#f1dfe2;font-size:13px;margin:10px 0 0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.resource-card{background:var(--cream);overflow:hidden;border-radius:17px;box-shadow:0 12px 30px #3f0b1508;transition:transform .2s}.resource-card:hover{transform:translateY(-4px)}.resource-card>img,.video-art{width:100%;height:215px;object-position:center 35%}.resource-card>div:not(.video-art){padding:24px}.resource-card span{font-size:10px;letter-spacing:.12em;color:var(--wine)}.resource-card h3{font-size:21px;margin:11px 0}.resource-card p{font-size:13px;color:var(--muted)}.resource-card b{font-size:12px;font-weight:500;display:block;margin-top:20px;color:var(--wine)}.video-art{position:relative;background:radial-gradient(at top right,#ab6977,var(--wine));color:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:25px}.video-art>span{position:absolute;align-self:end;font-size:65px;color:#f1d8df}.video-art strong{font-size:29px;font-weight:500;line-height:1.3}.video-art small{font-size:10px;margin-top:15px}.faq{padding:80px 0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:15px;font-weight:500;color:var(--wine)}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding:0 25px 24px 0}.inquiry{padding:80px 0;background:radial-gradient(ellipse at 60% 100%,#a95965,var(--wine) 75%);color:white}.inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:start}.inquiry .eyebrow{color:#e8c9cf}.inquiry h2{color:white;font-size:clamp(2.2rem,3.2vw,3.2rem)}.inquiry-grid>div>p{margin:25px 0;color:#efd8dd;font-size:15px}.phone{font-size:20px}.enquiry-form{display:grid;gap:14px}.enquiry-form label{font-size:12px;display:grid;gap:6px}.enquiry-form input,.enquiry-form select{width:100%;min-width:0;background:var(--cream);border:1px solid transparent;padding:13px 16px;border-radius:6px;color:var(--ink);font-size:14px;min-height:52px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-note{font-size:11px;color:#e8d4d9;line-height:1.7}.form-status{font-size:12px;color:white}.form-status:empty{display:none}.footer{background:linear-gradient(110deg,#300c14,#540b1a);color:var(--cream);padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr 1.05fr;gap:42px;padding-bottom:65px}.footer p{font-size:12px;line-height:1.9;color:#d8bdc3;margin:24px 0}.footer .brand-name{font-size:24px}.footer .brand small{font-size:7px}.footer .brand-mark{width:41px;height:41px;font-size:30px}.footer h3{font-size:17px;border-bottom:1px solid #83515c;padding-bottom:19px;margin-bottom:16px}.footer a:not(.brand):not(.btn){display:block;color:#dfc8ce;font-size:12px;margin:10px 0}.footer a:hover{text-decoration:underline}.footer .btn{font-size:12px;padding:12px 18px}.footer-bottom{border-top:1px solid #83515c;display:flex;justify-content:space-between;gap:25px;padding-top:22px;font-size:10px;color:#c8aab2}.subhero{padding:45px 0 65px;background:var(--blush)}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:32px}.subhero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.subhero h1{font-size:clamp(2.5rem,4vw,3.7rem);color:var(--wine);margin:18px 0 25px}.subhero p{font-size:16px;color:var(--muted)}.subhero .btn{margin-top:28px}.subhero img{width:100%;height:450px;border-radius:22px;object-position:50% 25%}.page-section{padding:65px 0;border-top:1px solid var(--line)}.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.content-grid h2{font-size:34px}.content-grid h3{font-size:23px;color:var(--wine);margin-bottom:12px}.content-grid p{color:var(--muted);font-size:15px}.content-grid .textlink{margin-top:22px}.flow-block{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step{padding:30px;background:white;border-radius:15px}.step-number{color:var(--wine);font-size:13px;margin-bottom:18px}.step h3{font-size:23px;color:var(--wine);margin-bottom:16px}.step p{font-size:14px;color:var(--muted)}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-option{padding:32px;background:var(--blush);border-radius:17px}.contact-option h3{margin-bottom:18px;color:var(--wine)}.contact-option p{font-size:14px;color:var(--muted)}.contact-option .btn{margin-top:24px}.quiet{font-size:12px!important}.reveal{transition:opacity .6s,transform .6s}.will-reveal{opacity:0;transform:translateY(18px)}.is-visible{opacity:1;transform:none}::selection{background:#e7bcc4;color:var(--deep)}
@media(max-width:1100px){.navlinks{gap:16px;font-size:12px}.navlinks .btn{padding:13px 17px;font-size:12px}.brand-name{font-size:23px}.hero-grid{gap:40px}.hero-visual{height:485px}.hero h1{font-size:3.25rem}.meet-grid,.practical-grid,.reassurance-grid{gap:50px}.photo-stack{padding-left:35px}.stack-small{width:260px;height:235px}.footer-grid{gap:24px}.footer .brand-name{font-size:20px}}
@media(max-width:850px){.nav{min-height:85px}.menu-button{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--wine);padding:25px 5%;flex-direction:column;align-items:stretch;gap:22px;font-size:16px;box-shadow:0 12px 20px #3f0b1525}.navlinks.open{display:flex}.navlinks .btn{font-size:14px}.topbar{font-size:10px}.topbar>div{gap:16px}.hero-grid{min-height:540px;gap:25px}.hero h1{font-size:2.7rem}.hero p{font-size:14px}.hero-visual{height:440px}.hero-badge{left:-15px;bottom:25px;padding:12px 15px;gap:10px}.hero-badge strong{font-size:14px}.hero-badge small{font-size:9px}.hero-actions{gap:16px}.hero-actions .btn,.hero .textlink{font-size:12px;padding:13px 15px}.info-grid{grid-template-columns:1fr 1fr;gap:25px}.info-grid>div{padding-left:0;border:0}.info-grid h2{font-size:24px}.section-head{gap:25px;align-items:start}.section-head>p{max-width:340px;font-size:13px}.concern-pills{grid-template-columns:repeat(2,1fr)}.care-grid{gap:16px}.care-card{padding:26px 20px 20px;border-radius:18px}.care-card h3{font-size:21px}.care-card p{font-size:12px}.care-tags{font-size:10px}.meet-grid{gap:35px}.photo-stack{min-height:500px;padding-left:20px}.stack-main{height:410px}.stack-small{height:210px;width:250px;bottom:0}.photo-caption{display:none}.meet-copy h2{font-size:29px}.meet-copy>p{font-size:13px}.trust-item p{font-size:12px}.feature-card{height:320px}.feature-card>div{left:25px;right:25px;bottom:25px}.feature-card h3{font-size:21px}.reassurance-grid{gap:35px}.practical-grid{gap:40px}.photo-callout{left:30px;right:0;padding:22px}.resource-grid{gap:16px}.resource-card>div:not(.video-art){padding:19px}.resource-card h3{font-size:19px}.resource-card>img,.video-art{height:180px}.faq-grid{gap:40px}.inquiry-grid{gap:40px}.footer-grid{grid-template-columns:1.1fr 1fr;gap:40px}.subhero-grid{gap:35px}.subhero img{height:390px}.content-grid{gap:40px}.content-grid h2{font-size:30px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:88%}.topbar{padding:10px 0;font-size:10px}.topbar>div a:not(:last-child){display:none}.topbar>div{display:none}.nav{min-height:80px}.brand-name{font-size:25px}.brand small{font-size:7px}.hero-grid{grid-template-columns:1fr;gap:35px;padding-top:32px;padding-bottom:0}.hero h1{font-size:2.9rem;line-height:1.16}.hero p{font-size:15px}.hero .eyebrow{font-size:11px}.hero-actions{gap:14px;margin-top:24px}.hero-actions .btn,.hero .textlink{font-size:12px;padding:14px 16px}.hero-small{font-size:10px}.hero-visual{height:400px;width:90%;justify-self:center;margin:0}.hero-visual>img{border-radius:180px 180px 0 0;object-position:50% 23%}.hero-badge{left:-18px;bottom:25px;padding:14px 18px}.hero-badge strong{font-size:15px}.hero-badge small{font-size:10px}.info-strip{padding:30px 0}.info-grid{gap:25px 20px}.info-grid h2{font-size:20px}.info-grid h3{font-size:15px}.info-grid p,.info-grid a{font-size:11px}.concerns{padding:45px 0 20px}.section-head{flex-direction:column;gap:16px;margin-bottom:26px}.section-head>p{font-size:14px;max-width:100%}.eyebrow{font-size:10px;margin-bottom:12px}.concern-pills{grid-template-columns:1fr;gap:9px}.concern-pills a{font-size:13px;padding:13px 17px}.services{padding:35px 0 50px}.care-grid{grid-template-columns:1fr;gap:22px}.care-card{padding:30px;border-radius:20px}.care-card h3{font-size:25px}.care-card p{font-size:14px;max-width:100%}.care-tags{font-size:11px;margin:17px 0}.care-icon{width:58px;height:58px}.meet{padding:25px 0 65px}.meet-grid{grid-template-columns:1fr;gap:35px}.meet-copy h2{font-size:32px}.meet-copy>p{font-size:15px}.trust-item p{font-size:13px}.photo-stack{padding-left:45px;min-height:520px}.stack-main{height:425px}.stack-small{width:245px;height:205px}.more-care,.learning{padding:55px 0}.center-title{margin-bottom:30px}.center-title>p{font-size:14px}.feature-grid{grid-template-columns:1fr;gap:24px}.feature-card{height:320px}.feature-card p{font-size:13px}.reassurance{padding:55px 0}.reassurance-grid{grid-template-columns:1fr;gap:20px}.promise-grid>div{padding:19px 0}.first-visit{padding:55px 0}.timeline:before{left:22px}.timeline-item,.timeline-item:nth-child(even){grid-template-columns:45px 1fr;gap:14px;margin-bottom:20px}.timeline-card,.timeline-item:nth-child(even) .timeline-card{grid-column:2;grid-row:1;text-align:left;padding:23px}.timeline-dot,.timeline-item:nth-child(even) .timeline-dot{grid-column:1;grid-row:1;width:44px;height:44px;border-width:5px}.timeline-label{display:none}.timeline-card h3{font-size:19px}.timeline-card p{font-size:13px}.practical{padding:60px 0}.practical-grid{grid-template-columns:1fr;gap:40px}.practical-photo>img{height:315px}.photo-callout{left:25px}.resource-grid{grid-template-columns:1fr;gap:25px}.resource-card>img,.video-art{height:225px}.resource-card>div:not(.video-art){padding:24px}.resource-card h3{font-size:23px}.resource-card p{font-size:14px}.faq{padding:55px 0}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-grid h2{font-size:30px}.inquiry{padding:55px 0}.inquiry-grid{grid-template-columns:1fr;gap:30px}.form-row{grid-template-columns:1fr;gap:14px}.inquiry h2{font-size:33px}.footer{padding-top:50px}.footer-grid{gap:35px 25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer h3{font-size:15px}.footer a:not(.brand):not(.btn){font-size:11px}.footer .brand-name{font-size:25px}.footer-bottom{flex-direction:column;gap:12px}.subhero{padding:28px 0 45px}.subhero-grid{grid-template-columns:1fr;gap:30px}.subhero h1{font-size:2.6rem}.subhero img{height:360px}.page-section{padding:45px 0}.content-grid{grid-template-columns:1fr;gap:25px}.steps{grid-template-columns:1fr}.contact-options{grid-template-columns:1fr}.contact-option{padding:26px}.video-art{position:relative}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}
/* Readable clinical copy across screen sizes. */
main p{font-size:1rem!important}
main .form-note,main .form-status,main p.quiet{font-size:.8125rem!important}
.patient-reviews{padding:85px 0;background:var(--cream)}.review-intro{max-width:420px}.review-intro p{color:var(--muted)}.review-intro .textlink{margin-top:12px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{margin:0;padding:28px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 30px #3f0b1508;display:flex;flex-direction:column}.review-quote-mark{font:72px/1 Georgia,serif;color:var(--wine);height:51px}.review-card blockquote{margin:10px 0 28px;font-size:16px;line-height:1.85;color:var(--ink)}.review-card figcaption{margin-top:auto;display:flex;gap:13px;align-items:center;padding-top:20px;border-top:1px solid var(--line)}.review-initial{display:grid;place-items:center;background:var(--blush);border-radius:50%;height:43px;width:43px;color:var(--wine)}.review-card strong{font-size:15px;font-weight:600;display:block;color:var(--wine)}.review-card small{display:block;font-size:12px;color:var(--muted)}main .review-note{font-size:12px!important;color:var(--muted);margin-top:24px}@media(max-width:1100px) and (min-width:851px){.navlinks{gap:12px}.navlinks .btn{padding:12px;font-size:11px}.nav{gap:16px}}@media(max-width:850px){.review-grid{grid-template-columns:1fr}.review-card{padding:28px}.patient-reviews{padding:60px 0}}
.google-rating{display:inline-flex;align-items:center;gap:20px;margin-bottom:18px;padding:17px 23px;border:1px solid var(--line);border-radius:14px;background:white}.google-rating>strong{font-size:40px;line-height:1.2;color:var(--wine);letter-spacing:-.04em}.google-rating>strong>span{font-size:16px;color:var(--muted);font-weight:400;letter-spacing:0}.google-rating b{display:block;font-size:13px;font-weight:500;color:var(--muted)}.overall-stars{position:relative;display:block;font-size:23px;line-height:1.4;letter-spacing:3px;color:#d9ccba}.overall-stars:before{content:'★★★★★'}.overall-stars>span{position:absolute;left:0;top:0;width:98%;overflow:hidden;white-space:nowrap;color:#92610b}.review-stars{color:#92610b;font-size:22px;letter-spacing:3px;line-height:1.6;margin-bottom:12px}
/* Progressive motion: ordinary scrolling remains available throughout. */
html{scroll-padding-top:calc(var(--sticky-nav-height,100px) + 25px)}
.header{position:sticky;top:calc(-1 * var(--topbar-height,52px));transition:box-shadow .25s}
.header.is-scrolled{box-shadow:0 5px 25px #300c1424}
.header.is-scrolled .brand-name{font-size:23px}
.brand-name{transition:font-size .25s}
.care-card.reveal{transition:opacity .6s,transform .35s;transition-delay:var(--reveal-delay,0ms)}
.care-card.is-visible:hover{transform:translateY(-6px);transition-delay:0ms}
.review-controls{display:none}
@media(min-width:851px) and (min-height:650px){
.stack-enabled .timeline{max-width:900px;padding-bottom:20px}
.stack-enabled .timeline:before{display:none}
.stack-enabled .timeline-item{position:sticky;top:calc(var(--sticky-nav-height,100px) + 24px + var(--step-index,0) * 16px);display:block;margin:0 0 90px;padding-left:65px;z-index:var(--step-order,1);opacity:1;transform:none;transition:none}
.stack-enabled .timeline-item:last-child{margin-bottom:0}
.stack-enabled .timeline-card,.stack-enabled .timeline-item:nth-child(even) .timeline-card{text-align:left;padding:38px 42px;min-height:215px;box-shadow:0 14px 30px #3f0b1512;border:1px solid var(--line)}
.stack-enabled .timeline-dot,.stack-enabled .timeline-item:nth-child(even) .timeline-dot{position:absolute;left:0;top:26px}
.stack-enabled .timeline-label{display:none}
}
@media(max-width:850px){
.review-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;position:relative;gap:18px;padding:4px 0 18px;scrollbar-width:thin;scrollbar-color:#ad7480 transparent}
.review-card{scroll-snap-align:start;scroll-snap-stop:always;min-width:0}
.review-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:16px}
.review-controls button{height:44px;width:44px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--wine);font-size:21px}
.review-controls button:disabled{opacity:.35;cursor:default}
.review-controls span{font-size:13px;color:var(--muted)}
}
@media(prefers-reduced-motion:reduce){
.care-card:hover,.care-card.is-visible:hover{transform:none}
.review-grid{scroll-behavior:auto;scroll-snap-type:none}
.stack-enabled .timeline-item{position:relative;top:auto}
}

/* ============================================================
   REVIEWS BAND (carried over from v1, restyled to the v2 tokens)
   Native CSS scroll-snap. Swiping, trackpad, arrow keys and screen
   readers work with no JS; the script only adds the arrows, dashes
   and the tilt. Sits on cream like the static design's reviews so
   the burgundy reassurance band below keeps its contrast.
   ============================================================ */
.patient-reviews .section-head { margin-bottom: 8px; }
.rev { position: relative; }
.rev__track {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 26px 0 30px;
  scroll-padding-inline: 24px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.rev__track::-webkit-scrollbar { display: none; }
.rev__track:focus-visible { outline: 2px solid var(--wine); outline-offset: 6px; border-radius: 20px; }
.rev-card {
  flex: 0 0 clamp(260px, 78vw, 340px);
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 28px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 12px 30px #3f0b1508;
  /* --d is written by JS: distance from the centre of the track, -1 to 1.
     The card being read is the upright, opaque one. */
  transform: rotate(calc(var(--d, 0) * 2.2deg)) translateY(calc(max(var(--d, 0), var(--d, 0) * -1) * 14px));
  opacity: calc(1 - max(var(--d, 0), var(--d, 0) * -1) * 0.45);
  transition: transform .45s ease, opacity .45s ease, box-shadow .45s ease;
}
@media (min-width: 700px) { .rev-card { flex-basis: 340px; } }
.rev-card:hover { box-shadow: 0 18px 40px #3f0b1514; }
.rev-card .stars { display: inline-flex; gap: 3px; }
.rev-card .stars svg { width: 15px; height: 15px; fill: #e0a800; display: block; }
.rev-card .stars .s--off svg { fill: #3f0b1533; }
.rev-card blockquote { margin: 0; font-size: 15px; line-height: 1.75; color: var(--ink); }
.rev-card cite {
  display: flex; flex-direction: column; gap: 2px;
  font-style: normal; font-weight: 500; font-size: 14px; color: var(--ink);
}
.rev-card cite span {
  font-weight: 400; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}
.rev__controls { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 6px; }
.rev__arrow {
  height: 44px; width: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: white;
  color: var(--wine);
  cursor: pointer;
  transition: background .25s, color .25s, border-color .25s, opacity .25s;
}
.rev__arrow svg { width: 18px; height: 18px; }
.rev__arrow:hover { background: var(--wine); border-color: var(--wine); color: white; }
.rev__arrow[disabled] { opacity: .35; cursor: default; }
.rev__arrow[disabled]:hover { background: white; color: var(--wine); border-color: var(--line); }
.rev__dots { display: flex; align-items: center; gap: 8px; }
.rev-dot { width: 22px; height: 2px; padding: 10px 0; background: none; border: 0; cursor: pointer; position: relative; }
.rev-dot::after { content: ""; position: absolute; inset: 50% 0 auto 0; height: 2px; background: var(--line); transition: background .3s, transform .3s; }
.rev-dot[aria-selected="true"]::after { background: var(--wine); transform: scaleX(1.25); }
.patient-reviews .review-note { margin-top: 26px; }
@media (prefers-reduced-motion: reduce) {
  .rev__track { scroll-behavior: auto; }
  .rev-card { transform: none !important; opacity: 1 !important; }
}


/* ---- Explainer figures inside content-grid sections (Sep 2026) ----
   Anatomy and technique images that sit with the copy that explains them.
   Global img rule already sets object-fit:cover, so the fixed height crops
   rather than squashing. ---- */
.content-figure{margin:28px 0 0}
.content-figure img{width:100%;height:300px;border-radius:14px;object-position:center 50%}
.content-figure figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:11px}
@media(max-width:860px){.content-figure img{height:215px}}

.content-figure svg{width:100%;height:auto;display:block}
.content-figure--diagram{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:22px 20px 16px}
.content-figure--diagram figcaption{margin-top:16px}

/* ============================================================
   Sep 2026 review pass
   ============================================================ */

/* 1. SHOW THE WHOLE PHOTO.
   These carried fixed pixel heights with object-fit:cover, so a
   portrait image lost its top and bottom, and lost MORE of it on a
   narrow screen where the box stayed the same height but the column
   got thinner. Natural aspect ratio instead: the frame follows the
   picture rather than cutting it. Appended last so it beats the
   earlier media-query heights. */
.subhero img{width:100%;height:auto;border-radius:22px;object-fit:contain}
.content-figure img{width:100%;height:auto;object-fit:contain}

/* 2. SYMPTOM PANEL.
   Was a 3-up grid of bordered link boxes, which read as a button farm
   and set twelve competing click targets against the one CTA that
   matters. Now a quiet checklist inside a single panel: scannable,
   nothing to click, and one consultation button underneath it. */
.symptom-panel{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,3vw,40px)}
.symptom-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,3vw,48px)}
.symptom-list li{position:relative;padding:13px 0 13px 28px;font-size:15px;line-height:1.55;color:var(--ink);border-bottom:1px solid var(--line);transition:opacity .5s ease,transform .5s ease;transition-delay:var(--reveal-delay,0ms)}
.symptom-list li:before{content:'';position:absolute;left:4px;top:21px;width:7px;height:7px;border-radius:50%;background:var(--wine);opacity:.5}
.symptom-list li.will-reveal{opacity:0;transform:translateY(12px)}
.symptom-list li.will-reveal.is-visible{opacity:1;transform:none}
.symptom-panel__foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.symptom-panel__foot p{margin:0;font-size:14px;line-height:1.7;color:var(--muted);max-width:42ch}
@media(max-width:760px){.symptom-list{grid-template-columns:1fr}.symptom-list li{font-size:14px;padding:11px 0 11px 26px}.symptom-list li:before{top:19px}}

/* 3. The one moment of motion on the diagram: the backed-up fluid
   draws itself in, so the reader sees the failure happen rather than
   reading a static picture of it. Default state is fully drawn, so a
   script failure leaves the diagram complete. */
.content-figure--diagram path[marker-end]{stroke-dasharray:300;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s ease .35s}
.content-figure--diagram.will-reveal path[marker-end]{stroke-dashoffset:300}
.content-figure--diagram.will-reveal.is-visible path[marker-end]{stroke-dashoffset:0}

/* 4. Consultation CTA block. */
.consult-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.consult-points li{position:relative;padding-left:26px;font-size:14px;line-height:1.65;color:#f0dade}
.consult-points li:before{content:'';position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:#e6b4bb}
@media(prefers-reduced-motion:reduce){.symptom-list li,.content-figure--diagram path[marker-end]{transition:none!important}}
.contact-options:has(> .contact-option:only-child){grid-template-columns:1fr}

/* Booking panel (Calendly inline). */
.book-panel{background:var(--cream);color:var(--ink);border-radius:17px;min-height:700px;overflow:hidden;display:grid;align-content:center;justify-items:center;gap:22px;padding:32px;text-align:center}
.book-panel p{font-size:15px;color:var(--muted);max-width:30ch;margin:0}
.book-panel.is-live{display:block;padding:0;height:700px}
.book-panel.is-live>div,.book-panel iframe{width:100%;height:100%;border:0}
[data-book][aria-busy="true"]{cursor:progress;opacity:.85}