/* Beauty Center — shared pages, approved hero v15 left unchanged apart from alignment and header. */
html{scroll-padding-top:104px}
.section[id]{scroll-margin-top:100px}
.gift-section{background:#fffdfa;padding:clamp(44px,5vw,86px) 0}
.gift-main-title{margin:0 auto clamp(23px,3vw,44px);max-width:1200px;text-align:center;font:600 clamp(30px,3.5vw,53px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-.025em}
.gift-main-title .gold{color:#ae712e}
.gift-section .giftlayout{display:grid;grid-template-columns:1.07fr 1fr .87fr;background:#fcf3e7;border:1px solid #e9d6bf;align-items:stretch;overflow:visible;border-radius:9px;box-shadow:0 17px 45px rgba(81,53,22,.09)}
.gift-section .giftlayout>img{width:100%;height:100%;min-height:410px;object-fit:cover;object-position:center;border-radius:8px 0 0 8px}
.gift-section .giftlayout>.body{padding:clamp(22px,2.3vw,40px) clamp(17px,2vw,32px);display:flex;flex-direction:column;justify-content:center}
.gift-section .giftlayout>.body h3{font:600 clamp(21px,1.75vw,30px)/1.2 'Playfair Display',Georgia,serif;margin:0 0 15px}
.gift-steps{list-style:none;counter-reset:gift-step;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
.gift-steps li{counter-increment:gift-step;display:flex;align-items:center;gap:10px;font:500 clamp(12px,.96vw,15px)/1.35 Manrope,Arial,sans-serif}
.gift-steps li::before{content:counter(gift-step);display:grid;place-items:center;width:23px;height:23px;border:1px solid #c79752;border-radius:50%;flex:0 0 23px;color:#9a6127;font-size:11px}
.gift-allergy{color:#665244;font-size:12px;margin:15px 0 12px;line-height:1.5!important}
.gift-allergy::before{content:'✓';color:#a66e25;margin-right:8px;font-weight:bold}
.gift-detail-link{text-align:left;margin-top:auto;line-height:1.5;font-size:clamp(12px,1vw,14px);text-decoration:underline;text-decoration-color:#b87f3e;text-underline-offset:4px}
.gift-detail-link span{display:inline-block;transition:transform .2s}
.gift-detail-link:hover span{transform:translateX(5px)}
.gift-section .giftlayout form{padding:clamp(18px,2vw,31px);margin:clamp(12px,1.6vw,23px);align-self:center;background:#fffdfa;border:1px solid #f0e3d2;border-radius:8px;box-shadow:0 8px 22px #603b1810;min-width:0}
.gift-section .giftlayout form h3{font-size:clamp(19px,1.65vw,27px);line-height:1.3;margin:0 0 10px}
.gift-section .giftlayout form .field{font-size:12px}
.catcard{display:flex;flex-direction:column;width:100%;height:100%;padding:0;text-align:left;border:1px solid #ece0cf;border-radius:8px;overflow:hidden;background:#fffefa;color:var(--ink);box-shadow:0 9px 24px #38230e11;transform:translateY(0) scale(1);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;cursor:pointer;min-width:0}
.catcard:hover,.catcard:focus-visible{transform:translateY(-6px) scale(1.013);border-color:#ceae81;box-shadow:0 21px 37px #60402125,0 0 0 2px #f1dcc45e}
.catcard:focus-visible{outline:2px solid #a87638;outline-offset:4px}
.catcard>img{width:100%;height:clamp(160px,15vw,215px);object-fit:cover;transition:transform .3s ease}
.catcard:hover>img{transform:scale(1.035)}
.catcard .pad{flex:1;display:flex;flex-direction:column;padding:clamp(14px,1.5vw,23px)}
.catcard h3{font:600 clamp(19px,1.52vw,24px)/1.2 'Playfair Display',Georgia,serif;min-height:auto;margin:0 0 9px}
.catcard .cat-description{color:#665b51;font:400 12px/1.65 Manrope,Arial,sans-serif;margin:0 0 11px;min-height:38px}
.catcard .cat-info{color:#938075;font:12px/1.4 Manrope,Arial,sans-serif;margin-top:auto}
.catcard .cat-cta{display:block;margin-top:13px;font-weight:700;color:#9b5e21;font-size:13px}
.catcard .cat-cta span{display:inline-block;transition:transform .2s}
.catcard:hover .cat-cta span{transform:translateX(6px)}
.cat-modal-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,33%);align-items:center;gap:20px;padding:16px;background:#f7eadb;border-radius:8px;margin:18px 0 22px}
.cat-modal-intro p{font-size:14px;line-height:1.65;margin:0;max-width:520px}
.cat-modal-intro img{grid-column:2;grid-row:1;width:100%;height:170px;object-fit:cover;border-radius:5px}
.itemline{padding:15px 10px;border-radius:7px;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}
.itemline:hover,.itemline:focus-within{background:#f5e9d8;box-shadow:inset 3px 0 0 #bb8847;transform:translateX(2px)}
.itemline .mini{border-radius:5px;transition:background .16s,color .16s}
.itemline .mini:hover{background:#a57137;color:white}
.modalinner{border-radius:9px}
.modalinner:has(.gift-modal) {width:min(1050px,100%)}
.gift-modal>img{width:100%;height:clamp(190px,24vw,300px);object-fit:cover;object-position:center 42%;border-radius:7px;margin:10px 0 23px}
.gift-modal>h2{max-width:930px}
.gift-modal-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:22px 0}
.gift-modal-steps>div{border-left:2px solid #d7b080;padding:10px 12px;background:#f9eee1}
.gift-modal-steps b{color:#704822;font-size:15px}
.gift-modal-steps p{font-size:13px;line-height:1.65;margin:7px 0 0}
.gift-modal .leadform{max-width:680px;margin:25px auto 0}
.detail-section{padding-top:clamp(38px,4vw,75px)}
.detail-section .detail-lead{gap:clamp(24px,5vw,75px);align-items:center;grid-template-columns:minmax(0,1fr) minmax(270px,.95fr)}
.detail-section .detail-lead .photo{width:100%;height:auto;aspect-ratio:1.42;min-height:0;max-height:none;object-fit:cover;border-radius:10px;box-shadow:0 14px 36px #4d2d151a}
.detail-section .detail-lead h1{line-height:1.1}
.detail-prose{margin:clamp(35px,4vw,65px) auto;max-width:none;width:100%;padding-top:25px;border-top:1px solid #dfc6aa}
.detail-prose h2{margin-bottom:28px}
.detail-prose p{max-width:none;width:100%;padding:0 0 18px;margin:0 0 21px;border-bottom:1px solid #e5d6c3;font-size:clamp(14px,1.07vw,17px);line-height:1.82}
.detail-prose p:last-child{border:0}
.detail-form{max-width:750px;width:100%;margin:35px auto 25px;border:1px solid #dbc1a2;border-radius:9px;background:#f7eee2;padding:clamp(22px,3vw,42px);text-align:center}
.detail-form form{max-width:580px;margin:15px auto 0;text-align:left}
.detail-form h2{margin:0 0 10px}
.detail-form>p{font-size:14px;color:#66564a;margin-bottom:20px}
@media(max-width:1100px){
 .gift-section .giftlayout{grid-template-columns:1fr 1fr}
 .gift-section .giftlayout>img{min-height:360px}
 .gift-section .giftlayout form{grid-column:1/-1;max-width:650px;width:calc(100% - 32px);margin:16px auto 22px}
 .catcard>img{height:195px}
}
@media(max-width:680px){
 .gift-main-title{text-align:left;font-size:clamp(27px,7vw,36px)}
 .gift-section .giftlayout{display:grid;grid-template-columns:1fr}
 .gift-section .giftlayout>img{height:290px;min-height:0;border-radius:8px 8px 0 0}
 .gift-section .giftlayout>.body{padding:25px 19px}
 .gift-steps{grid-template-columns:1fr 1fr;gap:12px 5px}
 .gift-steps li{font-size:12px}
 .gift-section .giftlayout form{width:calc(100% - 30px)}
 .catcard>img{height:clamp(145px,29vw,195px)}
 .catcard .pad{padding:14px}
 .catcard h3{font-size:17px}
 .catcard .cat-description{font-size:11px}
 .cat-modal-intro{grid-template-columns:1fr;gap:11px}
 .cat-modal-intro img{grid-column:1;grid-row:1;height:180px}
 .gift-modal-steps{grid-template-columns:1fr}
 .detail-section .detail-lead{display:flex;flex-direction:column;gap:24px;align-items:stretch}
 .detail-section .detail-lead .photo{order:0;aspect-ratio:1.45}
 .detail-prose p{font-size:14px}
}
@media(max-width:390px){.cataloggrid{gap:12px}.catcard>img{height:132px}.catcard .pad{padding:12px}.catcard h3{font-size:16px}.catcard .cat-description{min-height:55px}.gift-main-title{font-size:27px}}
@media(prefers-reduced-motion:reduce){.catcard,.catcard img,.cat-cta span,.itemline{transition:none!important}}


/* v17 content refresh */
.gift-pretitle{text-align:center;margin:0 0 12px}
.gift-section .giftlayout>.body h3{font:600 clamp(22px,1.75vw,31px)/1.28 'Playfair Display',Georgia,serif;margin:0 0 14px}
.gift-section .giftlayout>.body p{margin:0 0 14px;font-size:14px;line-height:1.8;color:#5b4b3d}
.gift-allergy{font-size:13px!important;color:#5a4434!important;margin:2px 0 14px!important}
.gift-allergy::before{content:'✓';color:#a66e25;margin-right:8px;font-weight:700}
.gift-section .giftlayout form .form-intro{font-size:13px;line-height:1.7;color:#66564a;margin:0 0 12px}
.gift-section .giftlayout form .btn{width:100%}
.home-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.home-services-grid .catcard{min-height:100%}
.catcard h3{min-height:3.55em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.catcard .cat-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.3em;margin-bottom:18px}
.catcard .cat-cta{margin-top:auto}
.consult-section,.comfort-section{padding:82px 0}
.consult-section .split,.comfort-section .split{align-items:center;gap:clamp(28px,5vw,74px)}
.consult-section .photo,.comfort-section .photo{width:100%;min-height:420px;max-height:540px;object-fit:cover;border-radius:12px;box-shadow:0 18px 38px rgba(60,36,17,.14)}
.consult-section h2,.comfort-section h2{font-size:clamp(30px,3.2vw,48px);max-width:12ch}
.consult-section p,.comfort-section p{max-width:620px}
.comfort-section .photo{object-position:center 45%}
.conversion-section{padding:48px 0 72px}
.conversion-band{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px clamp(22px,3vw,42px);background:#fff7eb;border:1px solid #e3cfb4;border-radius:12px;box-shadow:0 16px 42px rgba(62,39,17,.08)}
.conversion-band h2{font-size:clamp(26px,2.55vw,40px);margin:6px 0 14px;max-width:14ch}
.conversion-band p{margin:0;max-width:580px;color:#625448}
.modal-form-intro h3{font-size:28px;line-height:1.25;margin:0 0 10px}
.modal-form-intro p{margin:0 0 18px;color:#635247}
@media(max-width:1100px){
 .home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .conversion-band{flex-direction:column;align-items:flex-start}
}
@media(max-width:680px){
 .consult-section .split .photo,.comfort-section .split .photo{order:1;min-height:260px;max-height:none}
 .consult-section,.comfort-section{padding:58px 0}
 .consult-section h2,.comfort-section h2,.conversion-band h2{max-width:none}
 .conversion-section{padding:34px 0 58px}
 .conversion-band{padding:24px 18px}
 .gift-pretitle{text-align:left}
 .gift-section .giftlayout>.body h3{font-size:26px}
}

.gift-modal form .btn{width:100%}

/* v18 updates: QUE, reviews, CTA, gift certificates */
.que-section{align-items:center;gap:clamp(24px,4vw,56px)}
.que-section .photo{min-height:320px;max-height:430px;object-fit:contain;background:linear-gradient(180deg,#f8efdf,#efe1c9);padding:14px}
.que-section h2{font-size:clamp(28px,3.05vw,44px);max-width:12ch}
.que-section p{max-width:640px}

.modalbody{max-height:none;overflow:visible}
.cat-modal-intro{padding:18px 20px;border:1px solid #ead7bd;align-items:start}
.cat-modal-intro h3{font:600 clamp(23px,2vw,30px)/1.2 'Playfair Display',Georgia,serif;margin:8px 0 12px;color:#3c2b1f}
.cat-modal-intro p.eyebrow{margin:0;color:#a87638}
.que-modal-intro img{height:132px;object-fit:contain;background:#fffaf1;border:1px solid #e8d7c0}
.que-modal-list{display:grid;gap:0}
.itemline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 8px;border-bottom:1px solid #eadfce}
.itemline-main{min-width:0}
.itemline .name{display:flex;align-items:center;gap:14px;min-width:0}
.item-text-wrap{display:block;min-width:0}
.itemline .money{min-width:100px;text-align:right;font-weight:800;white-space:nowrap}
.item-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.item-actions .mini{min-width:118px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:7px}
.tiny-product{width:64px;height:64px;object-fit:contain;flex:0 0 64px;background:#fff8ef;border:1px solid #ebdeca;border-radius:8px;padding:6px}
.modal-product-image{max-width:100%;max-height:260px;display:block;margin:10px auto 18px;object-fit:contain;background:#fff8ef;border:1px solid #ebdcc7;border-radius:8px;padding:10px}

.review-carousel{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.review-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 14px;scrollbar-width:none;-ms-overflow-style:none}
.review-viewport::-webkit-scrollbar{display:none}
.review-track{display:flex;gap:18px;align-items:stretch}
.review-card{flex:0 0 calc((100% - 36px)/3);min-width:calc((100% - 36px)/3);padding:0;border:0;background:#fff;border-radius:20px;box-shadow:0 10px 28px rgba(55,35,17,.08);overflow:hidden;scroll-snap-align:start;cursor:zoom-in;transition:transform .22s ease, box-shadow .22s ease}
.review-card:hover,.review-card:focus-visible{transform:scale(1.025);box-shadow:0 16px 34px rgba(55,35,17,.14)}
.review-card img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.review-nav{width:48px;height:48px;border-radius:50%;border:1px solid #dcc8aa;background:#fffdf7;color:#8f642a;font-size:24px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(40,24,9,.08)}
.review-nav:disabled{opacity:.45;cursor:default}
.review-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.review-dot{width:10px;height:10px;border-radius:50%;border:0;background:#d7c2a3}
.review-dot.active{background:#9f6d2e;transform:scale(1.12)}
.review-lightbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.review-lightbox-frame{max-height:76vh;overflow:auto;padding:4px}
.review-lightbox-frame img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.review-lightbox-nav{width:48px;height:48px;border-radius:50%;border:1px solid #dcc8aa;background:#fff;color:#8f642a;font-size:24px}

.conversion-section{padding:38px 0 58px}
.conversion-band{padding:24px clamp(22px,3vw,38px);gap:22px}
.conversion-band h2{font-size:clamp(24px,2.25vw,36px);max-width:16ch;margin:4px 0 10px}
.conversion-band p{max-width:700px}
.conversion-band>.btn{min-width:260px;justify-content:center}

.gift-cert-section .split{align-items:center;gap:clamp(24px,4vw,56px)}
.gift-cert-section .photo{min-height:300px;max-height:430px;object-fit:cover;border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.16)}
.gift-cert-section h2{font-size:clamp(30px,3vw,46px);max-width:13ch}
.gift-cert-section p{max-width:640px}
.gift-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.light-outline{background:transparent;color:#f5dfc2;border-color:#d9b98a}
.light-outline:hover{background:rgba(255,255,255,.08)}
.copy-status{min-height:24px;margin-top:12px;color:#f1debd}
.invite-gift-card{max-width:760px}
.invite-gift-card h1{font-size:clamp(34px,4.2vw,52px);line-height:1.08}
.invite-gift-card .invite-subtitle{font-size:20px;color:#6b4b2b;margin:12px 0 18px}
.invite-gift-card small{display:block;margin-top:18px;color:#7a624a;line-height:1.6}

.field-select{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;background:#fff;border:1px solid #d9c6ad;border-radius:4px}
.field-select select{width:100%;border:0;background:transparent;color:var(--ink);padding:0;font:inherit;min-height:26px}
.field-select span{font-size:12px;color:#7b6a5e}

@media(max-width:1024px){
  .review-card{flex-basis:calc((100% - 18px)/2);min-width:calc((100% - 18px)/2)}
  .conversion-band{align-items:flex-start}
}
@media(max-width:680px){
  .itemline{grid-template-columns:1fr;gap:10px;padding:16px 4px}
  .itemline .money,.item-actions{justify-content:flex-start;text-align:left}
  .item-actions{flex-wrap:wrap}
  .item-actions .mini{min-width:0;flex:1 1 140px}
  .cat-modal-intro,.review-lightbox{grid-template-columns:1fr}
  .que-modal-intro img{height:180px}
  .review-carousel{grid-template-columns:1fr;gap:12px}
  .review-nav{display:none}
  .review-card{flex-basis:100%;min-width:100%}
  .conversion-band{padding:22px 18px}
  .conversion-band>.btn{width:100%}
  .gift-actions{flex-direction:column}
  .gift-actions .btn{width:100%}
  .gift-cert-section .split{display:flex;flex-direction:column}
  .gift-cert-section .split>div{order:0}
  .gift-cert-section .gift-certificate-photo{order:1}
}
@media(prefers-reduced-motion:reduce){
  .review-card,.review-nav,.review-dot{transition:none!important}
}

/* V19 — compact gift, editorial procedure and subscription composition */
.gift-section{padding:clamp(54px,5vw,86px) 0;background:#fffdfa}
.gift-head{max-width:1040px;margin:0 auto clamp(25px,3vw,45px)}
.gift-head h2{font-size:clamp(32px,3.5vw,49px);line-height:1.14;letter-spacing:-.018em;margin:9px 0 13px}
.gift-head>p:last-child{font-size:clamp(13px,1.15vw,16px);margin:0;color:#6d5d50}
.gift-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,62px);align-items:center;background:#fbf3e8;border:1px solid #ecdbc5;border-radius:11px;padding:clamp(15px,1.7vw,26px)}
.gift-process-img{width:100%;height:clamp(380px,37vw,560px);object-fit:cover;object-position:50% 45%;border-radius:8px}
.gift-intro-copy{padding:clamp(8px,2vw,28px)}
.gift-intro-copy h3{font-size:clamp(26px,2.7vw,38px);margin:0 0 17px}
.gift-intro-copy>p{font-size:clamp(14px,1.1vw,17px);line-height:1.8;color:#665448;margin:0 0 22px}
.gift-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 28px}
.gift-highlights>div{display:flex;flex-direction:column;gap:6px;border-top:1px solid #d5b185;padding-top:12px}
.gift-highlights strong{font:600 clamp(15px,1.25vw,20px)/1.35 Georgia,serif;color:#a46e2c}
.gift-highlights span{font:12px/1.55 Manrope,Arial,sans-serif;color:#735b47}
.gift-intro-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:380px}
.gift-intro-actions .btn{width:100%;min-height:50px}
.new-subgrid{align-items:stretch}
.new-subgrid .subbox{min-height:345px;display:flex;flex-direction:column;padding:clamp(22px,2.7vw,37px);gap:0;border:1px solid #e6d5bd;border-radius:10px;box-shadow:0 12px 26px #3a291215}
.new-subgrid .subbox h3{min-height:0;font-size:clamp(22px,2.1vw,30px);margin:12px 0 13px}
.new-subgrid .subbox p:not(.eyebrow){font-size:13px;color:#6d5c50;line-height:1.7;min-height:0;margin:0 0 16px}
.new-subgrid .subbox .sub-accent{display:block;font-size:clamp(18px,1.75vw,27px);font-family:Georgia,serif;color:#a46e2c;margin:auto 0 18px}
.new-subgrid .subbox>.btn{width:100%;margin-top:0;min-height:48px}
.new-subgrid .sub-featured{background:linear-gradient(155deg,#fffaf1,#f5e5ce);border-color:#c99a5b}
.subs-more{text-align:center;margin:27px 0 0}
.reviews-source-link{max-width:670px;text-align:center;margin:0 auto;padding:36px;border:1px solid #e7d7c1;border-radius:10px;background:#fff9f1;color:#6a513a}
.reviews-source-link p{margin:4px 0 13px}
.invite-gift-card{background:linear-gradient(145deg,#fff7eb,#f0d5ae);border:1px solid #d8b887;border-radius:12px;box-shadow:0 24px 70px #0007}
@media(max-width:1024px){.gift-intro-grid{gap:18px}.gift-process-img{height:450px}.gift-intro-copy{padding:12px}.gift-highlights{gap:8px}.gift-intro-copy h3{font-size:30px}}
@media(max-width:700px){
 .gift-head{margin:0 auto 25px;text-align:center}.gift-head h2{font-size:clamp(29px,7.2vw,39px)}
 .gift-intro-grid{display:flex;flex-direction:column;padding:12px;gap:10px}
 .gift-process-img{height:auto;aspect-ratio:5/4;object-fit:cover}
 .gift-intro-copy{width:100%;padding:17px 10px 18px}
 .gift-intro-copy h3{font-size:28px}
 .gift-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0 25px}
 .gift-highlights span{font-size:10px}.gift-highlights strong{font-size:15px}
 .gift-intro-actions{max-width:none}
 .new-subgrid .subbox{min-height:305px}.new-subgrid .subbox h3{font-size:23px}
}

/* v20 refinements per latest brief */
:root{--soft-green:#eef6ec;--soft-green-border:#cfe2ca}
.sectionhead h2,.gift-head h2,.consult-section h2,.comfort-section h2,.conversion-band h2,.gift-cert-section h2,.que-section h2{text-wrap:balance}
.section{padding:clamp(44px,5vw,78px) 0}
.sectionhead{margin-bottom:26px}
.sectionhead p{max-width:760px}

/* hero gift CTA */
.gift-cta{min-height:74px;padding:12px 20px;border-radius:16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.gift-cta-icon{width:88px;height:auto;align-self:center;justify-self:center;margin:-18px 0 -18px -6px}
.gift-cta-copy{display:grid;gap:2px;text-align:left;min-width:0}
.gift-cta-copy span,.gift-cta-copy strong{display:block;white-space:normal;line-height:1.22}
.gift-cta-copy span{font-size:16px}
.gift-cta-copy strong{font-size:18px}

/* free procedure */
.gift-intro-actions{align-items:center;max-width:none}
.gift-intro-actions .btn{width:min(100%,360px)}

.consult-actions{display:flex;justify-content:center}
.consult-actions .btn{min-width:280px}
.comfort-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.comfort-tags span{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:#fff9f0;border:1px solid #ead3b5;font-size:13px;color:#6b4f34;box-shadow:0 6px 18px rgba(77,49,17,.06)}

/* subscriptions */
.new-subgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.new-subgrid .subbox{position:relative}
.sub-meta{display:flex;justify-content:space-between;gap:12px;margin:6px 0 16px;padding-top:12px;border-top:1px solid #ead9c0;font-size:13px;color:#6d5b4e}
.sub-hit{background:linear-gradient(180deg,#f4f9f1,#edf6e8)!important;border-color:var(--soft-green-border)!important}
.sub-hit-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#dcefd9;color:#4c7b48;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;width:max-content}
.sub-double-actions{display:grid;gap:10px;margin-top:18px}
.sub-double-actions .btn{width:100%}
.subscription-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.subscription-modal-card{border:1px solid #ead7bd;border-radius:14px;padding:20px;background:#fffdfa;box-shadow:0 12px 28px rgba(52,34,17,.06)}
.subscription-modal-card.featured{background:linear-gradient(180deg,#f4f9f1,#edf6e8);border-color:var(--soft-green-border)}
.subscription-modal-card h3{font:600 clamp(20px,1.7vw,28px)/1.2 'Playfair Display',Georgia,serif;margin:10px 0 10px}
.subscription-price-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:14px 0 16px;font-size:13px;color:#6d5b4e}
.subscription-price-row strong{font:600 clamp(20px,1.7vw,28px)/1.2 Georgia,serif;color:#8f642a}
.all-inclusive-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:0;margin:0 0 18px;list-style:none}
.all-inclusive-list li{position:relative;padding-left:16px;font-size:13px;line-height:1.5;color:#4f4338}
.all-inclusive-list li::before{content:'•';position:absolute;left:0;top:0;color:#8f642a}

/* QUE */
.que-section .photo{min-height:360px;max-height:440px;object-fit:cover;background:none;padding:0;border-radius:14px}
.que-modal-intro img{height:180px;object-fit:cover;background:none;padding:0;border-radius:10px}
.modal-product-image{background:#fff;border:none;padding:0;object-fit:cover}

/* reviews */
.review-card img{object-fit:contain}

/* cta */
.conversion-band{align-items:center}
.conversion-band h2{max-width:none;white-space:nowrap}

/* gift certificate */
.gift-cert-section .wrap{align-items:stretch}
.gift-offer-card{padding:18px 20px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.07);margin:18px 0 0}
.gift-offer-card h3{font:600 clamp(22px,2vw,30px)/1.2 'Playfair Display',Georgia,serif;margin:0 0 10px}
.gift-offer-card p{margin:0 0 16px;max-width:620px}
.gift-offer-card .btn{min-width:300px}
.light-text{color:#fff!important;border-color:#e1c39a!important}
.copy-status{margin-top:10px}

/* FAQ */
.faq-head{max-width:850px;margin-inline:auto;text-align:center}
.faq{max-width:850px;margin:0 auto}
.faq details{border-bottom:1px solid #e9dbca;padding:0}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;cursor:pointer;font-weight:700;font-size:18px;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary span:first-child{flex:1}
.faq details p{margin:0 0 20px;color:#5d5045;line-height:1.75;padding-right:44px}
.faq-arrow{width:14px;height:14px;border-right:2px solid #9a6a33;border-bottom:2px solid #9a6a33;transform:rotate(45deg);transition:transform .28s ease;flex:0 0 14px;margin-right:6px}
.faq details[open] .faq-arrow{transform:rotate(-135deg) translate(-2px,2px)}

/* gallery */
.gallery-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.gallery-marquee{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;padding:6px 0 18px}
.gallery-marquee::-webkit-scrollbar{display:none}
.gallery-track{display:flex;gap:14px;align-items:stretch;width:max-content}
.gallery-card{display:block;padding:0;border:0;background:none;border-radius:18px;overflow:visible;cursor:zoom-in;flex:0 0 auto}
.gallery-card img{display:block;height:260px;width:auto;border-radius:18px;box-shadow:0 12px 28px rgba(48,29,12,.1);transition:transform .28s ease, box-shadow .28s ease, filter .28s ease}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.04);box-shadow:0 18px 34px rgba(48,29,12,.16);filter:brightness(1.02)}
.gallery-arrow{width:46px;height:46px;border-radius:50%;border:1px solid #dcc8aa;background:#fffdf7;color:#8f642a;font-size:28px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(40,24,9,.08)}
.gallery-lightbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.gallery-lightbox .review-lightbox-frame img{max-height:80vh;object-fit:contain}

/* contacts */
.contactgrid{grid-template-columns:minmax(320px,1fr) minmax(360px,1.05fr);gap:28px;align-items:stretch}
.contact-panel,.contact-map-card{background:#fff;padding:24px;border-radius:20px;border:1px solid #eadcc8;box-shadow:0 14px 34px rgba(54,34,16,.08)}
.contact-items{display:grid;gap:12px;margin:22px 0}
.contact-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#fff9f0;border:1px solid #eee0ca}
.contact-item strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#8a6840;margin-bottom:4px}
.contact-item span,.contact-item a{font-size:16px;color:#3f2e23}
.contact-phone a{font-size:24px;font-weight:800;color:#8f642a;text-decoration:none}
.contact-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f4e8d6;flex:0 0 34px}
.contact-actions-top{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.contact-actions-top .btn{flex:1 1 220px;justify-content:center}
.contact-route .btn{min-width:220px;justify-content:center}
.contact-social-title{margin:20px 0 10px;font-weight:700;color:#574636}
.contact-socials{display:flex;gap:10px;flex-wrap:wrap}
.social-btn,.footer-social{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:52px;padding:0 14px;border-radius:999px;background:#f8f0e4;border:1px solid #e5d4bc;color:#7d5724;text-decoration:none;font-weight:800;transition:transform .2s ease, box-shadow .2s ease, background .2s ease}
.social-btn:hover,.footer-social:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(52,34,15,.12)}
.social-btn.disabled{opacity:.55;cursor:default}
.contact-map-card iframe{width:100%;height:100%;min-height:420px;border:0;border-radius:16px}

/* footer */
.sitefooter{padding:42px 0 26px;background:#2f2118}
.footergrid-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.sitefooter h4{margin:0 0 14px;font-size:18px;color:#f6ead6;font-weight:800}
.sitefooter p,.sitefooter a,.sitefooter span{color:#e7d8c0;line-height:1.6}
.sitefooter a{text-decoration:none;display:block;margin:0 0 8px;transition:color .2s ease}
.sitefooter a:hover{color:#fff2de}
.footer-socials{display:flex;gap:10px;margin-top:12px}
.footer-social{display:inline-flex!important;color:#7d5724!important;background:#f8f0e4}
.footnote-legal{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;font-size:13px;color:#d9c6ab}
.footnote-legal>div{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1100px){
  .new-subgrid,.subscription-modal-grid{grid-template-columns:1fr}
  .all-inclusive-list{grid-template-columns:1fr}
  .contactgrid,.footergrid-four{grid-template-columns:1fr 1fr}
  .conversion-band h2{white-space:normal}
}
@media(max-width:760px){
  .gift-cta{min-height:68px;padding:10px 14px;gap:10px}
  .gift-cta-icon{width:72px;margin:-12px 0 -12px -4px}
  .gift-cta-copy span{font-size:14px}
  .gift-cta-copy strong{font-size:16px}
  .gallery-card img{height:210px}
  .gallery-shell,.gallery-lightbox{grid-template-columns:1fr;gap:12px}
  .gallery-arrow,.review-lightbox-nav{display:none}
  .contactgrid,.footergrid-four{grid-template-columns:1fr}
  .contact-map-card iframe{min-height:300px}
  .footnote-legal{flex-direction:column;align-items:flex-start}
}
@media(max-width:680px){
  .gift-offer-card .btn{min-width:0;width:100%}
  .contact-actions-top{flex-direction:column}
  .contact-route .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .gallery-card img,.faq-arrow,.social-btn,.footer-social{transition:none!important}
}


/* v21 requested fixes */
/* hero spacing and gift cta */
.v15-home .hero-actions + .que-divider{margin-top:clamp(24px,2.3vw,38px)!important}
.v15-home .que-divider{margin-bottom:clamp(16px,1.5vw,24px)!important}
.v15-home .que-note{margin-bottom:clamp(18px,1.75vw,28px)!important}
.v15-home .gift-cta{min-height:82px!important;margin-top:10px!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important}
.v15-home .gift-cta .gift-cta-icon{width:clamp(86px,7vw,104px)!important;left:-22px!important}
.v15-home .gift-cta .gift-cta-copy{width:100%!important}
.v15-home .gift-cta .gift-cta-copy>span{font-size:clamp(14px,.98vw,18px)!important;line-height:1.24!important}
.v15-home .gift-cta .gift-cta-copy>strong{font-size:clamp(14px,.95vw,18px)!important;line-height:1.24!important;white-space:normal!important}

/* consult + comfort headings */
.consult-section .split,.comfort-section .split{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.consult-section h2,.comfort-section h2{max-width:16ch!important;font-size:clamp(34px,3.15vw,54px)!important}
.consult-section .lead,.comfort-section p{font-size:clamp(16px,1.18vw,18px)}
.consult-copy{max-width:720px}
.consult-section .photo,.comfort-section .photo{min-height:0!important;max-height:none!important}
.consult-section .consult-photo{width:85%;justify-self:end}
.comfort-section .photo{width:85%}
.consult-actions{justify-content:flex-start!important;margin-top:24px}

/* subscriptions */
.new-subgrid .subbox{min-height:0!important;padding:34px 32px!important;border:1px solid #ead7bd;border-radius:14px;box-shadow:0 12px 28px rgba(52,34,17,.06)}
.new-subgrid .subbox p{margin-bottom:0}
.new-subgrid .subbox h3{margin:14px 0 14px;font-size:clamp(28px,2.25vw,44px);line-height:1.08}
.new-subgrid .subbox>p:last-of-type{margin-bottom:22px;max-width:26ch}
.new-subgrid .subbox .btn{margin-top:auto;width:100%}
.sub-accent{display:block;margin:14px 0 24px;color:#a06c2f;font:700 clamp(22px,1.8vw,36px)/1.2 Georgia,serif}
.sub-accent.sub-accent-compact{margin-top:auto;margin-bottom:24px}
.sub-hit{background:#f6efe4!important;border-color:#e1cfb7!important}
.sub-hit .sub-hit-badge{background:#e8efd9;color:#5b7a49}
.sub-hit .sub-accent-price{color:#8f642a;margin-top:auto}
.sub-hit .sub-accent-price span{display:block;margin-top:6px;font:500 16px/1.45 Manrope,Arial,sans-serif;color:#6b5849}
.sub-meta{display:none!important}
.sub-double-actions{grid-template-columns:1fr}

/* gift certificate layout */
.gift-cert-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:24px;align-items:stretch}
.gift-cert-copy{display:flex;flex-direction:column}
.gift-cert-copy h2{max-width:none!important;white-space:nowrap;font-size:clamp(32px,2.8vw,52px)}
.gift-cert-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;flex:1}
.gift-offer-card{height:100%;display:flex;flex-direction:column;justify-content:flex-start}
.gift-offer-card .btn{margin-top:auto}
.gift-certificate-photo{width:100%;height:100%;min-height:360px;max-height:none;object-fit:cover;border-radius:18px}

/* gallery */
.gallery-marquee{cursor:grab}
.gallery-marquee.is-dragging{cursor:grabbing}
.gallery-card{position:relative;z-index:2}
.gallery-card img{pointer-events:none}

/* contacts */
.contact-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.contact-actions-grid .btn{width:100%;min-height:56px;justify-content:center;text-align:center}
.contact-actions-grid a.btn{display:inline-flex}
.contact-socials{gap:12px}
.social-btn{min-width:56px;width:56px;height:56px;padding:0;border-radius:18px;background:linear-gradient(180deg,#f7e9d4,#eed8b4);border:1px solid #dcb78a;color:#9b6a2d;box-shadow:0 10px 18px rgba(52,34,15,.1)}
.social-btn svg{width:24px;height:24px;display:block}
.social-btn.disabled{opacity:1;background:#f4ebdf;color:#b58d5a}

/* footer */
.footer-badge{margin-top:14px}
.footer-badge iframe{display:block;border:0;max-width:100%}

@media(max-width:1100px){
  .gift-cert-layout{grid-template-columns:1fr}
  .gift-cert-copy h2{white-space:normal}
  .gift-certificate-photo{min-height:300px}
}
@media(max-width:760px){
  .consult-section h2,.comfort-section h2{max-width:none!important;font-size:clamp(30px,7vw,42px)!important}
  .consult-section .consult-photo,.comfort-section .photo{width:100%}
  .gift-cert-cards,.contact-actions-grid{grid-template-columns:1fr}
}

/* v22 requested fixes */
/* hero gift CTA */
.v15-home .gift-cta{
  min-height:96px!important;
  padding:14px 18px 14px 110px!important;
  gap:14px!important;
  align-items:center!important;
}
.v15-home .gift-cta .gift-cta-icon{
  left:-24px!important;
  width:clamp(112px,8.5vw,138px)!important;
  height:clamp(112px,8.5vw,138px)!important;
}
.v15-home .gift-cta .gift-cta-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:100%!important;
  gap:6px!important;
}
.v15-home .gift-cta .gift-cta-title{
  display:block;
  width:100%;
  font-size:clamp(18px,1.2vw,24px)!important;
  line-height:1.2!important;
}
.v15-home .gift-cta .gift-cta-copy>strong{
  display:block;
  width:100%;
  font-size:clamp(18px,1.08vw,22px)!important;
  line-height:1.2!important;
  white-space:normal!important;
}

/* comfort & consult proportions */
.consult-section .split,.comfort-section .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important}
.consult-section h2,.comfort-section h2{max-width:18ch!important}
.que-section h2{max-width:18ch!important}
.consult-section .photo,.comfort-section .photo{
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4/3;
  object-fit:cover!important;
}
.consult-section .consult-photo{justify-self:stretch!important}
.comfort-section .photo{justify-self:stretch!important;object-position:center center!important}

/* subscriptions */
.new-subgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.new-subgrid .subbox{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:0!important;
  padding:32px 30px!important;
}
.new-subgrid .subbox .eyebrow{margin:0 0 8px!important}
.new-subgrid .subbox h3{margin:0 0 14px!important;font-size:clamp(28px,2.05vw,44px)!important;line-height:1.06!important}
.new-subgrid .subbox>p:last-of-type{margin-bottom:18px!important}
.sub-leader{font-size:15px;font-weight:700;line-height:1.25;color:#7c5b37;margin:0 0 8px}
.sub-hit{border-width:2px!important;border-color:#dac29f!important;background:#f8f1e7!important}
.sub-hit .sub-accent-price{margin-top:auto!important}
.sub-hit .sub-accent-price span{display:block;margin-top:6px}
.sub-hit-badge{display:none!important}

/* que */
.que-section .photo{min-height:0!important;max-height:none!important;aspect-ratio:4/3;object-fit:cover!important}
.que-section h2,.consult-section h2,.comfort-section h2{word-break:normal;overflow-wrap:anywhere}

/* gift certificate */
.gift-cert-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;align-items:stretch!important}
.gift-cert-copy{display:flex;flex-direction:column;height:100%}
.gift-cert-copy h2{max-width:none!important;white-space:normal!important}
.gift-cert-cards{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr 1fr;gap:18px!important;flex:1!important}
.gift-offer-card{margin:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:0!important}
.gift-offer-card .btn{margin-top:auto!important}
.gift-certificate-photo{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important}

/* gallery */
.gallery-card.clone{pointer-events:none}
.gallery-card img{height:320px!important;max-width:none}
.gallery-lightbox .review-lightbox-frame{display:flex;align-items:center;justify-content:center;max-height:none;overflow:auto}
.gallery-lightbox .review-lightbox-frame img{max-height:82vh;max-width:100%;width:auto;height:auto;object-fit:contain}

@media(max-width:1100px){
  .new-subgrid{grid-template-columns:1fr!important}
  .gift-cert-layout{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .v15-home .gift-cta{min-height:86px!important;padding:12px 14px 12px 82px!important}
  .v15-home .gift-cta .gift-cta-icon{left:-16px!important;width:90px!important;height:90px!important}
  .v15-home .gift-cta .gift-cta-title,.v15-home .gift-cta .gift-cta-copy>strong{font-size:15px!important}
  .gallery-card img{height:260px!important}
}
@media(max-width:680px){
  .consult-section .split,.comfort-section .split{grid-template-columns:1fr!important}
  .consult-section .photo,.comfort-section .photo,.que-section .photo{aspect-ratio:4/3}
}

/* v23 requested fixes */
.new-subgrid .subbox{
  border:1px solid rgba(201,172,129,.55);
  border-radius:18px;
  padding:30px 30px 32px;
  min-height:460px;
}
.new-subgrid .subbox .eyebrow{
  margin:0 0 6px !important;
}
.new-subgrid .subbox h3,
.new-subgrid .subbox .sub-leader{
  font-family:'Playfair Display',Georgia,serif;
  line-height:1.03;
}
.new-subgrid .subbox h3{
  font-size:clamp(28px,2.35vw,54px);
  margin:0 0 14px;
  max-width:11ch;
}
.new-subgrid .subbox > p:not(.eyebrow){
  min-height:auto;
  margin:0 0 28px;
  max-width:26ch;
}
.new-subgrid .subbox .btn{ margin-top:auto; }
.new-subgrid .sub-accent{
  display:block;
  margin:8px 0 22px;
  color:#b2762a;
  font-family:'Playfair Display',Georgia,serif;
}
.new-subgrid .sub-accent-compact{ font-size:clamp(26px,2vw,44px); }
.new-subgrid .sub-accent-price{ font-size:clamp(27px,2.15vw,46px); line-height:1.15; }
.new-subgrid .sub-accent-price span{ display:block; font:600 18px/1.35 Manrope,Arial,sans-serif; color:#725743; margin-top:4px; }
.new-subgrid .sub-leader{
  font-size:clamp(21px,1.8vw,36px);
  color:#a77938;
  margin:4px 0 4px;
}
.new-subgrid .sub-hit{ background:#f8f2e8; }

.que-section .split img,
img[src$="que-products.jpg"]{
  object-fit:cover;
  object-position:center;
}

.review-viewport,
.gallery-viewport{
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.review-track{scroll-snap-type:x mandatory;}
.review-card{scroll-snap-align:start;}

.gallery-simple{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
}
.gallery-viewport{
  overflow-x:auto;
  padding:10px 0 18px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-track-simple{
  display:flex;
  gap:20px;
}
.gallery-card-simple{
  flex:0 0 clamp(240px,29vw,355px);
  border:0;
  background:transparent;
  padding:0;
  scroll-snap-align:start;
}
.gallery-card-simple img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(55,33,18,.14);
}
.gallery-viewport.is-dragging,
.gallery-viewport.is-dragging *{ cursor:grabbing; }
.gallery-arrow,
.review-nav{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(177,122,53,.35);
  background:#fff;
  color:#80511d;
  font-size:28px;
  display:grid;
  place-items:center;
}

.gift-cert-top{
  max-width:min(1120px,100%);
  margin:0 auto 24px;
}
.gift-cert-top h2{
  max-width:100%;
  font-size:clamp(44px,4.6vw,78px);
  line-height:1.02;
}
.gift-cert-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,0.95fr);
  gap:24px;
  align-items:start;
}
.gift-cert-copy{display:block}
.gift-cert-cards{display:grid; gap:20px;}
.gift-certificate-photo{
  width:100%;
  max-height:620px;
  object-fit:cover;
  border-radius:22px;
  align-self:start;
}

.contact-actions-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}
.contact-social-wrap{ margin-top:28px; }
.contact-social-title{ margin:0 0 12px; color:#7d644b; font-weight:700; }
.contact-socials{ display:flex; gap:14px; flex-wrap:wrap; }
.image-social{
  width:84px;
  height:84px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(205,177,138,.55);
  display:grid;
  place-items:center;
  box-shadow:0 14px 30px rgba(52,28,10,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.image-social:hover{ transform:translateY(-3px) scale(1.03); box-shadow:0 18px 36px rgba(52,28,10,.15); }
.image-social img{ width:62px; height:62px; object-fit:contain; }

.floating{
  right:18px;
  bottom:18px;
  display:flex;
  align-items:flex-end;
  gap:12px;
}
.floating-stack{ display:grid; gap:12px; }
.floating-stack button{
  position:relative;
}
.floating-tooltip{
  position:absolute;
  right:68px;
  top:50%;
  transform:translateY(-50%);
  background:#fff;
  color:#4b3528;
  padding:10px 14px;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(28,16,8,.16);
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
#floatingContactBtn:hover .floating-tooltip,
#floatingContactBtn:focus-visible .floating-tooltip{
  opacity:1;
  transform:translateY(-50%) translateX(-4px);
}
.floatlinks{
  display:block;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.98);
  position:absolute;
  right:0;
  bottom:132px;
  width:290px;
  background:#fffdf9;
  border:1px solid rgba(206,176,137,.52);
  border-radius:20px;
  padding:12px;
  box-shadow:0 28px 48px rgba(32,18,7,.18);
  transition:opacity .2s ease, transform .2s ease;
}
.floatlinks.open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.floatlinks a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-radius:14px;
  font-weight:600;
  transition:transform .18s ease, background .18s ease;
}
.floatlinks a + a{ border-top:1px solid rgba(202,170,127,.28); }
.floatlinks a:hover{ background:#faf1e3; transform:scale(1.02); }

.invite-page-body{
  background:radial-gradient(circle at top,#f9f2e7 0%,#f1e4d1 42%,#e6d1b4 100%);
}
.invitation-page{
  min-height:100vh;
  padding:38px 18px 52px;
}
.invite-shell{
  width:min(1080px,100%);
  margin:0 auto;
  display:grid;
  gap:24px;
}
.invite-page-card{
  text-align:left;
  max-width:none;
  border-radius:30px;
  padding:48px;
  background:linear-gradient(145deg,#fffaf1,#f3e0bf);
  box-shadow:0 28px 70px rgba(76,47,18,.18);
}
.invite-page-card h1{ font-size:clamp(36px,4.1vw,68px); margin:10px 0 18px; }
.invite-subtitle,
.invite-main-copy,
.invite-form-head p{ color:#684d39; }
.invite-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:28px 0;
}
.invite-facts > div,
.invite-form-panel{
  background:rgba(255,255,255,.68);
  border:1px solid rgba(201,171,129,.42);
  border-radius:20px;
  padding:18px 20px;
  box-shadow:0 18px 35px rgba(54,31,12,.08);
}
.invite-facts strong{ display:block; font-family:'Playfair Display',Georgia,serif; font-size:28px; line-height:1.08; margin-bottom:6px; color:#8a5d25; }
.invite-facts span{ display:block; color:#654d3a; }
.invite-accept-btn{ margin-top:4px; }
.invite-footnote{ color:#7f6551; font-size:13px; margin-top:18px; }
.invite-form-panel{ padding:34px; }
.invite-form-head h2{ margin:8px 0 10px; }
.invite-generator-actions{ display:flex; gap:12px; flex-wrap:wrap; margin:8px 0 6px; }

@media (max-width: 960px){
  .gift-cert-layout,
  .contactgrid{ grid-template-columns:1fr; }
  .new-subgrid .subbox{ min-height:auto; }
  .floatlinks{ width:265px; }
}
@media (max-width: 720px){
  .contact-actions-grid{ grid-template-columns:1fr; }
  .gallery-simple{ grid-template-columns:1fr; }
  .gallery-arrow{ display:none; }
  .invite-page-card,
  .invite-form-panel{ padding:28px 22px; }
  .invite-facts{ grid-template-columns:1fr; }
  .image-social{ width:72px; height:72px; border-radius:18px; }
  .image-social img{ width:52px; height:52px; }
  .floating{ right:12px; bottom:12px; }
  .floatlinks{ right:0; bottom:126px; width:min(285px,calc(100vw - 24px)); }
}

/* v24: focused repairs, overrides for previous accumulated styles */
/* Program cards: no artificial gap above titles; use the full card width. */
#subscriptions .new-subgrid .subbox{
  min-height:0!important;
  padding:30px 30px 32px!important;
  gap:0!important;
}
#subscriptions .new-subgrid .subbox .eyebrow{
  min-height:0!important;
  margin:0 0 12px!important;
}
#subscriptions .new-subgrid .subbox h3{
  font-size:clamp(26px,2.1vw,30px)!important;
  line-height:1.07!important;
  max-width:20ch!important;
  margin:0 0 14px!important;
  min-height:0!important;
}
#subscriptions .new-subgrid .subbox > p:not(.eyebrow){
  max-width:45ch!important;
  min-height:25px!important;
  margin:0 0 19px!important;
  line-height:1.55!important;
  font-size:13px!important;
}
#subscriptions .new-subgrid .subbox .sub-leader{
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(26px,2.1vw,30px)!important;
  line-height:1.08!important;
  font-weight:600!important;
  color:#af793d!important;
  margin:0 0 4px!important;
  max-width:20ch!important;
}
#subscriptions .new-subgrid .subbox .sub-accent{
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(18px,1.75vw,30px)!important;
  line-height:1.18!important;
  margin:auto 0 20px!important;
}
#subscriptions .new-subgrid .subbox .sub-accent-price span{
  font-family:Manrope,Arial,sans-serif!important;
  font-size:clamp(12px,1.1vw,15px)!important;
  font-weight:500!important;
}
#subscriptions .new-subgrid .subbox .btn{margin-top:0!important;}

/* Gift invitation link in hero: one sentence above a separate action. */
.v15-home .gift-cta{
  display:flex!important;
  flex-direction:row!important;
  width:100%!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:92px!important;
  padding:12px 17px 12px clamp(88px,7.6vw,116px)!important;
  gap:0!important;
}
.v15-home .gift-cta .gift-cta-icon{
  width:clamp(107px,9vw,144px)!important;
  height:clamp(107px,9vw,144px)!important;
  left:-22px!important;
}
.v15-home .gift-cta .gift-cta-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  width:100%!important;
  flex:1!important;
}
.v15-home .gift-cta .gift-cta-title{
  display:block!important;
  font-size:clamp(12px,1.18vw,22px)!important;
  line-height:1.17!important;
  font-weight:700!important;
  width:100%!important;
}
.v15-home .gift-cta .gift-cta-copy>strong{
  display:block!important;
  width:100%!important;
  font-size:clamp(12px,1vw,19px)!important;
  line-height:1.22!important;
  white-space:nowrap!important;
}
@media(max-width:1024px){
 .v15-home .gift-cta{min-height:70px!important;padding-left:clamp(62px,8vw,90px)!important;padding-right:8px!important}
 .v15-home .gift-cta .gift-cta-icon{width:clamp(70px,8.7vw,106px)!important;height:clamp(70px,8.7vw,106px)!important;left:-12px!important}
 .v15-home .gift-cta .gift-cta-title{font-size:clamp(9px,1.15vw,14px)!important}
 .v15-home .gift-cta .gift-cta-copy>strong{font-size:clamp(9px,1.05vw,13px)!important}
}
@media(max-width:583px){
 .v15-home .gift-cta{min-height:84px!important;padding:11px 10px 11px 66px!important}
 .v15-home .gift-cta .gift-cta-icon{left:-13px!important;width:88px!important;height:88px!important}
 .v15-home .gift-cta .gift-cta-title{font-size:clamp(12px,3.45vw,16px)!important;line-height:1.2!important}
 .v15-home .gift-cta .gift-cta-copy>strong{font-size:clamp(12px,3.25vw,16px)!important}
}

/* Gift certificates: full-width heading, centered; picture follows card stack height. */
#gift-certificate .gift-cert-top{max-width:100%!important;text-align:center!important;margin:0 auto 25px!important;}
#gift-certificate .gift-cert-top .eyebrow{text-align:center!important;}
#gift-certificate .gift-cert-top h2{
  max-width:100%!important;
  width:100%!important;
  text-align:center!important;
  font-size:clamp(34px,3.45vw,56px)!important;
  line-height:1.12!important;
  white-space:normal!important;
}
#gift-certificate .gift-cert-layout{
  align-items:stretch!important;
  gap:24px!important;
  grid-template-columns:minmax(0,1fr) minmax(0,.95fr)!important;
}
#gift-certificate .gift-cert-copy{height:auto!important;display:block!important;}
#gift-certificate .gift-cert-cards{
  margin:0!important;
  gap:18px!important;
  grid-template-columns:1fr!important;
  grid-template-rows:1fr 1fr!important;
}
#gift-certificate .gift-offer-card{
  min-height:190px!important;
  padding:24px 25px!important;
}
#gift-certificate .gift-certificate-photo{
  width:100%!important;
  height:100%!important;
  max-height:500px!important;
  min-height:0!important;
  align-self:stretch!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:970px){
  #gift-certificate .gift-cert-layout{grid-template-columns:1fr!important;}
  #gift-certificate .gift-certificate-photo{height:auto!important;max-height:410px!important;aspect-ratio:16/9;}
}

/* Autoscrolling gallery without scroll-snap forces or jumpy smooth scrolling. */
#gallery .gallery-viewport{scroll-snap-type:none!important;scroll-behavior:auto!important;touch-action:pan-x pan-y!important;}
#gallery .gallery-card-simple{scroll-snap-align:none!important;cursor:zoom-in;}
#gallery .gallery-card-simple img{transition:transform .27s ease,box-shadow .27s ease,filter .27s ease;pointer-events:none;}
#gallery .gallery-card-simple:hover img,
#gallery .gallery-card-simple:focus-visible img{
  transform:scale(1.035);
  box-shadow:0 21px 36px rgba(55,33,18,.18);
  filter:brightness(1.025);
}
#gallery .gallery-track-simple{width:max-content;}
#gallery .gallery-viewport.is-dragging{cursor:grabbing;}
#gallery .gallery-viewport.is-dragging *{cursor:grabbing;}

/* Contacts: quiet rows, fine line icons, direct branded social icons. */
#contacts .contact-items{gap:12px!important;}
#contacts .contact-item{
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:5px 0!important;
  box-shadow:none!important;
  gap:16px!important;
}
#contacts .contact-item .contact-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f9f0e3!important;
  border:0!important;
  color:#a87431!important;
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border-radius:50%!important;
}
#contacts .contact-icon svg{width:23px;height:23px;display:block;}
#contacts .contact-socials{display:flex!important;gap:16px!important;align-items:center;}
#contacts .contact-socials .image-social{
  width:76px!important;
  height:76px!important;
  padding:0!important;
  border:none!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
  min-width:0!important;
}
#contacts .contact-socials .image-social img{
  width:76px!important;
  height:76px!important;
  display:block!important;
  max-width:none;
  object-fit:contain!important;
}
#contacts .contact-socials .image-social:hover{transform:translateY(-3px) scale(1.035);box-shadow:none!important;}
@media(max-width:560px){
  #contacts .contact-socials .image-social,
  #contacts .contact-socials .image-social img{width:65px!important;height:65px!important;}
}

/* Modal directions and recognizable entrance photo. */
.walk-modal{max-width:920px;}
.walk-modal-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:30px;align-items:center;}
.walk-entrance-photo{width:100%;height:min(55vh,460px);border-radius:16px;object-fit:cover;object-position:center 40%;}
.walk-modal-content p{color:#5d4b3a;font-size:16px;line-height:1.65;}
.walk-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
@media(max-width:700px){.walk-modal-content{grid-template-columns:1fr;gap:12px;}.walk-entrance-photo{height:230px;}}

/* Personal invitation as a concise editorial invitation card. */
body.invite-v24-body{min-width:320px;background:#eadecc;color:#35271f;font-family:Manrope,Arial,sans-serif;}
body.invite-v24-body .invitation-v24{min-height:100svh;padding:clamp(18px,3.8vw,50px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;background:radial-gradient(circle at 10% 20%,#fffaf2 0%,#ead8be 68%,#d5b48d 100%);}
.invite-v24-card{width:min(1180px,100%);background:#fffaf2;border:1px solid #ddc29a;border-radius:24px;box-shadow:0 25px 75px rgba(75,42,16,.15);overflow:hidden;}
.invite-v24-top{height:74px;padding:12px clamp(18px,3vw,36px);display:flex;align-items:center;gap:12px;border-bottom:1px solid #ead9c3;}
.invite-v24-logo{width:44px;height:44px;object-fit:contain;}
.invite-v24-top div{display:flex;flex-direction:column;}
.invite-v24-top strong{font:600 clamp(17px,1.6vw,23px)/1.1 'Playfair Display',Georgia,serif;}
.invite-v24-top div span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#9d6936;margin-top:4px;}
.invite-v24-top-note{margin-left:auto;text-transform:uppercase;color:#8d653a;letter-spacing:.13em;font-size:10px;font-weight:700;text-align:right;}
.invite-v24-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.75fr);align-items:stretch;min-height:520px;}
.invite-v24-copy{padding:clamp(24px,3.9vw,52px);align-self:center;}
.invite-v24-copy .eyebrow{letter-spacing:.23em;font-size:11px;margin:0 0 18px;color:#a87939;}
.invite-v24-copy h1{font:500 clamp(32px,3.1vw,49px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.018em;max-width:19ch;margin:0;color:#37271d;}
.invite-v24-rule{width:62px;height:2px;background:#b98540;margin:22px 0 20px;}
.invite-v24-intro{font-size:clamp(16px,1.3vw,19px);line-height:1.55;max-width:43ch;margin:0 0 14px;}
.invite-v24-intro b{font-weight:700;}
.invite-v24-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:0 0 14px;}
.invite-v24-price strong{font:600 clamp(37px,3.3vw,55px)/1 Georgia,serif;color:#a97231;}
.invite-v24-price span{font-size:17px;color:#6c5743;}
.invite-v24-explain{font-size:14px;line-height:1.66;color:#594a3a;max-width:62ch;margin:0 0 15px;}
.invite-v24-conditions{font-size:12px;line-height:1.55;color:#806954;max-width:60ch;margin:0 0 24px;}
.invite-v24-image{background-image:linear-gradient(90deg,rgba(255,250,242,.08),rgba(255,250,242,0)),url('gift-procedure-care-new.png');background-size:cover;background-position:51% center;min-height:400px;}
.invite-v24-footer{display:flex;justify-content:space-between;gap:14px;padding:16px clamp(18px,3vw,36px);font-size:12px;color:#765d46;border-top:1px solid #ead9c3;}
.invite-v24-form{width:min(700px,100%);padding:clamp(24px,3vw,38px);background:#fffaf3;border-radius:22px;border:1px solid #e2cda9;box-shadow:0 24px 50px rgba(75,42,16,.12);}
.invite-v24-form[hidden]{display:none!important;}
.invite-v24-form h2{font-size:clamp(27px,3vw,38px);}
.invite-v24-form .consent{font-size:11px;}
.invite-generator-form{display:grid;gap:10px;}
.invite-generator-form label{display:grid;gap:3px;font-size:13px;color:#70543b;font-weight:700;}
.invite-generator-form .field{font-weight:400;margin:4px 0 7px;}
@media(max-width:800px){
 .invite-v24-content{grid-template-columns:1fr;}
 .invite-v24-image{min-height:245px;max-height:320px;background-position:center 45%;order:-1;}
 .invite-v24-copy h1{max-width:none;}
 .invite-v24-footer{flex-direction:column;gap:6px;}
}
@media(max-width:450px){
 .invite-v24-top{padding-inline:15px;}
 .invite-v24-top-note{display:none;}
 .invite-v24-copy{padding:24px 20px 28px;}
 .invite-v24-content{min-height:0;}
 .invite-v24-copy h1{font-size:34px;}
 .invite-v24-price strong{font-size:42px;}
 .invite-v24-image{min-height:210px;}
 .invite-accept-btn{width:100%;}
}
