/*
Theme Name: Dolce Estetica
Author: Code201
Description: Responsive Dolce Estetica theme based on the approved Figma website design. Homepage, About Dolce, Blog, individual articles, Our Clinics, concern search and shared interactions.
Version: 0.8.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: dolce-estetica
*/
:root{--paper:#fcfaf4;--cream:#fcf9de;--ink:#1c2716;--muted:#65705e;--sage:#f3eedc;--line:#e7e3d8;--gutter:80px;--section:64px;--body:'Poppins',sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/25px var(--body)}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button:hover{opacity:.86}h1,h2,h3,p,blockquote{margin:0}h1,h2{font:500 40px/46px var(--serif);letter-spacing:-.5px}h3{font:600 24px/32px var(--serif);letter-spacing:-.5px}img{display:block}button img{pointer-events:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #8d6d31;outline-offset:5px}[hidden]{display:none!important}.shell{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.section{padding-top:var(--section);padding-bottom:var(--section)}.eyebrow{font:500 12px/18px var(--body);letter-spacing:2px;color:var(--muted)}.muted{color:var(--muted)}.screen-reader-text,.honey{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;z-index:1000;background:var(--cream);padding:12px;top:-100px;left:24px}.skip-link:focus{top:16px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:0 24px;min-height:48px;background:var(--ink);color:var(--cream);border-radius:999px;font:500 14px/20px var(--body);text-align:left;white-space:nowrap;max-width:100%}.button:hover{text-decoration:none;background:#34422c;opacity:1}.button span{font-weight:400;font-size:16px}.button.secondary{border:1.2px solid var(--muted);color:var(--ink);background:var(--paper);justify-content:center}.text-link{display:flex;align-items:center;min-height:44px;font:500 14px/20px var(--body)}.icon-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.circle{width:40px;height:40px;border:1px solid var(--muted);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:28px;flex-shrink:0}
.utility{background:var(--cream)}.utility-inner{height:44px;display:flex;align-items:center;gap:24px;font-size:12px;line-height:20px}.hours,.phone{display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px}.phone{position:relative;padding-left:24px}.phone:before{content:'';position:absolute;left:0;width:1px;height:16px;background:var(--line)}.social{margin-left:auto;display:flex}.social a{display:flex;width:44px;height:44px;align-items:center;justify-content:center}.navigation{height:96px;display:flex;align-items:center;gap:24px}.brand{display:block;width:196px;height:60.308px;flex:none}.brand-mask{display:block;width:100%;height:100%;background:var(--ink);mask:url('assets/images/69-554-EvergreenInk.png') center/contain no-repeat}.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;line-height:22px}.desktop-nav a,.desktop-nav button{display:flex;align-items:center;min-height:44px;white-space:nowrap}.compact-nav{display:none}
.hero{position:relative;min-height:580px;overflow:hidden}.hero-slide{min-height:470px}.hero-photo{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-inner{position:relative;padding-top:68px}.hero-copy{position:relative;width:590px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}.hero-label{letter-spacing:3.4px}.hero-title{font:500 64px/68px var(--body);letter-spacing:-2px;width:580px}.hero-title>span{display:block;font:400 60px/68px 'Libre Baskerville',Georgia,serif}.hero-description{font-size:22px;line-height:32px;color:var(--muted);max-width:560px}.hero-actions{display:flex;gap:20px}.hero-actions .button{height:56px;font-size:16px;padding:0 28px;width:288px;justify-content:center;gap:20px}.hero-actions .secondary{width:212px}.hero-controls{display:flex;align-items:center;gap:24px;position:relative;margin-top:47px;padding-bottom:24px}.hero-count{font-size:14px;line-height:22px;width:70px;color:var(--muted)}.hero-dots{display:flex;width:112px}.hero-dots button{width:28px;height:44px;display:flex;align-items:center;justify-content:center}.hero-dots span{width:7px;height:7px;border:1px solid var(--ink);border-radius:50%}.hero-dots [aria-pressed=true] span{background:var(--ink)}.alternative{background:var(--cream);position:relative}.alternative-photo{position:absolute;right:0;top:0;width:50%;height:100%;object-fit:cover}.alternative .hero-copy{z-index:1;max-width:45%;padding-bottom:36px}.alternative h2{font-size:52px;line-height:58px}.is-alternative{background:var(--cream)}
.care-categories{display:flex;align-items:flex-start;gap:40px;padding-top:32px;padding-bottom:32px}.care-categories h2{font:400 36px/46px 'DM Serif Display',Georgia,serif;width:300px;flex-shrink:0;letter-spacing:-.5px}.category-links{display:flex;gap:24px;flex:1;min-width:0}.category-links button{display:flex;flex-direction:column;align-items:center;gap:10px;width:150px;flex-shrink:1;font:400 12px/22px var(--body)}.icon-disc{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sage)}
.treatments{display:flex;flex-direction:column;gap:40px}.section-intro{display:grid;grid-template-columns:480fr 720fr;gap:80px}.section-intro p+p{margin-top:16px}.treatment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.treatment-card{display:flex;flex-direction:column;text-align:left;min-width:0}.treatment-card:hover{opacity:1}.treatment-card:hover .card-title{text-decoration:underline;text-underline-offset:4px}.treatment-photo{height:210px;width:100%;object-fit:cover;border-radius:2px}.card-copy{display:flex;flex-direction:column;gap:12px;min-height:156px;padding-top:20px;width:100%}.card-title{display:flex;justify-content:space-between;gap:8px;font:500 17px/26px var(--body);letter-spacing:-.3px}.card-title>span{font:400 16px/25px var(--body);width:20px;flex-shrink:0}.card-description{font-size:14px;line-height:23px;color:var(--muted)}.treatment-directory{align-self:center;width:244px;justify-content:center;gap:20px;font-size:16px}
.why-dolce{background:var(--ink);color:var(--paper)}.why-dolce .section{display:flex;flex-direction:column;gap:32px}.clinic-story{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:40px;row-gap:20px}.clinic-heading .eyebrow{color:var(--cream);margin-bottom:20px}.clinic-film{grid-column:2;grid-row:1/3;position:relative;min-height:320px}.clinic-film>img{height:320px;width:100%;object-fit:cover;border-radius:6px}.play-film{position:absolute;bottom:16px;left:16px;width:48px;height:48px;background:var(--paper);color:var(--ink);border:0;font-size:16px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.principle{display:flex;align-items:flex-start;gap:16px}.principle>img{flex:none;margin:5px}.principle h3{font:500 14px/20px var(--body);letter-spacing:0;margin-bottom:8px}.principle p{font-size:14px;line-height:22px}
.specialists{display:flex;flex-direction:column;gap:24px}.specialist-feature{display:grid;grid-template-columns:490fr 742fr;gap:48px}.specialist-copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.specialist-copy .button{width:244px}.specialist-photo{width:100%;height:340px;object-fit:cover;border-radius:6px}.feedback-results{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feedback,.results{padding:32px;min-width:0;display:flex;flex-direction:column;gap:16px}.results{background:var(--sage)}.reviews{min-width:0;width:100%}.review-viewport{overflow:hidden;width:100%}.review-track{display:flex;transition:transform 350ms ease-out;align-items:stretch}.review{flex:0 0 100%;min-width:0;border:1px solid var(--line);padding:24px;background:#fff;display:flex;flex-direction:column;gap:16px}.review-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-top>span{font:500 12px/18px var(--body);color:var(--muted);white-space:nowrap}.review blockquote{min-height:75px;font:400 16px/25px var(--body)}.review-person{display:flex;gap:12px;align-items:center;min-height:44px}.review-person strong{display:block;font:500 14px/20px var(--body)}.review-person small{display:block;font:400 13px/22px var(--body);color:var(--muted)}.initials{width:36px;height:36px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font:500 12px/18px var(--body);flex:none}.review-controls{display:flex;align-items:center;justify-content:space-between;height:44px;margin-top:16px}.review-dots{display:flex}.review-dots button{height:44px;width:44px;display:flex;justify-content:center;align-items:center}.review-dots span{width:6px;height:6px;border-radius:3px;background:var(--line)}.review-dots [aria-pressed=true] span{width:24px;background:var(--ink)}.results-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-placeholder{height:140px;display:flex;align-items:center;background:var(--paper);padding:12px;font-size:14px;line-height:22px;color:var(--muted)}.results-pair p{font-size:14px;line-height:22px;margin-top:10px}.results>p.muted{font-size:14px;line-height:22px}
.instagram{display:flex;flex-direction:column;gap:24px}.instagram-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.instagram-heading .eyebrow{margin-bottom:8px}.instagram-heading .text-link{width:344px}.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.instagram-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px}.instagram-tile img{position:absolute;width:428.35%;height:221.04%;max-width:none;left:var(--crop-left);top:-26.52%}.faq{display:grid;grid-template-columns:420fr 796fr;gap:64px}.faq .eyebrow{margin-bottom:12px}.faq-items details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font:500 15px/24px var(--body)}.faq summary span{width:28px;flex:none;font:400 16px/25px var(--body)}.faq details[open] summary span{font-size:0}.faq details[open] summary span:after{content:'−';font-size:16px}.faq-answer{padding:0 44px 20px 0;color:var(--muted);font-size:14px;line-height:23px}.invitation{padding-bottom:64px}.invitation>div{padding:32px;border-radius:8px;background:var(--sage);display:flex;justify-content:space-between;gap:24px}.invitation h3{font:500 14px/20px var(--body);letter-spacing:0;margin-bottom:8px}.invitation p{font-size:14px;line-height:22px;color:var(--muted)}.invitation .button{width:244px;flex:none}
.site-footer{background:var(--ink);color:var(--cream);padding:64px 0;font-size:14px;line-height:22px}.site-footer>.shell{display:grid;grid-template-columns:380fr 852fr;gap:32px 48px}.footer-treatments{grid-column:1/-1;grid-row:1;border-bottom:1px solid var(--muted);padding-bottom:32px}.footer-treatments>summary{color:var(--cream);text-transform:uppercase;margin-bottom:32px}.site-footer summary>span{display:none}.footer-treatment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}.footer-group>summary{font-weight:500;line-height:20px;margin-bottom:16px}.footer-group>div{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.footer-treatment-grid .footer-group>div{gap:12px;font-size:13px}.footer-group button{text-align:left}.footer-brand{display:flex;flex-direction:column;gap:20px}.footer-brand img{width:180px;height:50px;object-fit:cover}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}.footer-legal{display:flex;gap:24px;grid-column:1/-1;border-top:1px solid var(--muted);padding-top:32px}.footer-legal p{flex:1}.footer-legal a:last-child{min-width:212px}.footer-legal a:nth-child(2){min-width:140px}
.dialog-open{overflow:hidden}dialog{border:0;color:var(--ink);background:var(--paper);padding:40px;max-height:calc(100dvh - 48px);width:640px;max-width:calc(100% - 48px);overflow:auto}dialog::backdrop{background:rgb(15 23 12 / .58)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.dialog-top>button{height:44px;min-width:44px;font:400 32px/32px var(--serif);margin-top:-10px;margin-right:-10px}.dialog-top .eyebrow{margin-bottom:12px}.consultation-dialog h2{margin-bottom:16px}.consultation-dialog form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field>span{font:500 12px/18px var(--body);letter-spacing:2px;color:var(--muted)}input:not([type=checkbox]),select{width:100%;min-height:51px;padding:12px 16px;background:white;border:1px solid var(--line);border-radius:0;color:var(--ink);font-size:16px;line-height:25px}input::placeholder{color:var(--muted)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:22px;color:var(--muted)}.consent input{width:18px;height:18px;flex:none;accent-color:var(--ink)}.consent a{text-decoration:underline}.form-note{font-size:13px;line-height:22px}.consultation-dialog .button{align-self:flex-start;min-height:56px}.form-error{padding:12px;background:#fbe9e2;color:#8d2820;font-size:14px;line-height:22px}.form-success{display:flex;flex-direction:column;gap:20px;outline:0}.form-success h2{margin:0}.services-dialog{width:1280px}.service-groups{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.service-group>summary{font:600 24px/32px var(--serif);margin-bottom:8px}.service-group>summary>span{display:none}.service-group>div{display:flex;flex-direction:column;gap:8px}.service-group:first-child>div{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(11,44px);grid-auto-flow:column;gap:8px 24px}.service-group :is(button,a){min-height:44px;text-align:left;font:400 13px/22px var(--body)}.service-bottom{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:24px}.service-group:nth-child(4){grid-column:3}.service-group:nth-child(5){grid-column:4;grid-row:1}.service-group:nth-child(3){grid-column:3;grid-row:1}.service-group:nth-child(4){margin-top:208px;grid-row:1;align-self:start}.navigation-dialog{background:var(--ink);color:var(--cream);width:390px}.navigation-dialog .dialog-top img{width:208px;height:64px;object-fit:cover}.navigation-dialog nav{display:flex;flex-direction:column;margin-bottom:24px}.navigation-dialog nav a,.navigation-dialog nav button{display:flex;justify-content:space-between;text-align:left;align-items:center;border-bottom:1px solid var(--muted);min-height:65px;font:600 24px/32px var(--serif)}.navigation-dialog .button{background:var(--cream);color:var(--ink)}.film-dialog{width:900px}.film-dialog>img,.film-dialog video{width:100%;max-height:60vh;object-fit:cover}.film-dialog>p{margin:20px 0}.prose{min-height:60vh}.prose h1{font-size:52px;line-height:58px;margin-bottom:32px}.prose p{margin-bottom:20px}.prose img{max-width:100%;height:auto}
@media(min-width:600px) and (max-width:1023px){:root{--gutter:40px;--section:48px}.navigation{height:76px;padding-left:24px;padding-right:24px}.brand{width:152px;height:46.769px}.desktop-nav{display:none}.compact-nav{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12px}.utility-inner{padding-left:24px;padding-right:24px;gap:12px}.phone{padding-left:12px}.hero{min-height:560px}.hero-slide{min-height:0}.hero-inner{padding-top:48px}.hero-copy{width:340px}.hero-title{width:330px;font-size:48px;line-height:53px}.hero-title>span{font-size:43px;line-height:53px}.hero-label{font-size:10px;letter-spacing:2.6px}.hero-description{font-size:18px;line-height:28px;max-width:315px}.hero-actions{flex-direction:column;gap:12px}.hero-actions .button{width:240px;height:50px;font-size:14px}.hero-actions .secondary{width:240px;height:50px}.hero-controls{margin-top:44px}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,250,244,.9),rgba(252,250,244,.8) 30%,transparent 53%)}.alternative .hero-copy{max-width:52%;width:auto}.alternative h2{font-size:40px;line-height:46px}.care-categories{flex-direction:column;gap:24px}.category-links{width:100%;justify-content:space-between;gap:16px}.care-categories h2{width:100%;font-size:28px;line-height:36px}.compact-nav .icon-button{font-size:24px}.section-intro{grid-template-columns:1fr;gap:20px}.treatments{gap:32px}.treatment-grid{grid-template-columns:repeat(2,1fr);gap:24px}.clinic-story{column-gap:32px;grid-template-columns:1fr 1fr}.clinic-film{height:320px}.principles{gap:32px}.specialist-feature{grid-template-columns:280fr 376fr;gap:32px}.specialist-photo{height:340px}.feedback,.results{padding:24px}.review{padding:20px}.review blockquote{min-height:150px}.review-top>span{font-size:10px}.review-person strong{font-size:13px}.review-dots button{width:32px}.results-pair{grid-template-columns:1fr}.instagram-grid{grid-template-columns:repeat(2,1fr)}.instagram-heading .text-link{width:190px}.faq{grid-template-columns:1fr;gap:24px}.invitation{padding-bottom:48px}.invitation>div{flex-direction:column}.site-footer{padding:48px 0}.site-footer>.shell{grid-template-columns:1fr;gap:24px}.footer-brand{max-width:100%;grid-row:1}.footer-treatments{grid-row:2;border:0;padding:0}.footer-treatments>summary{margin:0;padding:16px 0;border-bottom:1px solid var(--muted);font-size:15px;line-height:24px;letter-spacing:0;text-transform:none}.footer-treatment-grid,.footer-links{display:block}.footer-group>summary{display:flex;justify-content:space-between;min-height:56px;padding:16px 0;margin:0;border-bottom:1px solid var(--muted);font-size:15px;line-height:24px}.site-footer summary>span{display:inline-block;margin-left:auto}.footer-group>div{padding:16px 0}.footer-group>div a,.footer-group>div button{min-height:44px;display:flex;align-items:center}.footer-legal{flex-wrap:wrap;gap:24px}.footer-legal p{flex:0 0 100%}.service-groups{display:block}.service-group{margin:0!important}.service-group>summary{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.service-group>summary>span{display:block}.service-group:first-child>div{display:flex}.service-group>div{gap:16px;padding:16px 0}}
@media(max-width:599px){:root{--gutter:24px;--section:32px}h1,h2{font:400 25px/32px 'Libre Baskerville',Georgia,serif;letter-spacing:-.6px}h3{font:400 21px/28px 'Libre Baskerville',Georgia,serif;letter-spacing:-.4px}.eyebrow{font-size:9px;line-height:14px;letter-spacing:1.8px}.utility{background:var(--paper)}.utility-inner{height:69px;display:grid;grid-template-columns:1fr 88px;grid-template-rows:44px 21px;gap:0;position:relative;padding-bottom:4px}.utility-inner:after{content:'';position:absolute;bottom:0;height:1px;background:var(--line);left:24px;right:24px}.phone{grid-row:1;grid-column:1;padding:0;font-size:12px}.phone:before{display:none}.hours{grid-row:2;grid-column:1/-1;min-height:18px;font-size:11px;line-height:18px;color:var(--muted);gap:6px}.hours img{display:none}.social{grid-column:2;grid-row:1}.social img{transform:scale(.875)}.navigation{height:72px;gap:8px}.brand{width:120px;height:36.923px}.desktop-nav{display:none}.compact-nav{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:11px}.compact-nav>a{min-height:44px;display:flex;align-items:center}.compact-nav .icon-button{font-size:24px}.hero{min-height:454px}.hero-slide{min-height:352px}.hero-inner{padding-top:28px}.hero-copy{width:224px;gap:12px}.hero-label{font-size:8px;line-height:14px;letter-spacing:1.2px}.hero-title{width:224px;font:500 32px/36px var(--body);letter-spacing:-1px}.hero-title>span{font-size:30px;line-height:36px}.hero-description{font-size:14px;line-height:22px;color:var(--ink);width:182px}.hero-actions{flex-direction:column;gap:8px;width:222px}.hero-actions .button{width:222px;height:48px;min-height:48px;font-size:13px;line-height:20px;padding:0 18px;justify-content:space-between}.hero-actions .secondary{width:222px;height:44px;min-height:44px;font-size:12px;justify-content:center;background:transparent}.hero-controls{margin-top:34px;gap:0;justify-content:space-between;padding-bottom:24px}.hero-count{width:64px;font-size:12px}.hero-dots{width:110px}.circle{width:44px;height:44px;background:var(--paper);color:var(--ink)}.alternative .hero-inner{padding-top:28px}.alternative .hero-copy{width:224px;max-width:65%;gap:16px;padding-bottom:0}.alternative-photo{width:52%;opacity:.8}.alternative h2{font-size:25px;line-height:32px}.alternative .hero-copy>p:not(.eyebrow){font-size:14px;line-height:22px}.alternative .button{font-size:12px;padding:0 16px;gap:12px;white-space:normal}.care-categories{padding-top:24px;padding-bottom:24px;flex-direction:column;gap:16px}.care-categories h2{font:400 21px/28px 'Libre Baskerville',Georgia,serif;letter-spacing:-.6px;width:100%}.care-categories h2 br{display:none}.care-categories h2 br:after{content:' '}.category-links{width:100%;gap:0;justify-content:space-between}.category-links button{width:auto;flex:1;gap:6px;min-height:88px;font-size:11px;line-height:16px}.category-links button:last-child{flex:1.3}.icon-disc{width:48px;height:48px;background:var(--cream)}.icon-disc img{transform:scale(.7272727)}.treatments{gap:24px}.section-intro{display:flex;flex-direction:column;gap:16px}.section-intro h2{max-width:none;font-size:26px;line-height:33px}.section-intro .muted{font-size:16px;line-height:25px}.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.treatment-card{border:1px solid var(--line);border-radius:4px;overflow:hidden}.treatment-photo{height:148px;min-height:148px}.card-copy{padding:12px;min-height:168px;gap:8px}.card-title{font-size:13px;line-height:19px;letter-spacing:-.2px;min-height:38px;gap:4px}.card-title>span{font-size:14px;width:16px}.card-description{font-size:12px;line-height:19px}.treatment-directory{width:100%;font-size:16px;line-height:24px}.why-dolce .section{padding:0 0 32px;gap:24px}.clinic-story{display:grid;grid-template-columns:1fr;grid-template-rows:250px auto;row-gap:24px;position:relative}.clinic-film{grid-row:1;grid-column:1;min-height:250px;z-index:0}.clinic-film>img{height:250px;border-radius:0}.clinic-film:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(28,39,22,.1) 25%,rgba(28,39,22,.93));pointer-events:none}.play-film{top:20px;right:24px;left:auto;bottom:auto;z-index:2;width:44px;height:44px}.clinic-heading{grid-row:1;grid-column:1;z-index:1;align-self:end;padding:0 24px 30px;pointer-events:none}.clinic-heading .eyebrow{margin-bottom:10px;font-size:8.5px}.clinic-heading h2{font-size:25px;line-height:32px}.clinic-copy{grid-row:2;grid-column:1;padding:0 24px;font-size:14px;line-height:23px}.principles{grid-template-columns:1fr;gap:16px;padding:0 24px}.principle h3{line-height:22px}.principle p{font-size:13px;line-height:21px}.specialists{gap:32px}.specialist-feature{display:flex;flex-direction:column;gap:20px}.specialist-photo{order:-1;height:216px;border-radius:4px}.specialist-copy{gap:14px}.specialist-copy h2{font-size:26px;line-height:33px}.specialist-copy>p{font-size:13px;line-height:22px}.specialist-copy .button{width:244px;max-width:100%;min-height:44px;font-size:14px}.feedback-results{display:flex;flex-direction:column;gap:28px}.feedback{padding:24px 0 0;gap:16px}.feedback>p:not(.eyebrow){font-size:13px;line-height:21px}.feedback h3{font-size:23px;line-height:30px;letter-spacing:-.6px}.review{padding:20px;gap:16px}.review blockquote{font-size:16px;line-height:25px;min-height:100px}.review-person strong{font-size:14px;line-height:20px}.review-person small{font-size:13px;line-height:22px}.review-top>span{font-size:12px;line-height:18px}.results{padding:0;background:none;gap:10px}.results h3{font-size:23px;line-height:30px;letter-spacing:-.6px;max-width:none}.result-placeholder{height:112px;background:var(--sage);border-radius:4px;font-size:11px;line-height:18px}.results-pair p{font-size:12px;line-height:19px}.results>p.muted{font-size:12px;line-height:19px}.instagram{gap:16px}.instagram-heading{flex-direction:column;gap:4px}.instagram-heading .eyebrow{margin-bottom:8px}.instagram-heading h2{font-size:24px;line-height:32px}.instagram-heading .text-link{width:auto;font-size:13px;line-height:20px;min-height:44px}.instagram-grid{grid-template-columns:repeat(2,1fr);gap:12px}.faq{display:flex;flex-direction:column;gap:20px;padding-bottom:28px}.faq h2{font-size:26px;line-height:33px}.feedback .eyebrow,.results .eyebrow,.instagram .eyebrow,.faq .eyebrow{font-size:12px;line-height:18px;letter-spacing:2px}.faq summary{font-size:15px;line-height:24px;padding:20px 0;gap:16px}.faq-answer{font-size:13px;line-height:22px}.invitation{padding-bottom:32px}.invitation>div{padding:24px 20px;flex-direction:column;gap:18px;border-radius:4px}.invitation h3{font:400 22px/29px 'Libre Baskerville',Georgia,serif;letter-spacing:-.6px;margin-bottom:10px}.invitation p{font-size:13px;line-height:21px}.invitation .button{width:100%;font-size:14px;line-height:20px;gap:12px;min-height:44px}.site-footer{padding:32px 0 24px;font-size:12px;line-height:20px}.site-footer>.shell{display:flex;flex-direction:column;gap:24px}.footer-brand{order:0;gap:16px}.footer-brand img{width:180px;height:50px}.footer-brand>p{font-size:12px;line-height:20px}.footer-treatments{order:1;padding:0;border:0}.footer-treatments>summary{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--muted);margin:0;font:500 12px/18px var(--body);letter-spacing:1.5px;text-transform:uppercase;min-height:56px}.footer-treatment-grid{display:block}.site-footer summary>span{display:inline-block}.site-footer details[open]>summary>span{font-size:0}.site-footer details[open]>summary>span:after{content:'−';font-size:16px}.footer-group>summary{display:flex;justify-content:space-between;min-height:56px;padding:16px 0;margin:0;border-bottom:1px solid var(--muted);font-size:15px;line-height:24px}.footer-group>div{padding:16px 0;gap:0}.footer-group>div a,.footer-group>div button{min-height:44px;display:flex;align-items:center;font-size:13px;line-height:22px}.footer-links{display:block;order:2;margin-top:-24px}.footer-legal{order:3;flex-wrap:wrap;justify-content:space-between;gap:12px 16px;padding-top:24px;font-size:11px;line-height:18px}.footer-legal p{flex:0 0 100%;margin-bottom:4px}.footer-legal a:last-child,.footer-legal a:nth-child(2){min-width:0}
dialog{max-width:100%;max-height:100dvh;width:100%;padding:24px;margin:0;top:auto;bottom:0}.dialog-top>button{margin:0;margin-top:-8px}.dialog-top .eyebrow{font-size:12px;line-height:18px}.consultation-dialog{max-height:95dvh;border-radius:12px 12px 0 0}.consultation-dialog h2{font:500 36px/42px var(--serif)}.consultation-dialog .muted{font-size:14px;line-height:23px}.consultation-dialog .form-note{font-size:13px;line-height:22px}.navigation-dialog{top:0;bottom:auto;min-height:100dvh}.navigation-dialog .dialog-top{margin-bottom:16px}.navigation-dialog nav a,.navigation-dialog nav button{font:600 24px/32px var(--serif)}.navigation-dialog .dialog-top img{width:208px;height:64px}.services-dialog{top:0;bottom:auto;min-height:100dvh}.services-dialog h2{font:500 32px/38px var(--serif)}.service-groups{display:block}.service-group{margin:0!important}.service-group>summary{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font:600 24px/32px var(--serif)}.service-group>summary>span{display:block}.service-group:first-child>div{display:flex}.service-group>div{gap:16px;padding:16px 0}.service-group :is(button,a){font-size:13px;line-height:22px}.film-dialog{top:0;bottom:auto}.film-dialog h2{font-size:24px;line-height:32px}.film-dialog>img{min-height:200px}.prose h1{font-size:32px;line-height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Figma entrance keyframes; production handoff specifies one play. */
@media (min-width:600px) and (prefers-reduced-motion:no-preference){.hero-photo{animation: kf_118_3666_scale_0 2s linear; animation-iteration-count: 1; animation-fill-mode:both;}@keyframes kf_118_3666_scale_0 { 0% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); scale: 1.025 1.025; } 70% { scale: 1 1; } 100% { scale: 1 1; } }.hero-label{animation: kf_118_3669_opacity_0 2s linear, kf_118_3669_translate_0 2s linear; animation-iteration-count: 1; animation-fill-mode:both;}@keyframes kf_118_3669_opacity_0 { 0% { opacity: 0; } 2% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 32% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3669_translate_0 { 0% { translate: 0px 18px; } 2% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 18px; } 32% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-title{animation: kf_118_3670_opacity_0 2s linear, kf_118_3670_translate_0 2s linear; animation-iteration-count: 1; animation-fill-mode:both;}@keyframes kf_118_3670_opacity_0 { 0% { opacity: 0; } 6% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 36% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3670_translate_0 { 0% { translate: 0px 18px; } 6% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 18px; } 36% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-description{animation: kf_118_3671_opacity_0 2s linear, kf_118_3671_translate_0 2s linear; animation-iteration-count: 1; animation-fill-mode:both;}@keyframes kf_118_3671_opacity_0 { 0% { opacity: 0; } 12% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 42% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3671_translate_0 { 0% { translate: 0px 18px; } 12% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 18px; } 42% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-actions{animation: kf_118_3672_opacity_0 2s linear, kf_118_3672_translate_0 2s linear; animation-iteration-count: 1; animation-fill-mode:both;}@keyframes kf_118_3672_opacity_0 { 0% { opacity: 0; } 18% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 48% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3672_translate_0 { 0% { translate: 0px 18px; } 18% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 18px; } 48% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-controls{animation: kf_118_3679_opacity_0 2s linear, kf_118_3679_translate_0 2s linear; animation-iteration-count: 1; animation-fill-mode:both;}@keyframes kf_118_3679_opacity_0 { 0% { opacity: 0; } 24% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 54% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3679_translate_0 { 0% { translate: 0px 18px; } 24% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 18px; } 54% { translate: 0px 0px; } 100% { translate: 0px 0px; } }}
@media (max-width:599px) and (prefers-reduced-motion:no-preference){.hero-photo{animation: kf_118_3898_scale_0 2s linear; animation-fill-mode:both;}@keyframes kf_118_3898_scale_0 { 0% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); scale: 1.015 1.015; } 50% { scale: 1 1; } 100% { scale: 1 1; } }.hero-label{animation: kf_118_3888_opacity_0 2s linear, kf_118_3888_translate_0 2s linear; animation-fill-mode:both;}@keyframes kf_118_3888_opacity_0 { 0% { opacity: 0; } 2% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 23% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3888_translate_0 { 0% { translate: 0px 10px; } 2% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 10px; } 23% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-title{animation: kf_118_3889_opacity_0 2s linear, kf_118_3889_translate_0 2s linear; animation-fill-mode:both;}@keyframes kf_118_3889_opacity_0 { 0% { opacity: 0; } 6% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 27% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3889_translate_0 { 0% { translate: 0px 10px; } 6% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 10px; } 27% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-description{animation: kf_118_3890_opacity_0 2s linear, kf_118_3890_translate_0 2s linear; animation-fill-mode:both;}@keyframes kf_118_3890_opacity_0 { 0% { opacity: 0; } 12% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 33% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3890_translate_0 { 0% { translate: 0px 10px; } 12% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 10px; } 33% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-actions{animation: kf_118_3891_opacity_0 2s linear, kf_118_3891_translate_0 2s linear; animation-fill-mode:both;}@keyframes kf_118_3891_opacity_0 { 0% { opacity: 0; } 18% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 39% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3891_translate_0 { 0% { translate: 0px 10px; } 18% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 10px; } 39% { translate: 0px 0px; } 100% { translate: 0px 0px; } }.hero-controls{animation: kf_118_3899_opacity_0 2s linear, kf_118_3899_translate_0 2s linear; animation-fill-mode:both;}@keyframes kf_118_3899_opacity_0 { 0% { opacity: 0; } 24% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); opacity: 0; } 45% { opacity: 1; } 100% { opacity: 1; } } @keyframes kf_118_3899_translate_0 { 0% { translate: 0px 10px; } 24% { animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); translate: 0px 10px; } 45% { translate: 0px 0px; } 100% { translate: 0px 0px; } }}
/* Responsive refinements: retain the Figma composition between reference widths. */
.shell {
  padding-left: max(var(--gutter), env(safe-area-inset-left, 0px));
  padding-right: max(var(--gutter), env(safe-area-inset-right, 0px));
}
.menu-strokes { display: flex; flex-direction: column; gap: 5px; align-items: center; }
.menu-strokes > span { display: block; width: 20px; height: 1.25px; border-radius: 1px; background: currentColor; }
.dialog-open body { position: fixed; top: var(--dialog-scroll-top, 0); left: 0; right: 0; width: 100%; }
dialog { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.dialog-top > button { flex-shrink: 0; }
.service-group, .principle > div, .specialist-copy, .form-field { min-width: 0; }
.service-group :is(button,a), .footer-group button, .footer-group a { overflow-wrap: anywhere; }

@media (max-width: 1023px) {
  .compact-nav > a { min-height: 44px; display: flex; align-items: center; }
  .service-group > div > :is(button,a) { width: 100%; }
  .footer-social a, .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; }
  .site-footer { padding-bottom: max(24px, env(safe-area-inset-bottom, 0px)); }
}

@media (min-width: 600px) and (max-width: 767px) {
  :root { --gutter: 32px; }
  .hero-photo img { min-width: 768px; object-position: center; }
  .hero-photo::after { background: linear-gradient(90deg, rgba(252,250,244,.94), rgba(252,250,244,.86) 42%, transparent 66%); }
  .clinic-story { display: flex; flex-direction: column; gap: 24px; }
  .clinic-film { width: 100%; }
  .principles { grid-template-columns: 1fr; gap: 24px; }
  .specialist-feature { display: flex; flex-direction: column; gap: 24px; }
  .specialist-photo { order: -1; height: auto; aspect-ratio: 1.6; }
  .feedback-results { grid-template-columns: minmax(0, 1fr); }
  .review blockquote { min-height: 100px; }
  .review-dots button { width: 44px; }
  .results-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instagram-heading { flex-direction: column; gap: 8px; }
  .instagram-heading .text-link { width: auto; }
}

@media (max-width: 599px) {
  .utility-inner { height: auto; min-height: 69px; grid-template-rows: 44px auto; padding-bottom: 5px; }
  .hours { min-height: 20px; white-space: normal; }
  .hours img { display: block; flex: none; transform: scale(.875); }
  .brand { width: 136px; height: 46.769px; overflow: hidden; }
  .brand-mask { width: 152px; height: 46.769px; transform: translateX(-15px); }
  .compact-nav > a { width: 76px; justify-content: center; font-size: 12px; }
  .hero-photo img { min-width: 390px; object-position: left center; }
  .alternative { isolation: isolate; }
  .alternative-photo { z-index: -2; opacity: 1; }
  .alternative::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--cream) 38%, rgba(252,249,222,.92) 51%, rgba(252,249,222,0) 78%); pointer-events: none; }
  .clinic-heading, .clinic-copy, .principles {
    padding-left: max(var(--gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--gutter), env(safe-area-inset-right, 0px));
  }
  dialog, .navigation-dialog, .services-dialog {
    width: 100%; max-width: 100%;
    padding: 24px max(var(--gutter), env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(var(--gutter), env(safe-area-inset-left, 0px));
  }
  .navigation-dialog, .services-dialog { height: 100dvh; min-height: 0; }
  .dialog-top { position: sticky; top: -24px; z-index: 2; background: inherit; padding-block: 8px; margin-top: -8px; }
  .consultation-dialog .button { width: 100%; }
  .navigation-dialog .dialog-top img { max-width: calc(100% - 60px); height: auto; object-fit: contain; }
  .service-bottom .button { width: 100%; }
}

@media (max-width: 359px) {
  :root { --gutter: 16px; }
  .utility-inner::after { left: 16px; right: 16px; }
  .hero-title { font-size: 30px; line-height: 35px; }
  .hero-title > span { font-size: 28px; line-height: 35px; }
  .hero-copy, .hero-title { width: 214px; }
  .hero-actions, .hero-actions .button { width: 214px; }
  .category-links button { font-size: 10px; }
  .card-copy { padding: 10px; }
}
.hero.entrance-complete :is(.hero-photo, .hero-label, .hero-title, .hero-description, .hero-actions, .hero-controls) { animation: none; }

@media (min-width: 600px) and (max-height: 600px) {
  .dialog-top { position: sticky; top: -40px; z-index: 2; background: inherit; padding-block: 10px; margin-top: -10px; }
}

/* Published treatment links retain the directory button typography and alignment. */
.service-group > div > a{display:flex;align-items:center}
