@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('assets/montserrat-400.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('assets/montserrat-500.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/montserrat-600.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/montserrat-700.ttf') format('truetype')}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#18442a;background:#f3ede3;font-family:'Montserrat',Arial,sans-serif;line-height:1.45}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:'Montserrat',Arial,sans-serif;font-weight:400;line-height:1.04;letter-spacing:-1.2px}h1{}h2{}p+p{margin-top:22px}.wrap{width:min(960px,calc(100% - 64px));margin:auto}.center{text-align:center}.eyebrow{display:inline-block;padding:8px 30px;border-left:1px solid #45644a;border-right:1px solid #45644a;letter-spacing:.3px;margin-bottom:17px}.eyebrow.light{border:1px solid #e4dbc4;color:#f3ede3}.button{border:0;border-radius:0;background:linear-gradient(100deg,#18442a,#45644a);color:#f3ede3;letter-spacing:.4px;min-height:50px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:600}.button span{font-weight:400}.button-light{background:linear-gradient(100deg,#f3ede3,#e4dbc4);color:#18442a}.button:hover{filter:brightness(1.09)}a:focus-visible,button:focus-visible,summary:focus-visible,.reviews-strip:focus-visible{outline:3px solid #45644a;outline-offset:5px}.header{position:absolute;inset:0 0 auto;z-index:3;height:77px;display:flex;align-items:center;gap:24px;color:#f3ede3}.logo{font-family:'Montserrat',Arial,sans-serif;letter-spacing:-1.5px;line-height:.85;display:inline-block;white-space:nowrap}.logo>span{display:block;text-align:center;font-family:'Montserrat',Arial,sans-serif;font-weight:600;letter-spacing:4px;margin-top:8px}.header nav{display:flex;align-items:center;gap:15px;margin-left:auto;white-space:nowrap}.header nav a{font-weight:700;letter-spacing:.7px}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-cta{min-height:34px;padding:0 18px;gap:9px}.header-cta span{}.menu-toggle{display:none}.hero{position:relative;height:660px;background:linear-gradient(115deg,#18442a 0%,#18442a 34%,#45644a 82%,#45644a 100%);overflow:hidden;color:#f3ede3}.hero-photo{position:absolute;inset:55px 0 33px 46%;mask-image:linear-gradient(90deg,transparent,#000 9%)}.hero-swoosh{position:absolute;width:480px;height:490px;border-top:11px solid #18442a;border-radius:50%;transform:rotate(25deg);top:100px;left:23%;opacity:.45}.hero-inner{height:100%;position:relative;display:flex;align-items:center}.hero-copy{width:47%;margin-top:38px}.hero-copy .eyebrow{padding:9px 22px;letter-spacing:2px;margin-bottom:20px}.hero-copy p{line-height:1.55;max-width:350px;margin:20px 0 30px}.hero-copy .button{min-width:340px}.cut-bottom:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:40px;background:#f3ede3;clip-path:polygon(0 100%,14.5% 100%,18.5% 0,81.5% 0,85.5% 100%,100% 100%)}.about{height:776px;background:radial-gradient(ellipse at 12% 83%,#e4dbc4 0,transparent 41%),#f3ede3;overflow:hidden}.about-inner{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.about-photo{align-self:end;height:705px;width:552px;max-width:none;object-fit:fill;margin-left:-96px;mix-blend-mode:multiply}.about-copy{padding-bottom:28px}.about-copy h2{margin-bottom:18px}.about-copy p{line-height:1.55}.about-copy .eyebrow{margin-bottom:12px}.about-copy .button{margin-top:28px;min-width:340px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-45px;position:relative;z-index:2}.pillar{background:linear-gradient(130deg,#f3ede3,#e4dbc4);text-align:center;padding:18px 14px 23px;min-height:158px;box-shadow:0 12px 24px #18442a15}.pillar .icon-space{fill:none;stroke:#18442a;stroke-width:1.4;width:70px;height:70px;display:block;margin:0 auto 5px}.pillar p{line-height:1.35;font-weight:600;border-top:1px solid #45644a4d;padding-top:9px;max-width:240px;margin:auto}.specialties{padding:82px 0 45px;background-color:#f3ede3;background-image:linear-gradient(#45644a10 1px,transparent 1px),linear-gradient(90deg,#45644a10 1px,transparent 1px);background-size:90px 90px;position:relative}.specialties:before{content:"";position:absolute;inset:140px 0 60px;pointer-events:none;background:linear-gradient(90deg,#45644a08,transparent 18%,transparent 82%,#45644a08)}.narrow{width:min(810px,calc(100% - 64px))}.specialties h2{margin-bottom:30px}.specialties .eyebrow{margin-bottom:16px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 20px}.service .image-space{width:100%;height:182px;object-fit:cover;border-radius:4px}.service h3{font-weight:500;margin:12px 0}.service button{display:flex;gap:18px;align-items:center;justify-content:center;width:85%;min-height:37px;margin:auto;border:none;border-radius:40px;color:#f3ede3;background:linear-gradient(90deg,#18442a,#45644a);}.service button:hover{filter:brightness(1.12)}.service button span{}.online-note{margin:35px auto 26px}.specialties>.wrap>.button{min-width:340px}.pain{height:700px;position:relative;overflow:hidden;background:#f3ede3}.pain-photo{position:absolute;inset:0 0 0 45%;mask-image:linear-gradient(90deg,transparent,#000 17%)}.pain>.wrap{position:relative;padding-top:48px}.pain-copy{width:49%;padding-right:15px}.pain h2{margin-bottom:20px}.pain-copy p{line-height:1.5}.pain-copy p+p{margin-top:18px}.care-note{display:flex;align-items:center;gap:8px;margin:20px 0}.care-note span{color:#45644a}.pain .button{min-width:340px}.care{padding:95px 0 84px;background-color:#f3ede3;background-image:radial-gradient(ellipse at center,transparent 58%,#45644a20 59%,transparent 62%);background-size:64px 95px}.care h2{}.benefits{display:flex;flex-wrap:wrap;justify-content:center;margin:25px auto 28px;max-width:840px;gap:18px 16px}.benefits>div{width:calc((100% - 32px)/3);min-height:66px;display:flex;align-items:center;text-align:left;gap:17px;border-top:2px solid #45644a;border-right:2px solid #45644a;padding:12px 14px}.benefits b{color:#45644a}.care .button{min-width:340px}.testimonials{padding-top:85px}.testimonials .eyebrow{border:1px solid #45644a}.testimonials h2{margin-bottom:42px}.reviews-strip{overflow:auto;scrollbar-width:thin;scrollbar-color:#45644a transparent}.reviews-strip .image-space{width:100%;max-width:none;min-width:900px;height:auto}.faq{position:relative;padding-top:65px;padding-bottom:56px;background:#f3ede3}.faq-color{position:absolute;inset:0 0 auto;height:375px;background:linear-gradient(130deg,#45644a,#18442a 75%);overflow:hidden}.faq-color:after{content:"";position:absolute;inset:-50% -20%;background:repeating-conic-gradient(from 30deg at 10% 10%,transparent 0deg 15deg,#f3ede305 15deg 19deg,transparent 19deg 32deg)}.faq>.wrap{position:relative}.faq .eyebrow{margin-bottom:15px}.faq h2{color:#f3ede3;margin-bottom:28px}.faq-box{padding:36px;background:#18442a;border-radius:5px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;text-align:left;align-items:start}.faq details{background:#45644a;color:#f3ede3;min-width:0}.faq summary{padding:18px 42px 18px 19px;list-style:none;cursor:pointer;position:relative;font-weight:600;min-height:64px;display:flex;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq details p{line-height:1.5;padding:0 20px 20px}.invitation{position:relative;height:615px;overflow:hidden;background:linear-gradient(180deg,#f3ede3 0%,#f3ede388 25%,#e4dbc4 100%)}.invitation-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 30px,#45644a20 31px 34px,transparent 35px 48px);mask-image:linear-gradient(0deg,#000,transparent)}.invitation-lines:after{content:"";position:absolute;inset:5% 18% -70% 31%;border-radius:50%;border:6px solid #45644a44;transform:rotate(-25deg)}.invitation-inner{height:100%;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center}.invitation-inner>.image-space{align-self:end;width:505px;height:530px;object-fit:fill;margin-left:-5px;mix-blend-mode:multiply}.invitation h2{line-height:1.02;margin-bottom:24px}.invitation p{line-height:1.5}.invitation .small{margin-top:25px;margin-bottom:25px}.invitation .button{gap:12px;padding:0 23px;width:100%}.location{padding:90px 0 65px;background:#f3ede3}.location-inner{display:grid;grid-template-columns:.8fr 1fr;gap:42px;width:min(810px,calc(100% - 64px));align-items:center}.location-copy h2{margin-bottom:20px}.location-copy .eyebrow{padding:8px 21px}.location p{line-height:1.5}.location .button{padding:0 20px;margin-top:28px;width:100%}.online-collage{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-self:stretch}.online-collage .image-space{width:100%;height:154px;object-fit:cover;border-radius:4px}.online-collage .online-main{grid-column:span 2;height:250px}footer{background:#f3ede3;padding:60px 0 25px;}.footer-grid{display:grid;grid-template-columns:1.25fr 1.2fr .8fr 1fr;gap:45px;align-items:start}.footer-grid .logo{color:#45644a;margin:0 0 24px}.logo .monogram{font-family:'Montserrat',Arial,sans-serif;letter-spacing:-8px;margin:0 0 7px;text-indent:-8px;font-weight:400}.footer-grid>.logo>span{}.footer-grid .button{padding:0 17px;min-height:43px;gap:9px}.footer-grid h3{margin-bottom:14px}.footer-grid p+p{margin-top:8px}.footer-grid a:not(.logo){display:block;margin:0 0 10px}.outline-button{border:1px solid #45644a;background:transparent;color:#45644a;min-height:42px;padding:8px 16px;margin-top:12px}.social-title{margin-top:18px}.socials{display:flex;gap:12px}.socials button{font-family:'Montserrat',Arial,sans-serif;border:0;background:#45644a;color:#f3ede3;line-height:1;padding:0;width:21px;height:21px}.copyright{border-top:1px solid #45644a;padding-top:20px;margin-top:55px;display:flex;justify-content:space-between;}.whatsapp{position:fixed;bottom:20px;right:20px;border:2px solid #f3ede3;border-radius:50%;width:48px;height:48px;background:#18442a;color:#f3ede3;z-index:5;box-shadow:0 3px 12px #18442a22}.whatsapp:hover{transform:translateY(-3px)}dialog{width:min(530px,calc(100% - 32px));border:1px solid #e4dbc4;padding:46px;background:#f3ede3;color:#18442a;box-shadow:0 20px 90px #18442a44}dialog::backdrop{background:#18442a99;backdrop-filter:blur(4px)}dialog h2{margin-bottom:20px}dialog p{line-height:1.6}dialog .button{margin-top:25px}.dialog-close{position:absolute;right:15px;top:8px;border:0;background:transparent;color:#18442a;}.service button,.button,.whatsapp{transition:filter .2s,transform .2s}section{scroll-margin-top:24px}
@media(min-width:1500px){.hero-photo{left:48%;background-size:auto 100%;background-position:left top}.pain-photo{background-size:auto 100%;background-position:left center}}
@media(max-width:1100px) and (min-width:761px){.wrap{width:82%}.header{gap:15px}.header nav{gap:10px}.header nav a{}.header-cta{padding:0 12px}.hero{height:570px}h1{}.hero-copy .button,.about-copy .button,.pain .button{min-width:0;width:100%}.about{height:730px}.about-photo{height:640px;width:440px;margin-left:-70px}.about-copy h2{}.about-copy p{}.service .image-space{height:160px}.pain-copy p{}.invitation h2{}.invitation-inner>.image-space{width:450px;height:500px;margin-left:-50px}.footer-grid{gap:25px}.footer-grid .logo{}}
@media(max-width:760px){.wrap,.narrow{width:calc(100% - 40px)}h1{}h2{}.header{height:76px;gap:16px;align-items:center}.header .logo{}.header-cta{display:none}.menu-toggle{display:block;margin-left:auto;border:1px solid #e4dbc4;background:transparent;color:#f3ede3;width:44px;height:40px;}.header nav{display:none;position:absolute;top:68px;right:0;background:#18442a;padding:20px 25px;width:250px;box-shadow:0 15px 40px #18442a44}.header nav.open{display:grid;gap:4px}.header nav a{padding:12px 0}.hero{height:830px}.hero-photo{inset:380px -30px 0 10%;background-size:cover;background-position:center 0;mask-image:linear-gradient(0deg,#000 70%,transparent)}.hero-swoosh{display:none}.hero-inner{align-items:start;padding-top:121px}.hero-copy{width:100%;margin:0}.hero-copy h1{}.hero-copy p{max-width:320px;margin:18px 0 24px}.hero-copy .eyebrow{margin-bottom:15px}.hero-copy .button{min-width:0;max-width:340px;width:100%}.cut-bottom:after{height:23px;clip-path:polygon(0 100%,8% 100%,15% 0,85% 0,92% 100%,100% 100%)}.about{height:auto;padding-top:45px;overflow:hidden}.about-inner{display:flex;flex-direction:column;gap:30px}.about-copy{order:-1;width:100%;padding:0}.about-copy h2{}.about-copy p{}.about-copy .button{min-width:0;width:100%;margin-top:25px}.about-photo{height:460px;width:397px;max-width:none;margin:0;align-self:center;object-fit:fill}.pillars{width:calc(100% - 24px);gap:7px;margin-top:-20px}.pillar{padding:13px 7px;min-height:140px}.pillar .icon-space{width:48px;height:48px}.pillar p{line-height:1.5}.specialties{padding:60px 0 50px;background-size:60px 60px}.specialties h2{line-height:1.13}.specialties .eyebrow{}.services-grid{grid-template-columns:1fr 1fr;gap:28px 14px}.service .image-space{height:auto;aspect-ratio:1.4}.service h3{min-height:20px;margin:10px 0}.service button{width:100%;min-height:39px;gap:12px}.online-note{}.specialties>.wrap>.button,.care .button{min-width:0;max-width:340px;width:100%}.pain{height:980px}.pain>.wrap{padding-top:35px}.pain-copy{width:100%;padding:0}.pain-copy p{}.pain-copy p+p{margin-top:18px}.pain-photo{inset:auto 0 0 0;height:440px;mask-image:linear-gradient(0deg,#000 80%,transparent);background-size:cover;background-position:right top}.pain h2{margin-bottom:18px}.pain .button{min-width:0;width:100%}.care{padding:60px 0 55px}.care h2{line-height:1.1}.benefits{display:grid;gap:13px;margin:25px 0}.benefits>div{width:100%;padding:10px 16px;min-height:65px}.benefits>div br{display:none}.benefits b{}.testimonials{padding-top:65px}.testimonials h2{padding:0 16px;margin-bottom:30px}.reviews-strip .image-space{min-width:1000px}.faq{padding-top:45px;padding-bottom:40px}.faq-color{height:320px}.faq-box{grid-template-columns:1fr;padding:18px;gap:10px}.faq h2{}.faq summary{min-height:62px;}.invitation{height:auto;padding-top:30px}.invitation-inner{display:flex;flex-direction:column;gap:25px}.invitation-inner>div{order:-1;width:100%}.invitation h2{line-height:1.08}.invitation p{}.invitation .button{min-height:58px;padding:0 15px;gap:10px}.invitation-inner>.image-space{align-self:center;width:370px;height:390px;margin:0;max-width:none}.location{padding:60px 0}.location-inner{grid-template-columns:1fr;gap:35px}.location p{}.location p br{display:none}.location .button{margin-top:25px}.online-collage .image-space{height:auto;aspect-ratio:1.5}.online-collage .online-main{height:auto;aspect-ratio:1.92}footer{padding:10px 0 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 25px}.footer-grid>div:first-child{grid-column:span 2;text-align:center}.footer-grid>div:last-child{grid-column:span 2}.footer-grid .logo{display:block;width:max-content;margin:0 auto 25px}.footer-grid .button{min-height:44px}.footer-grid h3{}.footer-grid p,.footer-grid a{}.copyright{margin-top:35px;gap:20px;}.whatsapp{width:45px;height:45px;bottom:15px;right:15px}dialog{padding:35px 25px}.eyebrow{}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Preserve the template spaces while all supplied imagery is removed. */
.reviews-strip .image-space{aspect-ratio:461/69}

/* Requested type scale, shared by desktop, mobile and dialogs. */
body{font-size:14px}
h1,h2{font-size:clamp(32px,3.34vw,48px);line-height:1.12}
h3,.subtitle{font-size:24px;line-height:1.25}
.logo{font-size:32px}
.logo>span{font-size:14px}
.logo .monogram{font-size:32px}
button{font-size:14px;line-height:1.3;transition:font-size .18s ease,filter .2s ease,transform .2s ease}
button span{font-size:inherit}
button:hover{font-size:16px}
.button,.outline-button,.service button{white-space:normal;text-align:center;min-height:64px;height:64px;padding-block:10px}
.header{width:min(1280px,calc(100% - 64px))}
.header-cta{flex-shrink:0}
.header nav{flex-shrink:0}
.header nav a{font-size:14px}
.service h3{overflow-wrap:break-word;min-height:60px}
.eyebrow{max-width:100%}
@media(max-width:1200px){
 .header{width:calc(100% - 40px)}
 .header-cta{display:none}
 .menu-toggle{display:block;margin-left:auto;border:1px solid #e4dbc4;background:transparent;color:#f3ede3;width:44px;height:40px}
 .header nav{display:none;position:absolute;top:68px;right:0;background:#18442a;padding:20px 25px;width:250px;box-shadow:0 15px 40px #18442a44}
 .header nav.open{display:grid;gap:4px}
 .header nav a{padding:12px 0}
}
@media(max-width:760px){
 h1,h2{font-size:32px}
 .header{height:76px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Header text stays at 14px in every viewport and interaction state. */
.header,.header a,.header nav a,.header button,.header button:hover,.header .logo>span{font-size:14px}

/* Floating WhatsApp action. */
.whatsapp{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:grid;place-items:center;width:60px;height:60px;padding:0;border:2px solid #fff;border-radius:50%;background:#25d366;color:#fff;z-index:20;box-shadow:0 5px 22px #18442a35;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.whatsapp svg{width:34px;height:34px;display:block;pointer-events:none}
.whatsapp:hover,.whatsapp:focus-visible{background:#128c7e;transform:translateY(-3px);box-shadow:0 8px 26px #18442a45}
.whatsapp:focus-visible{outline:3px solid #18442a;outline-offset:4px}
.whatsapp .whatsapp-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translate(5px,-50%);width:210px;padding:11px 16px;border-radius:8px;background:#18442a;color:#f3ede3;box-shadow:0 4px 16px #18442a20;font-family:'Montserrat',Arial,sans-serif;font-size:14px;line-height:1.3;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.whatsapp:hover .whatsapp-label,.whatsapp:focus-visible .whatsapp-label{font-size:16px;opacity:1;visibility:visible;transform:translate(0,-50%)}
@media(max-width:760px){.whatsapp{width:56px;height:56px;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.whatsapp svg{width:32px;height:32px}}
@media(hover:none){.whatsapp .whatsapp-label{display:none}}
@media(prefers-reduced-motion:reduce){.whatsapp,.whatsapp .whatsapp-label{transition:none}}

input,textarea,select{font-family:'Montserrat',Arial,sans-serif}

/* Weight hierarchy: primary title, section headings, labels, body. */
body{font-weight:400}
h1{font-weight:700}
h2{font-weight:600}
h3,.subtitle,.service h3,.footer-grid h3{font-weight:600}
.eyebrow,.header nav a,.pillar p,.online-note,.care-note{font-weight:500}
button,.button,.outline-button,.service button,.faq summary{font-weight:600}
strong,b{font-weight:600}
.logo,.logo .monogram{font-weight:600}
.whatsapp .whatsapp-label{font-weight:500}

/* Supplied first-fold banner: text left, portrait right. */
.hero{background-color:#18442a;background-image:url('assets/hero-victor-banner-mint.png');background-repeat:no-repeat;background-size:cover;background-position:center top}
.hero-swoosh{display:none}
@media(min-width:1920px){.hero{height:880px}}
@media(max-width:760px){
 .hero{height:auto;min-height:830px;padding-bottom:430px;background-image:linear-gradient(to bottom,#18442a 0%,#18442a calc(100% - 480px),transparent calc(100% - 360px)),url('assets/hero-victor-banner-mint.png');background-repeat:no-repeat;background-size:100% 100%,auto 480px;background-position:center,right bottom}
 .hero-inner{height:auto;padding-bottom:32px}
}

/* Mint accents drawn from the updated supplied hero banner. */
:root{--accent-color:#99d1ae;--accent-ink:#12311f;--accent-wash:#e2ede0}
.hero .eyebrow{background:transparent;border:1px solid #99d1ae;color:#fdfdfd}
.faq .eyebrow{color:var(--accent-color);border-color:var(--accent-color);background:var(--accent-ink)}
.hero .button,.invitation .button,.header-cta{background:var(--accent-color);color:var(--accent-ink)}
.button span,.service button span{color:var(--accent-color)}
.hero .button span,.invitation .button span,.header-cta span{color:currentColor}
.about{background:radial-gradient(ellipse at 12% 83%,#99d1ae2e 0,transparent 44%),#f3ede3}
.eyebrow{border-left-color:var(--accent-color);border-right-color:var(--accent-color)}
.pillar{border-top:2px solid var(--accent-color)}
.pillar p{border-top-color:#99d1ae80}
.about-copy h2::after,.specialties h2::after,.testimonials h2::after{content:"";display:block;width:56px;height:3px;background:var(--accent-color);margin-top:20px}
.specialties h2::after,.testimonials h2::after{margin-left:auto;margin-right:auto}
.care{background-color:var(--accent-wash);background-image:radial-gradient(ellipse at center,transparent 58%,#99d1ae24 59%,transparent 62%)}
.benefits>div{border-top-color:var(--accent-color);border-right-color:var(--accent-color);background:#f3ede380}
.testimonials .eyebrow{border-color:var(--accent-color)}
.faq-color{background:linear-gradient(130deg,#18442a,var(--accent-ink) 75%)}
.faq h2{color:var(--accent-color)}
.faq-box{border:1px solid #99d1ae66}
.faq details{border-left:2px solid var(--accent-color)}
.invitation-lines::after{border-color:#99d1ae66}
.outline-button,.copyright{border-color:var(--accent-color)}

/* Supplied second-fold banner: portrait left, biography right. */
.about{background-color:#f3ede3;background-image:url('assets/about-victor-banner-v2.png');background-repeat:no-repeat;background-size:cover;background-position:center top}
@media(max-width:760px){
 .about{background:#f3ede3}
 .about-photo{width:100vw;max-width:none;height:500px;margin:0;align-self:center;mix-blend-mode:normal;background-image:url('assets/about-victor-banner-v2.png');background-repeat:no-repeat;background-size:auto 100%;background-position:left bottom}
}

/* Tabler Icons from the selected icones plugin: shared outline system. */
.icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;pointer-events:none}
.button-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.button-icon .icon{width:18px;height:18px}
.menu-toggle{padding:0;min-height:44px}
.menu-toggle .icon{width:22px;height:22px}
.menu-toggle .icon-menu-close{display:none}
.menu-toggle[aria-expanded="true"] .icon-menu-open{display:none}
.menu-toggle[aria-expanded="true"] .icon-menu-close{display:block}
.pillar .icon-space{display:grid;place-items:center;margin-bottom:12px}
.pillar .icon-space .icon{width:42px;height:42px;color:#18442a}
.benefits>div>.icon,.care-note>.icon{width:22px;height:22px;color:#18442a}
.faq summary{padding-right:52px}
.faq summary::after,.faq details[open] summary::after{content:none}
.faq summary .icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:20px;height:20px}
.faq .icon-collapse{display:none}
.faq details[open] .icon-expand{display:none}
.faq details[open] .icon-collapse{display:block}
.footer-contact p{display:flex;align-items:flex-start;gap:10px}
.footer-contact p a{display:inline;margin:0}
.footer-contact .icon{width:18px;height:18px;margin-top:1px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.socials button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #45644a;border-radius:50%;background:transparent;color:#18442a}
.socials button:hover,.socials button:focus-visible{background:#99d1ae}
.socials .icon{width:22px;height:22px}
.dialog-close{display:grid;place-items:center;width:44px;height:44px;padding:0;line-height:1}
@media(max-width:1200px){.menu-toggle{display:grid;place-items:center}}

/* Specialty photo cards, in the established green palette. */
.specialties .services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative}
.specialty-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-width:0;min-height:380px;padding:28px 26px;overflow:hidden;border-radius:15px;background:#18442a;color:#fdfdfd;text-align:left;box-shadow:0 12px 28px #18442a18}
.specialty-card .specialty-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.specialty-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#18442a66 0%,#18442a99 42%,#12311ff2 100%)}
.specialty-card h3{min-height:0;margin:0 0 18px;font-size:24px;line-height:1.25;color:#fdfdfd}
.specialty-card button{width:auto;min-height:44px;height:44px;margin:0;padding:10px 16px;gap:12px;border:1px solid #99d1ae;border-radius:8px;background:#18442a66;color:#fdfdfd;font-size:14px;line-height:1.3}
.specialty-card button:hover{background:#18442acc;font-size:16px;filter:none}
.specialty-card button:focus-visible{outline-color:#99d1ae;outline-offset:4px}
.specialties .online-note{margin:28px auto 0}
@media(max-width:760px){
 .specialties .services-grid{grid-template-columns:1fr;gap:18px;max-width:480px;margin-inline:auto}
 .specialty-card{min-height:330px;padding:26px}
 .specialty-card .specialty-photo{object-position:center 36%}
}

/* Brief descriptions keep specialty content aligned in two lines. */
.specialty-card h3{margin-bottom:10px}
.specialty-card .specialty-description{margin:0 0 18px;min-height:42px;font-size:14px;line-height:1.5;font-weight:400;color:#fdfdfd;letter-spacing:0}

/* Illustrative group portrait, softly blended behind the invitation. */
.invitation{background:#f3ede3}
.invitation-photo{position:absolute;inset:0;pointer-events:none;background-image:url('assets/invitation-happy-people.png');background-repeat:no-repeat;background-size:cover;background-position:center;mask-image:linear-gradient(90deg,#000 0%,#000 36%,transparent 54%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 36%,transparent 54%)}
.invitation-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f3ede3 0%,transparent 18%,transparent 78%,#f3ede3 100%)}
.invitation-lines{opacity:.25}
.invitation-copy{grid-column:2;position:relative}
@media(max-width:760px){
 .invitation{padding:45px 0 350px;height:auto}
 .invitation-inner{display:block;height:auto}
 .invitation-inner>.invitation-copy{width:100%}
 .invitation-photo{inset:auto 0 0;height:370px;background-size:auto min(370px,100vw);background-position:left bottom;mask-image:linear-gradient(180deg,transparent 0%,#000 25%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 25%,#000 90%,transparent 100%)}
 .invitation-photo::after{background:linear-gradient(90deg,transparent 80%,#f3ede3 100%)}
}

/* Light Google Maps reference for the service-location section. */
.location-map{margin:0;min-width:0;overflow:hidden;align-self:stretch;border:1px solid #99d1ae80;border-radius:15px;background:#fff;box-shadow:0 10px 28px #18442a0d;color-scheme:only light}
.location-map iframe{display:block;width:100%;height:400px;min-height:320px;background:#f5f5f5;color-scheme:only light;filter:none}
.location-map figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding:16px 18px;background:#f3ede3;color:#18442a;font-size:14px;line-height:1.5}
.location-map figcaption strong{font-size:14px;font-weight:600}
.location-map figcaption p{margin:4px 0 0;font-size:14px;line-height:1.5}
.location-map figcaption a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:500}
@media(max-width:760px){.location-map{width:100%}.location-map iframe{height:320px}}

/* Simplified footer: contact details and a single social group. */
footer{padding:48px 0 25px;border-top:1px solid #99d1ae66;background:#e2ede0}
.footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:64px;align-items:start}
.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto;text-align:left}
.footer-grid h3{margin:0 0 24px;font-size:24px;line-height:1.25;font-weight:600}
.footer-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;margin:0;padding:0;list-style:none}
.footer-contact-list li{display:flex;align-items:flex-start;gap:12px;min-width:0}
.footer-contact-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #99d1ae;border-radius:12px;background:#f3ede380;color:#18442a}
.footer-contact-list .footer-contact-icon .icon{width:20px;height:20px;margin:0}
.footer-detail-label{display:block;color:#45644a;font-size:14px;line-height:1.4;font-weight:400}
.footer-contact-list p{display:block;margin:4px 0 0;font-size:14px;line-height:1.5;font-weight:500}
.footer-grid .footer-contact-list a{display:inline-flex;align-items:center;min-height:32px;margin:-5px 0 0;font-size:14px;font-weight:600;white-space:nowrap}
.footer-grid .footer-contact-list a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-network>p{font-size:14px;line-height:1.6;margin:0;color:#45644a}
.footer-socials{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
.footer-socials button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;min-width:72px;width:auto;height:auto;min-height:80px;padding:0;border:0;border-radius:0;background:transparent;color:#18442a;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4}
.footer-socials .footer-social-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #45644a80;border-radius:50%;background:#f3ede380;transition:background-color .2s,border-color .2s}
.footer-socials .icon{width:22px;height:22px}
.footer-socials button:hover,.footer-socials button:focus-visible{background:transparent;font-size:16px}
.footer-socials button:hover .footer-social-icon,.footer-socials button:focus-visible .footer-social-icon{background:#99d1ae;border-color:#18442a}
footer .copyright{margin-top:36px;padding-top:20px;gap:16px;flex-wrap:wrap;border-color:#99d1ae;font-size:14px;color:#45644a}
@media(max-width:760px){
 .footer-grid{grid-template-columns:1fr;gap:34px}
 .footer-contact-list{gap:22px 18px}
 .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto;text-align:left}
 .footer-grid h3{margin-bottom:20px}
 footer .copyright{flex-direction:column;gap:8px;margin-top:30px}
}
@media(max-width:420px){.footer-contact-list{grid-template-columns:1fr}.footer-socials{gap:22px}}
@media(min-width:761px) and (max-width:1000px){.footer-grid{gap:40px}.footer-contact-list{grid-template-columns:1fr}}
@media(max-width:600px){.footer-contact-list{grid-template-columns:1fr}}

/* Subtle feedback, with movement restricted to transform and opacity. */
.pillar,.specialty-card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease}
.specialty-card .specialty-photo{transition:transform .65s cubic-bezier(.22,1,.36,1)}
.button,.outline-button{transition:font-size .18s ease,filter .2s ease,transform .25s ease,box-shadow .25s ease}
.button .button-icon,.outline-button .icon{transition:transform .25s ease}
.header nav a{transition:opacity .2s ease}
.footer-socials .footer-social-icon{transition:background-color .2s,border-color .2s,transform .25s ease}
@media(hover:hover) and (pointer:fine){
 .pillar:hover{transform:translateY(-4px);box-shadow:0 16px 30px #18442a1c}
 .specialty-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #18442a26}
 .specialty-card:hover .specialty-photo{transform:scale(1.025)}
 .button:hover,.outline-button:hover{transform:translateY(-2px)}
 .button:hover .button-icon{transform:translate(2px,-2px)}
 .header nav a:hover{opacity:.8}
 .footer-socials button:hover .footer-social-icon{transform:translateY(-3px)}
}
.button:active,.outline-button:active{transform:translateY(0) scale(.99)}
.header nav.open{animation:site-menu-enter .2s ease-out}
dialog[open]{animation:site-dialog-enter .22s ease-out}
@keyframes site-menu-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes site-dialog-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .pillar,.specialty-card,.specialty-card .specialty-photo,.button,.button .button-icon,.outline-button,.outline-button .icon,.header nav a,.footer-socials .footer-social-icon{transition:none}
 .pillar:hover,.specialty-card:hover,.specialty-card:hover .specialty-photo,.button:hover,.outline-button:hover,.button:hover .button-icon,.footer-socials button:hover .footer-social-icon,.button:active,.outline-button:active{transform:none}
 .header nav.open,dialog[open]{animation:none}
}
