@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Nunito:wght@500;600;700;800;900&display=swap');
:root{--ink:#302538;--pink:#ee789d;--coral:#f18a86;--cream:#fffaf6;--soft:#fff0ee;--plum:#6d456b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Manrope,sans-serif;background:var(--cream)}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 44px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,250,246,.94);backdrop-filter:blur(16px);border-bottom:1px solid #f3e6e4}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font:900 22px Nunito,sans-serif;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;letter-spacing:-1px}.logo-mark{color:var(--coral);font-size:32px}.logo-dot{color:var(--pink)}.nav-links{display:flex;gap:32px;font-size:13px;font-weight:800;color:#685b69}.nav-links a:hover,.quiet-link:hover{color:var(--pink)}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--ink);color:white;font-weight:800;border-radius:100px;padding:19px 25px;font-size:14px;transition:transform .2s,background .2s;box-shadow:0 10px 20px #5c2e4920}.btn:hover{transform:translateY(-3px);background:#604158}.btn span{font-size:19px;font-weight:400}.btn-small{padding:12px 17px;font-size:12px;gap:14px}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fffaf6 5%,#fff0ec 100%);padding:75px 0 105px}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:35px}.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #efd8d4;padding:10px 14px;border-radius:40px;font-size:12px;font-weight:800;color:#b96a80;background:#fff8f5}.pulse{width:8px;height:8px;border-radius:50%;background:#f08b99;box-shadow:0 0 0 4px #f9e0e4}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Nunito,sans-serif;font-weight:900;letter-spacing:-.055em}h1{font-size:clamp(48px,5.3vw,76px);line-height:1.08;margin:24px 0}h1 em,h2 em{color:var(--pink);font-style:normal}.hero-text>p{font-size:15px;max-width:495px;line-height:1.9;color:#716572}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.quiet-link{font-weight:800;font-size:13px}.quiet-link span{margin-left:8px;color:var(--pink)}.hero-highlights{display:flex;gap:18px;flex-wrap:wrap;margin-top:38px;font-size:11px;font-weight:800;color:#9a7485}.hero-highlights span{white-space:nowrap}.hero-visual{height:520px;position:relative;display:grid;place-items:center}.photo-frame{background:linear-gradient(150deg,#ffd5dc,#ffe8c3 56%,#d8bfdc);overflow:hidden}.main-photo{width:78%;height:88%;border-radius:46% 46% 24% 24%;border:10px solid white;box-shadow:0 25px 60px #9c647b20;transform:rotate(3deg)}.photo-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;color:#ad6384;padding:18px}.photo-fallback>span{font-size:70px}.photo-fallback strong{font:900 29px/1.2 Nunito,sans-serif}.photo-fallback small{font-size:12px;font-weight:800;opacity:.65}.photo-frame.has-photo{background-size:cover;background-position:center}.photo-frame.has-photo .photo-fallback{display:none}.sticker{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border-radius:50%;font:900 28px/1 Nunito,sans-serif;box-shadow:0 14px 24px #915c7c1c}.sticker-top{width:112px;height:112px;background:#e2d1f1;color:#765592;top:30px;left:0;transform:rotate(-15deg)}.sticker-top small{font-size:17px}.sticker-bottom{width:152px;height:152px;background:#ffc873;color:#9e5e47;right:-6px;bottom:34px;font-size:15px;transform:rotate(10deg);line-height:1.3}.sticker-bottom strong{font-size:17px}.sparkle{position:absolute;color:#ef85a3;font-size:42px}.s1{top:35px;right:44px}.s2{bottom:47px;left:27px;color:#ffbd68}.s3{right:0;top:46%;font-size:23px}.wave{position:absolute;bottom:-1px;background:var(--cream);height:45px;width:100%;clip-path:ellipse(57% 90% at 50% 100%)}.section{padding:106px 0}.kicker{font-size:11px;font-weight:900;letter-spacing:.17em;color:var(--pink);margin-bottom:15px}.center-head{text-align:center;max-width:610px;margin:0 auto 48px}h2{font-size:clamp(37px,4vw,55px);line-height:1.13;margin-bottom:20px}.center-head>p,.program-copy>p,.gallery-heading>p,.faq-grid p{line-height:1.85;color:#827682;font-size:14px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit{background:white;border:1px solid #f5e9e8;border-radius:24px;padding:28px 22px;box-shadow:0 10px 26px #7a506c08}.benefit-icon{font:900 33px Nunito,sans-serif;width:60px;height:60px;display:grid;place-items:center;border-radius:21px;margin-bottom:28px}.pink{background:#ffe1e9;color:#d8739b}.peach{background:#ffebde;color:#f39475}.yellow{background:#fff2cb;color:#cf9a43}.lilac{background:#eee1fc;color:#9568bd}.benefit h3{font:900 17px Nunito,sans-serif;margin-bottom:11px}.benefit p{color:#91858f;font-size:12px;line-height:1.8;margin:0}.program-section{background:#fff0ec;overflow:hidden}.program-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:90px;align-items:center}.program-copy>p{max-width:440px;margin-bottom:28px}.program-card{border-radius:34px;background:white;padding:34px 36px;box-shadow:0 25px 60px #c58f9120;transform:rotate(1deg)}.program-badge{display:flex;justify-content:space-between;font:900 22px Nunito,sans-serif;padding-bottom:10px}.program-badge span{font-size:30px;color:var(--pink)}.program-card ul{padding:0;list-style:none}.program-card li{border-bottom:1px solid #f5e9e7;display:flex;align-items:center;gap:18px;padding:15px 0;font-size:13px;font-weight:800}.program-card li span{color:#eba0a7;font:900 13px Nunito,sans-serif}.program-foot{background:#fff2f0;border-radius:16px;padding:18px;margin:20px 0 0;color:#a86f83;font-size:12px;font-weight:700;line-height:1.7}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{max-width:300px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.gallery-tile{height:360px;border-radius:28px}.gallery-tile:first-child{background:linear-gradient(135deg,#fbc6d6,#ffe5ca)}.gallery-tile:last-child{background:linear-gradient(135deg,#ded3f4,#ffdce5)}.gallery-tile .photo-fallback>span{font-size:60px}.faq-section{background:#fff6ef}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-list details{border-bottom:1px solid #eaded9;padding:21px 0}.faq-list summary{cursor:pointer;list-style:none;font-weight:800;font-size:14px;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:20px;color:var(--pink);line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list p{margin:14px 0 0;max-width:480px}.signup-section{background:#db7f9a;color:white;overflow:hidden}.signup-inner{position:relative;padding:83px 0;text-align:center}.signup-inner .kicker{color:#ffecdb}.signup-inner h2{font-size:clamp(37px,4.7vw,62px);margin-bottom:16px}.signup-inner h2 em{color:#ffedc8}.signup-inner p{font-size:14px;line-height:1.8;max-width:510px;margin:0 auto 28px;color:#fff9}.btn-white{background:#fff;color:#a95c7e}.btn-white:hover{background:#fff4ee}.signup-star{position:absolute;top:75px;left:8%;font-size:78px;color:#ffdbb3}.signup-deco{position:absolute;right:8%;top:90px;font-size:115px;color:#ffd1d7;transform:rotate(-22deg)}.signup-deco span{font-size:25px;position:absolute;top:-12px;right:-26px}footer{background:#fffaf6}.footer-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer a:last-child{font-size:12px;color:#887985;font-weight:700;margin:0}footer .logo{color:var(--ink)}
@media(max-width:950px){.nav-links{display:none}.hero-grid{grid-template-columns:1fr 1fr}.hero-visual{height:420px}.hero-highlights{gap:12px}.program-grid{gap:35px}.faq-grid{gap:40px}.benefits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container{width:min(100% - 34px,550px)}.nav{height:70px}.logo{font-size:18px}.logo-mark{font-size:25px}.btn-small{font-size:11px;padding:10px 12px}.hero{padding:46px 0 55px}.hero-grid,.program-grid,.faq-grid{grid-template-columns:1fr}.hero-text{text-align:left}.hero-text h1{font-size:clamp(45px,10vw,64px)}.hero-text>p{font-size:14px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-actions .btn{font-size:12px}.hero-highlights{margin-top:25px}.hero-visual{height:370px;margin-top:8px}.main-photo{width:75%;height:93%}.sticker-top{left:3%;top:12px;width:88px;height:88px;font-size:23px}.sticker-bottom{width:121px;height:121px;right:1%;bottom:5px;font-size:12px}.sticker-bottom strong{font-size:13px}.section{padding:70px 0}.benefits{gap:12px}.benefit{padding:20px 16px}.benefit-icon{margin-bottom:15px}.benefit h3{font-size:16px}.benefit p{font-size:12px}.program-card{padding:25px 22px;transform:none}.gallery-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-tile{height:240px}.gallery-tile .photo-fallback strong{font-size:20px}.gallery-tile .photo-fallback span{font-size:40px}.gallery-tile .photo-fallback small{font-size:10px}.faq-grid{gap:5px}.signup-inner{padding:75px 0}.signup-star{opacity:.25;left:-15px;top:12px}.signup-deco{opacity:.17;right:0;top:50px}.footer-row{padding:28px 0;flex-wrap:wrap}.footer-row p{width:100%;order:3}}

.lead-form{max-width:610px;margin:25px auto 0;padding:26px;text-align:left;background:#ffffff18;border:1px solid #ffffff60;border-radius:26px;display:grid;gap:16px}.lead-form label{display:grid;gap:7px;font-size:13px;font-weight:800}.lead-form input:not([type=checkbox]),.lead-form select{width:100%;border:1px solid #ffffff80;border-radius:15px;padding:15px 17px;font:600 14px Manrope,sans-serif;color:#3a2b3a;background:#fff;outline-offset:3px}.lead-form .lead-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;font-weight:500;line-height:1.6}.lead-consent input{margin:4px 0 0;width:17px;height:17px;flex:none}.lead-consent a{text-decoration:underline}.lead-form button{justify-self:start;cursor:pointer}.lead-form .lead-status{color:#fff;margin:0;font-size:12px;max-width:none}.privacy-section{padding:28px 0;background:#fff5f2}.privacy-section h2{font-size:19px;letter-spacing:0;margin:0 0 8px}.privacy-section p{font-size:12px;line-height:1.7;color:#81717b;margin:0;max-width:800px}@media(max-width:680px){.lead-form{padding:18px}.lead-form button{width:100%}}

.gallery-grid-rich{grid-template-columns:1.2fr 1fr 1fr;align-items:stretch}.gallery-card{position:relative;margin:0;border-radius:28px;overflow:hidden;background:#f9e0e7;box-shadow:0 16px 40px #6a445e14;min-height:280px}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block}.gallery-card figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(48,37,56,.62);color:#fff;padding:13px 14px;border-radius:16px;font-size:12px;font-weight:700;backdrop-filter:blur(8px)}.gallery-large{grid-row:span 2;min-height:580px}.achievements-section{background:linear-gradient(180deg,#fffaf6 0%,#fff3ef 100%)}.achievements-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.achievements-copy p{line-height:1.85;color:#7f7380;font-size:14px;max-width:480px}.achievements-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}.achievements-list li{position:relative;padding-left:28px;font-size:13px;font-weight:800;color:#584d58}.achievements-list li:before{content:'✦';position:absolute;left:0;top:0;color:var(--pink)}.achievement-photo-wrap{display:flex;justify-content:center}.achievement-stack{position:relative;width:min(100%,470px);height:520px}.stack-photo{position:absolute;overflow:hidden;border-radius:30px;box-shadow:0 25px 60px #9c647b22;background:#f7dfe4}.stack-photo img{width:100%;height:100%;object-fit:cover;display:block}.stack-top{width:72%;height:68%;right:0;top:0;transform:rotate(4deg)}.stack-bottom{width:58%;height:48%;left:0;bottom:24px;transform:rotate(-6deg);border:8px solid #fff7f2}.lead-form button:disabled{opacity:.7;cursor:wait}.main-photo{background-position:center 40%}
@media(max-width:950px){.gallery-grid-rich{grid-template-columns:1fr 1fr}.gallery-large{grid-row:auto;min-height:360px}.achievements-grid{grid-template-columns:1fr;gap:34px}.achievement-stack{height:460px}}
@media(max-width:680px){.gallery-grid-rich{grid-template-columns:1fr}.gallery-card,.gallery-large{min-height:240px}.gallery-card figcaption{font-size:11px;padding:11px 12px}.achievement-stack{height:380px}.stack-top{width:78%;height:60%}.stack-bottom{width:63%;height:43%}}

.contacts-section{background:#fffaf6}.contacts-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.contacts-intro{max-width:550px;color:#827682;line-height:1.8}.contacts-items{display:grid;gap:21px;margin:30px 0}.contacts-items>div{display:flex;flex-direction:column;gap:7px}.contacts-items span{font-size:12px;color:#a47489;font-weight:800}.contacts-items strong,.contacts-items a{font-size:16px;line-height:1.55;font-weight:800}.contacts-items a:hover{color:var(--pink)}.contacts-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-outline{color:var(--ink);background:transparent;border:1px solid #debcc8;box-shadow:none}.btn-outline:hover{color:white}.location-card{min-height:370px;background:linear-gradient(145deg,#fce2e7,#efdef9 65%,#fff2db);border-radius:35px;padding:38px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:13px;box-shadow:0 16px 45px #71456716}.location-card .location-pin{font-size:65px;color:#db7297}.location-card strong{font:900 25px Nunito,sans-serif}.location-card>span:not(.location-pin){color:#806b80;font-size:13px}.location-card .map-action{display:inline-block;color:#ad587d!important;background:#fff;padding:13px 18px;border-radius:40px;margin-top:16px;font-weight:800}.footer-row{flex-wrap:wrap}
@media(max-width:850px){.contacts-grid{grid-template-columns:1fr;gap:30px}.location-card{min-height:265px}}@media(max-width:680px){.contacts-actions .btn{width:100%}.contacts-items strong,.contacts-items a{font-size:14px}.location-card{min-height:250px}}

/* Compact, top-aligned hero: avoids the oversized blank band under navigation. */
@media (min-width: 951px) {
  .hero { padding-top: 32px; padding-bottom: 64px; }
  .hero-grid { align-items: start; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 30px; }
  .hero-text { padding-top: 10px; }
  .hero-text h1 { font-size: clamp(44px, 4vw, 59px); line-height: 1.08; margin: 19px 0 18px; }
  .hero-visual { height: 430px; margin-top: 8px; }
  .main-photo { height: 92%; }
  .hero-actions { margin-top: 22px; }
  .hero-highlights { margin-top: 25px; }
}
@media (min-width: 681px) and (max-width: 950px) {
  .hero { padding-top: 30px; padding-bottom: 60px; }
  .hero-grid { align-items: start; }
  .hero-text h1 { font-size: clamp(38px, 4.8vw, 51px); line-height: 1.1; margin: 17px 0; }
  .hero-visual { height: 390px; margin-top: 20px; }
  .hero-actions { margin-top: 18px; }
  .hero-highlights { margin-top: 20px; }
}
@media (max-width: 680px) {
  .hero { padding-top: 22px; padding-bottom: 45px; }
  .hero-text h1 { font-size: clamp(35px, 8.8vw, 49px); line-height: 1.12; margin: 18px 0 14px; }
  .hero-text > p { line-height: 1.65; }
  .hero-visual { margin-top: 0; }
  .hero-actions { margin-top: 20px; }
}

/* Responsive layout polish — October 2026 */
html{scroll-padding-top:82px}body{overflow-x:hidden}img{max-width:100%}
.section{padding-block:clamp(48px,5.5vw,76px)}
.hero{padding-block:30px 18px}.hero-grid{align-items:center;gap:clamp(20px,3vw,45px)}
.hero-visual{height:clamp(335px,29vw,450px);margin-top:0}
.main-photo{height:91%;width:78%}
.hero-text>p{line-height:1.7;margin-bottom:0}
.hero-highlights{margin-top:22px}
.wave{display:none}
.center-head{margin-bottom:34px}
.gallery-heading{margin-bottom:26px}
.gallery-card{height:295px;min-height:0}
.gallery-large{height:auto;min-height:610px}
.gallery-grid-rich{grid-auto-rows:295px}
.achievements-section{overflow:hidden}
.achievement-stack{height:450px}
.signup-inner{padding-block:clamp(54px,6vw,76px)}
@media(min-width:951px){
 .hero{padding-top:24px;padding-bottom:22px}
 .hero-grid{align-items:center}
 .hero-text{padding-top:0}
 .hero-text h1{font-size:clamp(43px,3.75vw,58px);margin:16px 0 17px;line-height:1.09}
 .hero-visual{height:clamp(350px,29vw,440px);margin:0}
 .main-photo{height:92%}
 .hero-actions{margin-top:18px}
 .hero-highlights{margin-top:20px}
}
@media(min-width:681px) and (max-width:950px){
 .hero{padding-block:24px 25px}
 .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}
 .hero-visual{height:clamp(320px,36vw,390px);margin-top:0}
 .hero-text h1{font-size:clamp(34px,4.7vw,48px)}
 .hero-highlights{margin-top:16px}
 .gallery-grid-rich{grid-auto-rows:275px}
 .gallery-card{height:275px}.gallery-large{height:275px;min-height:0}
}
@media(max-width:680px){
 .container{width:calc(100% - 32px)}
 .hero{padding-top:22px;padding-bottom:22px}
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .hero-text h1{font-size:clamp(34px,9vw,48px);overflow-wrap:normal}
 .hero-visual{height:clamp(270px,82vw,370px);margin:0 auto;width:100%}
 .main-photo{width:73%;height:94%}
 .sticker-top{top:8px}.sticker-bottom{bottom:2px}
 .hero-highlights{margin-top:18px;gap:9px 14px}
 .section{padding-block:48px}
 .center-head{margin-bottom:28px}
 .benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-grid-rich{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px;gap:10px}
 .gallery-card,.gallery-large{height:220px;min-height:0;border-radius:18px}
 .gallery-card:first-child{grid-column:span 2;height:290px}
 .gallery-card figcaption{left:8px;right:8px;bottom:8px;font-size:10px;line-height:1.35}
 .achievement-stack{height:370px}
 .signup-inner{padding-block:56px}
 .footer-row{min-height:0}
}
@media(max-width:390px){
 .logo{font-size:16px}.nav{gap:8px}.btn-small{padding:9px 11px}
 .hero-text h1{font-size:33px}
 .hero-actions .btn{width:100%}.hero-actions .quiet-link{margin:auto}
 .benefits{grid-template-columns:1fr}
 .gallery-grid-rich{grid-template-columns:1fr;grid-auto-rows:250px}
 .gallery-card:first-child{grid-column:auto;height:290px}
 .gallery-card{height:250px}
 .hero-visual{height:285px}
}
@media(max-width:680px){.gallery-grid-rich{grid-auto-rows:auto}.gallery-card,.gallery-large{height:225px}.gallery-card:first-child{height:290px}}
@media(max-width:390px){.gallery-card{height:250px}.gallery-card:first-child{height:290px}}
/* Desktop full-height panels aligned precisely below sticky navigation */
:root{--navh:78px}
html{scroll-padding-top:var(--navh)}main>section{scroll-margin-top:var(--navh)}
@media(min-width:951px) and (min-height:600px){
 html{scroll-snap-type:y proximity}
 main>section:not(.privacy-section){min-height:calc(100svh - var(--navh));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(15px,2.6vh,34px);scroll-snap-align:start;scroll-snap-stop:always}
 .hero .wave{display:none}.hero-grid{width:min(1160px,calc(100% - 44px))}.hero-visual{height:min(49vh,420px)}.hero-text h1{font-size:clamp(40px,3.7vw,57px)}.hero-highlights{margin-top:18px}
 .about .center-head{margin-bottom:clamp(15px,3vh,30px)}.benefit{padding:19px}.benefit-icon{margin-bottom:14px}
 .program-grid{gap:50px}.program-card{padding:23px 28px}.program-card li{padding:11px 0}.program-foot{margin-top:12px;padding:11px 15px}
 .gallery-heading{margin-bottom:15px}.gallery-grid-rich{grid-auto-rows:clamp(155px,26vh,240px);gap:13px}.gallery-card,.gallery-large{height:auto;min-height:0}.gallery-card figcaption{left:9px;right:9px;bottom:9px;padding:8px 10px;font-size:11px}
 .achievement-stack{height:min(56vh,435px)}.faq-grid,.contacts-grid{align-items:center}
 .signup-inner{padding-block:0}.signup-inner h2{font-size:clamp(32px,3.25vw,49px);line-height:1.08;margin-bottom:10px}.signup-inner p{margin-bottom:11px}
 .lead-form{margin-top:12px;padding:14px 20px;gap:8px}.lead-form input:not([type=checkbox]),.lead-form select{padding:10px 13px}.lead-form button{padding:11px 22px}.lead-form .lead-status{margin:0;line-height:1.3}.signup-star{top:1%}.signup-deco{top:8%}
}
@media(min-width:951px) and (max-height:720px){main>section:not(.privacy-section){padding-block:12px}.gallery-grid-rich{grid-auto-rows:clamp(135px,24vh,180px)}.gallery-heading h2{font-size:39px}.hero-visual{height:44vh}.center-head h2{font-size:40px}.benefit{padding:13px}.benefit-icon{width:46px;height:46px;margin-bottom:8px}.signup-inner h2{font-size:34px}}
@media(max-width:950px),(max-height:599px){html{scroll-snap-type:none}main>section{min-height:0;scroll-snap-align:none}}

/* Gallery fix: show full photos without ugly crop */
.gallery-card{
  background:#f6edf0 !important;
}
.gallery-card img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#f6edf0;
}
.gallery-card figcaption{
  background:rgba(48,37,56,.72);
}
@media(min-width:951px){
  .gallery-card img{padding:0;}
}



/* Rebuilt photo carousel: portrait photography, no filler panels */
.gallery-section .gallery-carousel {
  width: 100%;
  position: relative;
  max-width: 1160px;
  margin-inline: auto;
  display: block;
  overflow: hidden;
}
.gallery-section #photo-track.gallery-grid {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  gap: clamp(14px, 2vw, 26px) !important;
  width: 100%;
  padding: 10px max(12px, calc((100% - min(43vh, 402px)) / 2)) 22px !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
}
.gallery-section #photo-track::-webkit-scrollbar {display:none}
.gallery-section #photo-track .gallery-card,
.gallery-section #photo-track .gallery-card:first-child,
.gallery-section #photo-track .gallery-large {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: min(43vh, 402px) !important;
  height: min(57.33vh, 536px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 27px !important;
  overflow: hidden !important;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  background: #f8e8ed !important;
  box-shadow: 0 17px 38px #59365116 !important;
  opacity: .55;
  transform: scale(.95);
  transition: transform .3s ease, opacity .3s ease;
  isolation: isolate;
}
.gallery-section #photo-track .gallery-card.is-active {
  opacity: 1;
  transform: scale(1);
}
.gallery-section #photo-track .gallery-card::before { display:none !important; }
.gallery-section #photo-track .gallery-card img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  background:none !important;
}
.gallery-section #photo-track .gallery-card figcaption {
  position:absolute !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
  top:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:65px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:28px 18px 15px !important;
  margin:0 !important;
  color:white !important;
  background:linear-gradient(to top,rgba(39,23,39,.78),rgba(39,23,39,0)) !important;
  border-radius:0 !important;
  font-size:13px !important;
  font-weight:800;
  line-height:1.4 !important;
  text-align:center;
  backdrop-filter:none !important;
}
.gallery-section .gallery-arrow {
  position:absolute !important;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  width:52px;
  height:52px;
  font-size:34px;
  background:white;
  color:#302538;
  box-shadow:0 8px 26px #30253833;
  cursor:pointer;
}
.gallery-section .gallery-prev {left:12px}
.gallery-section .gallery-next {right:12px}
.gallery-section .gallery-arrow:disabled {opacity:.3;cursor:default}
.gallery-progress {display:flex;justify-content:center;gap:18px;font-size:12px;font-weight:700;color:#a36d83}
.gallery-dots {display:flex;justify-content:center;align-items:center;gap:8px;margin:10px 0}
.gallery-dots button {width:9px;height:9px;border:0;border-radius:12px;background:#e7ccd5;padding:0;cursor:pointer}
.gallery-dots button.is-active {width:26px;background:#e8799c}
@media(min-width:951px) and (min-height:600px) {
  .gallery-section #photo-track.gallery-grid {
    padding-inline:max(12px, calc((100% - min(41vh, 375px)) / 2)) !important;
  }
  .gallery-section #photo-track .gallery-card,
  .gallery-section #photo-track .gallery-card:first-child,
  .gallery-section #photo-track .gallery-large {
    width:min(41vh, 375px) !important;
    height:min(54.67vh, 500px) !important;
  }
}
@media(max-width:680px) {
  .gallery-section #photo-track.gallery-grid {
    padding:8px calc((100% - min(74vw, 370px)) / 2) 16px !important;
    gap:14px !important;
  }
  .gallery-section #photo-track .gallery-card,
  .gallery-section #photo-track .gallery-card:first-child,
  .gallery-section #photo-track .gallery-large {
    width:min(74vw, 370px) !important;
    height:min(98.67vw, 493px) !important;
    border-radius:19px !important;
  }
  .gallery-section .gallery-arrow {width:38px;height:38px;font-size:28px}
  .gallery-section .gallery-prev{left:0}
  .gallery-section .gallery-next{right:0}
}

/* Centered infinite carousel: no empty margin at the first slide. */
.gallery-section #photo-track { scroll-padding-inline: 0 !important; }
.gallery-section #photo-track .gallery-card { flex-shrink: 0 !important; }
.gallery-section .gallery-arrow { z-index: 10; }
