/* Shree Awaas inner pages: the homepage's serenity design, applied to every other page.
   Pages opt in with body class "serenity-home serenity-subpage"; home tokens come from serenity.css. */

/* ---- Hero ---- */
.sp-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(430px,64svh,620px);background:#ece8da;color:#344831}
.sp-hero--tall{min-height:clamp(580px,90svh,880px)}
.sp-hero>img,.sp-hero>.sp-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.sp-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fbf7ecd6 0%,#fbf7ec9e 36%,#fbf7ec00 72%),linear-gradient(180deg,#fbf7ecc4,#fbf7ec70 18%,transparent 36%,transparent 70%,#071c1570)}
.sp-hero-inner{width:min(calc(100% - var(--page-gutter)*2),1280px);margin-inline:auto;padding:clamp(130px,18svh,170px) 0 clamp(46px,7vw,84px)}
.sp-hero--tall .sp-hero-inner{padding-bottom:clamp(90px,11vw,130px)}
.sp-hero h1{font-family:'Baskervville',Georgia,serif;font-weight:400;font-size:clamp(40px,5.2vw,74px);line-height:1.06;letter-spacing:-.04em;color:#31472f;max-width:11em;margin:0 0 20px;overflow-wrap:break-word}
.sp-hero h1 em{color:#637853}
.sp-hero p{max-width:440px;font-size:15px;line-height:1.8;color:#3e503b;margin:0 0 28px}
.sp-hero .home-eyebrow{color:#506049;margin-bottom:18px}
.sp-hero .serenity-actions{margin-top:4px}
.sp-hero--tall .serenity-button.secondary{background:#faf8ef70}

/* ---- Shared page rhythm ---- */
.sp-wrap{width:min(calc(100% - var(--page-gutter)*2),1280px);margin-inline:auto}
.sp-section{padding-block:clamp(55px,7vw,100px)}
.sp-section-head{max-width:640px;margin-bottom:clamp(30px,4vw,48px)}
.serenity-subpage .sp-section-head h2,.serenity-subpage .sp-wrap h2{font-family:'Baskervville',Georgia,serif;font-weight:400;font-size:clamp(34px,3.7vw,52px);line-height:1.15;letter-spacing:-.035em;color:#344831;overflow-wrap:break-word}
.serenity-subpage .sp-wrap h2 em{font-weight:400;color:#637853}
.sp-band{background:#f0f0e6}

/* ---- Package: facts strip ---- */
.sp-facts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:-52px;background:#fffdf8;border:1px solid #e3e6da;border-radius:22px;box-shadow:0 1px 1px -.5px #0000000f,0 3px 3px -1.5px #0000000f,0 6px 6px -3px #0000000f,0 12px 12px -6px #0000000f}
.sp-facts>div{padding:26px 28px;min-width:0}
.sp-facts>div+div{border-left:1px solid #e3e6da}
.sp-facts span{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#69785f;margin-bottom:8px}
.sp-facts strong{font:400 22px/1.25 'Baskervville',Georgia,serif;color:#344831;letter-spacing:-.02em}

/* ---- Package: places + journey ---- */
.sp-places{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.sp-place{border-top:1px solid #d8ddcf;padding-top:20px;min-width:0}
.sp-place b{display:block;font:italic 18px 'Baskervville',serif;color:#89977b;font-weight:400;margin-bottom:12px}
.sp-place h3{font:400 clamp(24px,2.3vw,30px)/1.15 'Baskervville',Georgia,serif;letter-spacing:-.025em;color:#344831;margin:0 0 10px}
.sp-place p{font-size:13px;line-height:1.8;color:#5b6855;margin:0}
.sp-journey{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,100px);align-items:start}
.sp-journey-intro{position:sticky;top:120px}
.sp-journey-intro p{font-size:14px;line-height:1.9;color:#5b6855;margin:22px 0 0;max-width:340px}
.sp-day{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;border-top:1px solid #d8ddcf;padding:24px 0}
.sp-day:last-child{border-bottom:1px solid #d8ddcf}
.sp-day>span{font:italic 22px 'Baskervville',serif;color:#89977b;padding-top:2px}
.sp-day h3{font:400 clamp(22px,2vw,26px)/1.2 'Baskervville',Georgia,serif;letter-spacing:-.02em;color:#344831;margin:0 0 8px}
.sp-day p{font-size:13px;line-height:1.85;color:#5b6855;margin:0;max-width:480px}

/* ---- Package: stay + included ---- */
.sp-stay{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(30px,6vw,90px);align-items:center}
.sp-stay-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/9;background:#dfe3d3;box-shadow:0 12px 12px -6px #0000000f,0 24px 24px -12px #0000000f}
.sp-stay-media video{width:100%;height:100%;object-fit:cover;display:block}
.sp-stay-copy p{font-size:14px;line-height:1.9;color:#5b6855;margin:22px 0 26px;max-width:380px}
.sp-chips{display:flex;flex-wrap:wrap;gap:10px}
.sp-chips span{display:inline-flex;align-items:center;gap:9px;border:1px solid #cfd6c3;background:#fffdf8;border-radius:30px;padding:9px 16px;font-size:12px;color:#405936}
.sp-chips i{color:#65765b;font-size:12px}
.sp-include{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,70px);background:#e9eddf;border:1px solid #dce2d1;border-radius:28px;padding:clamp(28px,5vw,60px)}
.sp-include h3{font:400 26px 'Baskervville',Georgia,serif;letter-spacing:-.02em;color:#344831;margin:0 0 16px}
.sp-include ul{list-style:none;margin:0;padding:0}
.sp-include li{position:relative;padding:10px 0 10px 24px;font-size:13px;color:#4c5e44;border-top:1px solid #d3dac8}
.sp-include li:before{content:'';position:absolute;left:2px;top:17px;width:8px;height:8px;border-radius:50% 0;background:#8a9b7a}
.sp-include ul.is-out li:before{background:transparent;border:1px solid #9aa78d;border-radius:50%}
.sp-note{font-size:12px;color:#6a755f;margin:22px 0 0;line-height:1.8}

/* ---- Package: floating booking bar ---- */
.sp-bar{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:900;transform:translate(-50%,24px);opacity:0;visibility:hidden;display:flex;align-items:center;gap:26px;padding:9px 9px 9px 26px;background:#faf8f2f0;backdrop-filter:blur(12px);border:1px solid #d8ddcf;border-radius:60px;box-shadow:0 6px 6px -3px #0000000f,0 12px 12px -6px #0000000f,0 24px 24px -12px #0000001a;max-width:calc(100% - 32px)}
.sp-bar.is-on{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sp-bar small{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#69785f}
.sp-bar strong{font:400 22px 'Baskervville',Georgia,serif;color:#344831;white-space:nowrap}
.sp-bar .serenity-button{min-height:46px;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){.sp-bar{transition:opacity .25s ease-out,transform .25s ease-out,visibility .25s}}

/* ---- About ---- */
.sp-statements{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,70px)}
.sp-statement{border-top:1px solid #d8ddcf;padding-top:26px}
.sp-statement .home-eyebrow{margin-bottom:16px}
.sp-statement p{font:400 clamp(24px,2.4vw,32px)/1.35 'Baskervville',Georgia,serif;letter-spacing:-.02em;color:#344831;margin:0;max-width:520px}
.sp-statement p em{color:#637853}

/* ---- Gallery ---- */
.sp-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(26px,3vw,40px)}
.sp-filters button{font:500 12px 'Raleway',sans-serif;min-height:44px;padding:10px 20px;border-radius:40px;border:1px solid #c9d1bc;background:transparent;color:#405936;cursor:pointer}
.sp-filters button[aria-pressed=true]{background:#526748;border-color:#526748;color:#fff}
.sp-filters button:not([aria-pressed=true]):hover{background:#e9eddf}
.sp-masonry{columns:3 300px;column-gap:20px}
.sp-tile{position:relative;display:block;width:100%;margin:0 0 20px;padding:0;border:0;border-radius:18px;overflow:hidden;background:#dfe3d3;cursor:zoom-in;break-inside:avoid;text-align:left;color:#fff}
.sp-tile[hidden]{display:none}
.sp-tile img{display:block;width:100%;object-fit:cover;aspect-ratio:4/5}
.sp-tile:nth-child(3n+2) img{aspect-ratio:1}
.sp-tile:nth-child(4n+3) img{aspect-ratio:3/2}
.sp-tile:nth-child(5n+1) img{border-radius:150px 150px 0 0}
.sp-tile span{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;font-size:12px;background:linear-gradient(180deg,transparent,#102b1dc2);opacity:0}
.sp-tile span em{display:block;font:italic 11px 'Raleway',sans-serif;opacity:.8;margin-top:3px}
@media(hover:hover){.sp-tile:hover span,.sp-tile:focus-visible span{opacity:1}}
@media(hover:none){.sp-tile span{opacity:1}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.sp-tile img{transition:transform .5s ease-out}.sp-tile:hover img{transform:scale(1.04)}.sp-tile span{transition:opacity .25s ease-out}}
.sp-lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:#fff}
.sp-lightbox::backdrop{background:#0c1e14ee}
.sp-lightbox-body{height:100%;display:grid;place-items:center;padding:clamp(56px,8vw,90px) clamp(16px,6vw,90px)}
.sp-lightbox figure{margin:0;max-width:1200px;width:100%;text-align:center}
.sp-lightbox img{max-width:100%;max-height:calc(100svh - 190px);width:auto;border-radius:16px;box-shadow:0 24px 48px #0006}
.sp-lightbox figcaption{margin-top:18px;font:400 22px 'Baskervville',Georgia,serif}
.sp-lightbox figcaption em{display:block;font:11px 'Raleway',sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-top:6px}
.sp-lightbox button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #ffffff55;background:#ffffff14;color:#fff;font-size:20px;cursor:pointer}
.sp-lightbox button:hover{background:#ffffff30}
.sp-lightbox .lb-close{top:18px;right:18px}.sp-lightbox .lb-prev{left:16px;top:50%;margin-top:-24px}.sp-lightbox .lb-next{right:16px;top:50%;margin-top:-24px}

/* ---- Contact ---- */
.sp-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,7vw,110px);align-items:start}
.sp-contact-lines a,.sp-contact-lines address{display:block;font-style:normal;border-top:1px solid #d8ddcf;padding:22px 0;color:#344831}
.sp-contact-lines a:last-child,.sp-contact-lines address{border-bottom:1px solid #d8ddcf}
.sp-contact-lines small{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#69785f;margin-bottom:8px}
.sp-contact-lines b{display:block;font:400 clamp(22px,2.4vw,30px)/1.25 'Baskervville',Georgia,serif;letter-spacing:-.02em;font-weight:400;overflow-wrap:anywhere}
.sp-contact-lines a:hover b{color:#714929}
.sp-card{background:#fffdf8;border:1px solid #e3e6da;border-radius:22px;padding:clamp(24px,4vw,44px);box-shadow:0 1px 1px -.5px #0000000f,0 3px 3px -1.5px #0000000f,0 6px 6px -3px #0000000f}
.sp-card h2{margin:0 0 6px}
.sp-card>p{font-size:13px;color:#5b6855;line-height:1.8;margin:0 0 24px}
.sp-field{display:block;margin-bottom:20px;min-width:0}
.sp-field>span{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#69785f;margin-bottom:6px}
.sp-field input,.sp-field select,.sp-field textarea{display:block;width:100%;max-width:100%;min-height:46px;padding:10px 2px;border:0;border-bottom:1px solid #c4ccb7;border-radius:0;background:transparent;font:400 16px 'Raleway',sans-serif;color:#344831;outline:0}
.sp-field textarea{resize:vertical;min-height:110px}
.sp-field input:focus,.sp-field select:focus,.sp-field textarea:focus{border-bottom-color:#526748;box-shadow:0 1px 0 #526748}
.sp-field input::placeholder,.sp-field textarea::placeholder{color:#9aa58f}
.sp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.sp-card .serenity-button{width:100%;cursor:pointer;font-family:'Raleway',sans-serif}

/* ---- Booking ---- */
.sp-book{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start}
.sp-summary{position:sticky;top:110px;padding:0;overflow:hidden}
.sp-summary-photo{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.sp-summary-body{padding:clamp(22px,3vw,34px)}
.sp-summary h2{font-size:clamp(28px,2.6vw,36px)!important;margin:0 0 10px}
.sp-summary-body>p{font-size:13px;line-height:1.85;color:#5b6855;margin:0 0 18px}
.sp-summary-rows p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:12px 0;border-top:1px solid #e3e6da;font-size:13px;color:#5b6855}
.sp-summary-rows strong{font-weight:500;color:#344831}
.sp-summary-rows span{text-align:right;color:#344831}
.sp-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:6px;padding-top:18px;border-top:1px solid #d8ddcf}
.sp-total label{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#69785f}
.sp-total div{font:400 34px 'Baskervville',Georgia,serif;letter-spacing:-.02em;color:#344831}

/* ---- Motion: hero settles in, content arrives ---- */
@media(prefers-reduced-motion:no-preference){
 .sp-hero>img{animation:sp-settle 1.6s ease-out both}
 .sp-hero-inner>*{animation:serenity-arrive .55s ease-out both}
 .sp-hero-inner>:nth-child(2){animation-delay:.1s}.sp-hero-inner>:nth-child(3){animation-delay:.18s}.sp-hero-inner>:nth-child(4){animation-delay:.26s}
}
@keyframes sp-settle{from{transform:scale(1.07)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.sp-hero *{animation:none!important}.sp-bar{transition:none}.sp-tile img{transition:none!important}}

/* ---- Responsive ---- */
@media(max-width:1023px){
 .sp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-facts>div:nth-child(3){border-left:0}
 .sp-facts>div:nth-child(n+3){border-top:1px solid #e3e6da}
 .sp-places{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}
}
@media(max-width:900px){
 .sp-journey,.sp-stay,.sp-contact,.sp-book,.sp-statements,.sp-include{grid-template-columns:1fr}
 .sp-journey-intro,.sp-summary{position:static}
 .sp-journey-intro p{max-width:none}
 .sp-stay-copy p{max-width:none}
}
@media(max-width:600px){
 .sp-hero{min-height:480px}
 .sp-hero--tall{min-height:620px}
 .sp-hero p{font-size:14px}
 .sp-facts{margin-top:-36px;border-radius:18px}
 .sp-facts>div{padding:18px 18px}
 .sp-facts strong{font-size:18px}
 .sp-places{grid-template-columns:1fr}
 .sp-day{grid-template-columns:44px minmax(0,1fr);gap:10px}
 .sp-field-row{grid-template-columns:1fr}
 .sp-masonry{columns:2 140px;column-gap:12px}
 .sp-tile{margin-bottom:12px;border-radius:14px}
 .sp-tile:nth-child(5n+1) img{border-radius:90px 90px 0 0}
 .sp-bar{gap:14px;padding-left:18px}
 .sp-bar strong{font-size:19px}
 .sp-lightbox .lb-prev{left:6px}.sp-lightbox .lb-next{right:6px}
}

/* Narrow screens: the text sits over the photo, so wash the whole lower half */
@media(max-width:700px){.sp-hero:before{background:linear-gradient(180deg,#fbf7ecc4 0,#fbf7ec66 22%,#fbf7ecb8 55%,#fbf7ecee 100%)}}

.sp-facts--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.sp-facts--3{grid-template-columns:1fr}.sp-facts--3>div+div{border-left:0;border-top:1px solid #e3e6da}}
.sp-places{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* ---- Product story ---- */
.sp-product-story{max-width:660px;margin-inline:auto}
.sp-product-story p{font:400 clamp(20px,2vw,24px)/1.65 'Baskervville',Georgia,serif;color:#344831;margin:0 0 1.2em}
.sp-product-video{max-width:900px;margin:clamp(32px,5vw,56px) auto 0}
.sp-package-product{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,70px);align-items:center;background:#fffdf8;border:1px solid #e3e6da;border-radius:28px;overflow:hidden}
.sp-package-product img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}
.sp-package-product>div{padding:clamp(24px,4vw,56px) clamp(24px,4vw,56px) clamp(24px,4vw,56px) 0}
.sp-package-product p{font-size:14px;line-height:1.9;color:#5b6855;margin:20px 0 26px;max-width:440px}
@media(max-width:900px){.sp-package-product{grid-template-columns:1fr}.sp-package-product>div{padding:0 24px 28px}}

/* ---- Dynamic package extras ---- */
.sp-facts{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
.sp-preview-banner{position:relative;z-index:1200;background:#714929;color:#fff;text-align:center;font-size:12px;padding:10px 16px}
.sp-hero-media{object-fit:cover}
.sp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.sp-gallery figure{margin:0;min-width:0}
.sp-gallery img,.sp-gallery video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;background:#dfe3d3}
.sp-gallery figcaption{font-size:12px;color:#5b6855;margin-top:10px}
.sp-tabs{display:flex;flex-direction:column;gap:8px;margin-top:26px}
.sp-tabs button{display:flex;justify-content:space-between;align-items:baseline;gap:14px;text-align:left;min-height:48px;padding:12px 18px;border:1px solid #c9d1bc;border-radius:14px;background:transparent;color:#344831;font:500 13px 'Raleway',sans-serif;cursor:pointer}
.sp-tabs button small{font-size:11px;color:#69785f;font-weight:400}
.sp-tabs button[aria-selected=true]{background:#526748;border-color:#526748;color:#fff}
.sp-tabs button[aria-selected=true] small{color:#dfe7d6}
.sp-it-head{margin-bottom:18px}
.sp-it-head h3{font:400 clamp(24px,2.2vw,30px)/1.2 'Baskervville',Georgia,serif;letter-spacing:-.02em;color:#344831;margin:0 0 8px}
.sp-it-head h3 small{font:400 12px 'Raleway',sans-serif;color:#69785f;letter-spacing:0;margin-left:8px}
.sp-it-head p{font-size:13px;line-height:1.85;color:#5b6855;margin:0;max-width:520px}
.sp-it-panel[hidden]{display:none}
@media(max-width:1023px){.sp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sp-facts{grid-template-columns:1fr}.sp-facts>div+div{border-left:0!important;border-top:1px solid #e3e6da}}

/* ---- Sign in / Create account modal ---- */
#authModal.modal-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:16px;background:#0f2017a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
#authModal.modal-overlay.is-open{display:flex}
#authModal .sa-auth{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:min(880px,100%);max-width:none;max-height:calc(100dvh - 32px);padding:0;margin:0;overflow:hidden;background:#faf8f2;border-radius:28px;box-shadow:0 30px 80px -20px #0006;animation:none;font-family:'Raleway',sans-serif;color:#344831;text-align:left}
#authModal .sa-auth-art{position:relative;min-height:100%;background:#263f2b}
#authModal .sa-auth-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#authModal .sa-auth-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#102b1d10 30%,#102b1dd9)}
#authModal .sa-auth-quote{position:absolute;z-index:1;left:30px;right:30px;bottom:30px;color:#fff}
#authModal .sa-auth-quote span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-bottom:10px}
#authModal .sa-auth-quote p{font:400 30px/1.15 'Baskervville',Georgia,serif;letter-spacing:-.02em;margin:0;color:#fff}
#authModal .sa-auth-quote em{color:#e7ecd9}
#authModal .sa-auth-main{position:relative;padding:34px 38px 30px;overflow-y:auto;max-height:calc(100dvh - 32px)}
#authModal .sa-auth-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid #d8ddcf;background:transparent;color:#405936;font-size:22px;line-height:1;cursor:pointer;transition:transform .25s ease-out,background .2s}
#authModal .sa-auth-close:hover{background:#e9eddf;transform:rotate(90deg)}
#authModal .sa-auth-tabs{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 30px;padding:4px;border:1px solid #d8ddcf;border-radius:40px;background:#f0f0e6}
#authModal .sa-auth-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:40px;background:#526748;box-shadow:0 2px 6px -2px #0003;transition:transform .45s cubic-bezier(.22,1,.36,1)}
#authModal .sa-auth-tabs.is-register .sa-auth-pill{transform:translateX(100%)}
#authModal .tab-btn{position:relative;z-index:1;flex:none;width:auto;margin:0;min-height:40px;padding:9px 20px;border:0;border-radius:40px;background:transparent!important;color:#526748;font:500 12px 'Raleway',sans-serif;cursor:pointer;transition:color .3s}
#authModal .tab-btn.active{color:#fff}
#authModal .auth-form{display:none}
#authModal .auth-form.active{display:block;animation:sa-auth-in .5s cubic-bezier(.22,1,.36,1)}
#authModal .auth-form .home-eyebrow{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:600;color:#69785f;margin-bottom:12px}
#authModal .auth-form h2{font:400 clamp(30px,3.2vw,38px)/1.1 'Baskervville',Georgia,serif;letter-spacing:-.03em;color:#31472f;text-align:left;margin:0 0 26px}
#authModal .auth-form h2 em{color:#637853}
#authModal .auth-form form{display:block}
#authModal .sp-field{margin-bottom:18px}
#authModal .sp-field>span{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#69785f;margin-bottom:6px}
#authModal .sp-field input{width:100%;margin:0;padding:10px 2px;border:0;border-bottom:1px solid #c4ccb7;border-radius:0;background:transparent;box-shadow:none;font:400 16px 'Raleway',sans-serif;color:#344831}
#authModal .sp-field input:focus{border-bottom-color:#526748;box-shadow:0 1px 0 #526748;outline:0}
#authModal .sa-pw{position:relative}
#authModal .sa-pw input{padding-right:56px}
#authModal .sa-pw-toggle{position:absolute;right:0;bottom:8px;width:auto;margin:0;border:0;background:none;color:#69785f;font:500 11px 'Raleway',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:6px}
#authModal .sa-pw-toggle:hover{color:#714929}
#authModal .sa-auth-hint{font-size:11px;color:#7a8670;margin:-8px 0 18px}
#authModal .serenity-button{width:100%;margin-top:6px;font-family:'Raleway',sans-serif;cursor:pointer}
#authModal .serenity-button[disabled]{opacity:.6;cursor:progress}
#authModal .form-extra{text-align:center;margin-top:16px}
#authModal .form-extra a{font-size:12px;color:#526748;border-bottom:1px solid #a0ad94;padding-bottom:2px;text-decoration:none}
#authModal .form-extra a:hover{color:#714929;border-color:#714929}
@keyframes sa-auth-in{from{opacity:0;transform:translateY(10px);filter:blur(4px)}}
@media(prefers-reduced-motion:no-preference){
 #authModal.is-open{animation:sa-fade .3s ease-out}
 #authModal.is-open .sa-auth{animation:sa-rise .55s cubic-bezier(.22,1,.36,1)}
 #authModal.is-closing{animation:sa-fade-out .22s ease-in forwards}
 #authModal.is-closing .sa-auth{animation:sa-sink .22s ease-in forwards}
}
@keyframes sa-fade{from{opacity:0}}
@keyframes sa-fade-out{to{opacity:0}}
@keyframes sa-rise{from{opacity:0;transform:translateY(24px) scale(.97);filter:blur(6px)}}
@keyframes sa-sink{to{opacity:0;transform:translateY(16px) scale(.98);filter:blur(4px)}}
@media(max-width:720px){
 #authModal .sa-auth{grid-template-columns:1fr;border-radius:22px}
 #authModal .sa-auth-art{display:none}
 #authModal .sa-auth-main{padding:26px 22px 24px}
 #authModal .sa-auth-tabs{margin-top:4px}
 #authModal .sp-field-row{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){#authModal *{animation:none!important;transition:none!important}}

/* ---- Toast notifications ---- */
.notify-popup{position:fixed;top:auto;bottom:24px;right:24px;left:auto;z-index:3000;display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 32px));padding:14px 16px 14px 20px;border-radius:16px;background:#faf8f2;color:#344831;border:1px solid #d8ddcf;border-left:4px solid #526748;box-shadow:0 18px 40px -16px #0005;font:500 13px/1.5 'Raleway',sans-serif;animation:sa-toast .45s cubic-bezier(.22,1,.36,1)}
.notify-popup.success{background:#faf8f2;border-left-color:#526748}
.notify-popup.error{background:#fffaf6;border-left-color:#a0522d}
.notify-popup .notify-close{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#69785f;font-size:18px;cursor:pointer}
.notify-popup .notify-close:hover{background:#e9eddf}
@keyframes sa-toast{from{opacity:0;transform:translateY(16px) scale(.98)}}
@media(max-width:600px){.notify-popup{right:16px;left:16px;bottom:16px;max-width:none}}

/* ---- Forgot / reset password pages ---- */
.auth-page{min-height:calc(100svh - 120px);display:grid;place-items:center;padding:150px 16px 80px;background:#faf8f2}
.auth-page .auth-container{width:min(460px,100%);max-width:none;background:#fffdf8;border:1px solid #e3e6da;border-radius:26px;padding:clamp(26px,5vw,44px);box-shadow:0 12px 12px -6px #0000000f,0 24px 24px -12px #0000000f;color:#344831;font-family:'Raleway',sans-serif}
.auth-page .auth-container h2,.auth-page .auth-container h3{font:400 clamp(28px,3vw,36px)/1.15 'Baskervville',Georgia,serif;letter-spacing:-.03em;color:#31472f;text-align:left;margin:0 0 12px}
.auth-page .auth-container h3{font-size:26px}
.auth-page .auth-container p{text-align:left;font-size:14px;line-height:1.8;color:#5b6855;margin:0 0 24px}
.auth-page .auth-container p a{color:#526748;border-bottom:1px solid #a0ad94}
.auth-page .auth-container form label{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#69785f;margin:0 0 6px}
.auth-page .auth-container form input{width:100%;margin:0 0 20px;padding:10px 2px;border:0;border-bottom:1px solid #c4ccb7;border-radius:0;background:transparent;font:400 16px 'Raleway',sans-serif;color:#344831}
.auth-page .auth-container form input:focus{outline:0;border-bottom-color:#526748;box-shadow:0 1px 0 #526748}
.auth-page .auth-container form button{width:100%;margin-top:4px;min-height:50px;border:0;border-radius:40px;background:#526748;color:#fff;font:500 13px 'Raleway',sans-serif;cursor:pointer;transition:transform .18s ease-out,background .18s}
.auth-page .auth-container form button:hover{background:#344f37;transform:translateY(-2px)}
.auth-page .auth-container form button[disabled]{opacity:.6;cursor:progress;transform:none}

/* ---- Product story: formatted text from the admin editor ---- */
.sp-story-body{color:#344831}
.sp-story-body p{font:400 clamp(19px,1.9vw,23px)/1.7 'Baskervville',Georgia,serif;margin:0 0 1.1em}
.sp-story-body h2{font:400 clamp(28px,2.8vw,36px)/1.2 'Baskervville',Georgia,serif;letter-spacing:-.03em;color:#31472f;margin:1.3em 0 .5em}
.sp-story-body h3{font:600 13px 'Raleway',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#69785f;margin:1.8em 0 .8em}
.sp-story-body strong,.sp-story-body b{font-weight:700;color:#2c3f2a}
.sp-story-body em{color:#526748}
.sp-story-body ul,.sp-story-body ol{margin:0 0 1.2em;padding-left:1.3em;font:400 clamp(18px,1.8vw,21px)/1.7 'Baskervville',Georgia,serif}
.sp-story-body li{margin-bottom:.35em}
.sp-story-body li::marker{color:#8a9b7a}
.sp-story-body blockquote{margin:1.4em 0;padding:4px 0 4px 24px;border-left:2px solid #8a9b7a;font:italic 400 clamp(22px,2.3vw,28px)/1.5 'Baskervville',Georgia,serif;color:#526748}
.sp-story-body a{color:#526748;border-bottom:1px solid #a0ad94}
.sp-story-body a:hover{color:#714929;border-color:#714929}
.sp-story-body .ql-align-center{text-align:center}.sp-story-body .ql-align-right{text-align:right}.sp-story-body .ql-align-justify{text-align:justify}
.sp-story-body .ql-indent-1{padding-left:2em}.sp-story-body .ql-indent-2{padding-left:4em}
.sp-story-body>:first-child{margin-top:0}

/* ---- Account page ---- */
.sa-account-hero{min-height:clamp(380px,52svh,520px)}
.sa-account-hero p strong{font-weight:600;color:#31472f}
.sa-tabs{position:relative;display:inline-flex;gap:0;padding:4px;margin-bottom:clamp(28px,4vw,44px);border:1px solid #d8ddcf;border-radius:40px;background:#f0f0e6;max-width:100%;overflow-x:auto;scrollbar-width:none}
.sa-tabs::-webkit-scrollbar{display:none}
.sa-tabs-pill{position:absolute;top:4px;bottom:4px;left:4px;width:0;border-radius:40px;background:#526748;box-shadow:0 2px 6px -2px #0003;transition:transform .45s cubic-bezier(.22,1,.36,1),width .45s cubic-bezier(.22,1,.36,1)}
.sa-tabs button{position:relative;z-index:1;min-height:42px;padding:10px 22px;border:0;border-radius:40px;background:transparent;color:#526748;font:500 13px 'Raleway',sans-serif;white-space:nowrap;cursor:pointer;transition:color .3s}
.sa-tabs button[aria-selected=true]{color:#fff}
.sa-panel[hidden]{display:none}
.sa-panel{animation:sa-auth-in .5s cubic-bezier(.22,1,.36,1)}
.serenity-subpage .sa-panel h2{font-family:'Baskervville',Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.03em;color:#344831;margin:0 0 10px}
.serenity-subpage .sa-panel h2 em{color:#637853}

.sa-trips{display:grid;gap:22px}
.sa-trip{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);background:#fffdf8;border:1px solid #e3e6da;border-radius:24px;overflow:hidden;box-shadow:0 1px 1px -.5px #0000000f,0 3px 3px -1.5px #0000000f,0 6px 6px -3px #0000000f;transition:transform .3s ease-out,box-shadow .3s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.sa-trip:hover{transform:translateY(-4px);box-shadow:0 12px 12px -6px #0000000f,0 24px 24px -12px #00000014}.sa-trip:hover .sa-trip-photo img{transform:scale(1.03)}}
.sa-trip.is-past{opacity:.85}
.sa-trip-photo{position:relative;min-height:230px;overflow:hidden;background:#dfe3d3}
.sa-trip-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease-out}
.sa-badge{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:30px;background:#faf8f2ee;color:#344831;font:600 11px 'Raleway',sans-serif}
.sa-badge:before{content:'';width:7px;height:7px;border-radius:50%;background:#b7791f}
.sa-badge.is-approved:before{background:#3f8a55}.sa-badge.is-cancelled:before{background:#a0522d}
.sa-trip-body{padding:clamp(22px,3vw,32px)}
.sa-trip-body .home-eyebrow{margin-bottom:10px}
.sa-trip-body h3{font:400 clamp(24px,2.4vw,30px)/1.15 'Baskervville',Georgia,serif;letter-spacing:-.025em;color:#344831;margin:0 0 18px}
.sa-trip-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px;padding:16px 0;border-top:1px solid #e3e6da;border-bottom:1px solid #e3e6da}
.sa-trip-meta dt{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#69785f;margin-bottom:5px}
.sa-trip-meta dd{margin:0;font-size:14px;color:#344831}
.sa-trip-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.sa-note{font-size:13px;color:#69785f}
.sa-empty{text-align:center;padding:clamp(40px,7vw,70px) 20px;background:#e9eddf;border:1px solid #dce2d1;border-radius:28px}
.sa-empty p{color:#5b6855;font-size:14px;margin:0 0 24px}
.sa-empty-note{padding:20px 0}

.sa-card{background:#fffdf8;border:1px solid #e3e6da;border-radius:24px;padding:clamp(22px,3.5vw,36px);box-shadow:0 1px 1px -.5px #0000000f,0 3px 3px -1.5px #0000000f}
.sa-stories-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.sa-stories-head p{color:#5b6855;font-size:14px;line-height:1.8;margin:0;max-width:480px}
.sa-feedback-form{margin-bottom:26px;animation:sa-auth-in .45s cubic-bezier(.22,1,.36,1)}
.sa-feedback-form textarea{width:100%;min-height:130px;border:0;border-bottom:1px solid #c4ccb7;background:transparent;font:400 16px/1.7 'Raleway',sans-serif;color:#344831;padding:10px 2px;resize:vertical;outline:0}
.sa-feedback-form textarea:focus{border-bottom-color:#526748;box-shadow:0 1px 0 #526748}
.sa-drop{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px;margin:4px 0 14px;border:1.5px dashed #b9c3ad;border-radius:18px;background:#f5f4ec;text-align:center;cursor:pointer;transition:background .2s,border-color .2s}
.sa-drop:hover,.sa-drop.is-over{background:#e9eddf;border-color:#526748}
.sa-drop strong{font:500 14px 'Raleway',sans-serif;color:#405936}.sa-drop span{font-size:12px;color:#7a8670}
.sa-previews{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.sa-previews img{width:84px;height:84px;object-fit:cover;border-radius:12px}
.sa-feedback-form .serenity-button{cursor:pointer;font-family:'Raleway',sans-serif}
.sa-story-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.sa-story{background:#fffdf8;border:1px solid #e3e6da;border-radius:22px;padding:24px}
.sa-story p{font:400 18px/1.65 'Baskervville',Georgia,serif;color:#344831;margin:0}
.sa-story-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.sa-story-images img{width:76px;height:76px;object-fit:cover;border-radius:12px}

.sa-profile{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:22px;align-items:start}
.sa-details{margin:20px 0 0}
.sa-details>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #e3e6da}
.sa-details dt{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#69785f;padding-top:4px}
.sa-details dd{margin:0;font-size:15px;color:#344831;text-align:right;overflow-wrap:anywhere}
.sa-side h3{font:400 22px 'Baskervville',Georgia,serif;color:#344831;margin:0 0 6px}
.sa-side p{font-size:13px;line-height:1.75;color:#5b6855;margin:0 0 8px}
.sa-side hr{border:0;border-top:1px solid #e3e6da;margin:20px 0}
.sa-side .serenity-button{width:100%}

@media(max-width:900px){.sa-profile{grid-template-columns:1fr}}
@media(max-width:700px){
 .sa-trip{grid-template-columns:1fr}
 .sa-trip-photo{min-height:190px}
 .sa-trip-meta{grid-template-columns:1fr 1fr}
 .sa-tabs button{padding:10px 16px;font-size:12px}
 .sa-details>div{flex-direction:column;gap:4px}.sa-details dd{text-align:left}
}

/* account: two-column trip grid, photo on top */
.sa-group-title{display:flex;align-items:center;gap:10px;font:600 11px 'Raleway',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#69785f;margin:0 0 16px}
.sa-group-title span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:#e9eddf;color:#405936;letter-spacing:0}
.sa-trips+.sa-group-title{margin-top:40px}
.sa-trips{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.sa-trip{grid-template-columns:1fr}
.sa-trip-photo{min-height:0;aspect-ratio:16/8}
.sa-trip-body h3{font-size:clamp(22px,2vw,26px);margin-bottom:14px}
.sa-trip-meta{margin-bottom:18px;padding:12px 0}
.sa-trip .serenity-button{min-height:42px;padding:10px 18px}

/* ---- Itineraries: cards with a duration marker and a day timeline ---- */
.sp-itin-head{max-width:640px;margin:0 auto clamp(30px,4vw,48px);text-align:center}
.sp-itin-head .home-eyebrow{margin-bottom:14px}
.sp-itin-head p{font-size:14px;line-height:1.85;color:#5b6855;margin:16px auto 0;max-width:480px}
.sp-itins{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:22px;align-items:stretch}
.sp-itins.is-single{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto}
.sp-itin{position:relative;display:flex;flex-direction:column;background:#fffdf8;border:1px solid #e3e6da;border-radius:26px;padding:clamp(22px,3vw,34px);box-shadow:0 1px 1px -.5px #0000000f,0 3px 3px -1.5px #0000000f,0 6px 6px -3px #0000000f;transition:transform .35s ease-out,box-shadow .35s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.sp-itin:hover{transform:translateY(-5px);box-shadow:0 12px 12px -6px #0000000f,0 24px 24px -12px #00000017}}
.sp-itin-top{display:flex;gap:20px;align-items:flex-start}
.sp-itin-dur{flex-shrink:0;display:grid;place-items:center;align-content:center;width:86px;height:86px;border-radius:50%;background:#526748;color:#fff;text-align:center;box-shadow:0 0 0 6px #e9eddf}
.sp-itin-dur b{display:block;font:400 36px/1 'Baskervville',Georgia,serif}
.sp-itin-dur span{display:block;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-top:3px;padding:0 8px;line-height:1.3}
.sp-itin-dur:not(:has(b)) span{font-size:11px;letter-spacing:.06em;text-transform:none;font-weight:500}
.sp-itin-title{min-width:0;padding-top:6px}
.sp-itin-title .home-eyebrow{margin-bottom:8px}
.serenity-subpage .sp-itin-title h3{font:400 clamp(26px,2.5vw,32px)/1.15 'Baskervville',Georgia,serif;letter-spacing:-.025em;color:#31472f;margin:0}
.sp-itin-title p{font-size:14px;line-height:1.8;color:#5b6855;margin:10px 0 0}
.sp-itin-days{list-style:none;margin:26px 0 0;padding:0;position:relative}
.sp-itin-days li{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;padding-bottom:20px}
.sp-itin-days li:not(:last-child):before{content:'';position:absolute;left:10px;top:18px;bottom:-2px;width:1px;background:repeating-linear-gradient(180deg,#b9c3ad 0 4px,transparent 4px 8px)}
.sp-itin-dot{width:21px;height:21px;margin-top:2px;border-radius:50%;border:1.5px solid #8a9b7a;background:#fffdf8;box-shadow:inset 0 0 0 4px #fffdf8,inset 0 0 0 10px #c9d3bd}
.sp-itin-days li:first-child .sp-itin-dot{box-shadow:inset 0 0 0 4px #fffdf8,inset 0 0 0 10px #526748;border-color:#526748}
.sp-itin-days small{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#7a8a6c;margin-bottom:3px}
.sp-itin-days h4{font:400 20px/1.3 'Baskervville',Georgia,serif;color:#344831;margin:0}
.sp-itin-days p{font-size:13px;line-height:1.8;color:#5b6855;margin:6px 0 0}
.sp-itin-days.is-clamped li:nth-child(n+5){display:none}
.sp-itin-days.is-clamped.is-open li{display:grid;animation:sa-auth-in .45s cubic-bezier(.22,1,.36,1)}
.sp-itin-more{align-self:flex-start;margin:0 0 0 36px;padding:6px 0;border:0;border-bottom:1px solid #a0ad94;background:none;color:#405936;font:500 12px 'Raleway',sans-serif;cursor:pointer}
.sp-itin-more:hover{color:#714929;border-color:#714929}
.sp-itin-empty{margin:24px 0 0;padding:16px 18px;border-radius:16px;background:#f0f0e6;font-size:13px;line-height:1.75;color:#5b6855}
.sp-itin-foot{margin-top:auto;padding-top:24px}
.sp-itin-foot .serenity-button{font-family:'Raleway',sans-serif;cursor:pointer}
@media(max-width:560px){.sp-itin-top{flex-direction:column;gap:16px}.sp-itin-dur{width:72px;height:72px}.sp-itin-dur b{font-size:30px}}
.sp-itin-days.is-clamped:not(.is-open) li:nth-child(4):before{display:none}

/* ---- Readability on phones & tablets: no text below 11px, comfortable tap targets ---- */
@media(max-width:900px){
 .serenity-home .home-eyebrow,.serenity-home .serenity-eyebrow{font-size:11px;letter-spacing:.12em}
 .serenity-home .serenity-scroll{font-size:10.5px}
 .serenity-home .serenity-discovery a{font-size:11.5px}
 .serenity-home .home-interest-line{font-size:12px}
 .serenity-home .home-experience-photo>span,.serenity-home .home-gallery figcaption span{font-size:11px}
 .serenity-home .home-gallery figcaption{font-size:12.5px}
 .serenity-home .home-footer-bottom{font-size:11px}
 .serenity-home .home-footer-bottom span{line-height:1.8}
 .sp-facts span,.sp-field>span,.sp-contact-lines small,.sp-total label,.sa-trip-meta dt,.sa-details dt,.sp-itin-days small,.sp-itin-dur span,.sp-bar small,.sa-group-title,.auth-page .auth-container form label,#authModal .sp-field>span,#authModal .auth-form .home-eyebrow,#authModal .sa-auth-quote span{font-size:11px;letter-spacing:.12em}
 .sp-tile span em,.sp-gallery figcaption,.sa-auth-hint,#authModal .sa-auth-hint,.sp-note{font-size:12px}
 .sa-badge{font-size:11.5px}
 .sp-itin-more,#authModal .form-extra a{font-size:13px;padding-block:10px}
 .sa-drop span{font-size:12.5px}
}
/* The footer email and phone need the full width on the narrowest phones. */
@media(max-width:420px){
 .serenity-home .home-footer-grid{grid-template-columns:1fr!important}
 .serenity-home .home-footer-grid>div{grid-column:auto!important}
}

/* ---- Floating booking bar: roomier, label on one line, full width on phones ---- */
.sp-bar{min-width:min(460px,calc(100% - 32px));justify-content:space-between;gap:32px;padding:10px 10px 10px 28px}
.sp-bar>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sp-bar small{font-size:10.5px;white-space:nowrap}
.sp-bar strong{font-size:24px;line-height:1.1}
.sp-bar .serenity-button{min-height:50px;padding-inline:26px}
@media(max-width:600px){
 .sp-bar{left:12px;right:12px;min-width:0;max-width:none;width:auto;transform:translateY(24px);gap:14px;padding:9px 9px 9px 20px;border-radius:22px}
 .sp-bar.is-on{transform:translateY(0)}
 .sp-bar small{font-size:11px}
 .sp-bar strong{font-size:22px}
 .sp-bar .serenity-button{min-height:48px;padding-inline:20px;flex-shrink:0}
}

/* ---- Homepage packages: each package is its own section; sides swap on every even one ---- */
.serenity-home .home-pkg-intro{padding-bottom:clamp(10px,2vw,24px)}
.home-pkg{position:relative;padding-block:clamp(56px,8vw,112px);overflow:hidden}
.home-pkg.is-reverse{background:#f0f0e6}
.home-pkg-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,100px);align-items:center}
.home-pkg.is-reverse .home-pkg-photo{order:-1}
.home-pkg-text{position:relative;min-width:0;z-index:1}
/* Large faint numeral behind the title, like a chapter number */
.home-pkg-num{position:absolute;top:-.42em;left:-.06em;z-index:-1;font:italic 400 clamp(120px,15vw,210px)/1 'Baskervville',Georgia,serif;color:#526748;opacity:.07;pointer-events:none;user-select:none}
.home-pkg .home-eyebrow{margin-bottom:18px}
.serenity-home .home-pkg h3{font:400 clamp(38px,4.6vw,64px)/1.04 'Baskervville',Georgia,serif;letter-spacing:-.04em;color:#31472f;margin:0 0 18px}
.home-pkg h3 a{color:inherit;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s cubic-bezier(.22,1,.36,1),color .2s}
.home-pkg h3 a:hover{color:#526748;background-size:100% 1px}
.home-pkg-meta{overflow:hidden;margin:0 0 22px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#69785f}
.home-pkg-meta-in{display:flex;flex-wrap:wrap;row-gap:6px;margin-left:-25px}
.home-pkg-meta-in>span{white-space:nowrap}
.home-pkg-meta-in>span:before{content:'';display:inline-block;width:1px;height:11px;margin:0 12px;background:#b9c3ad;vertical-align:-1px}
.home-pkg-desc{font-size:16px;line-height:1.9;color:#5b6855;margin:0;max-width:470px}
.home-pkg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:34px}
.home-pkg-actions .serenity-button{min-height:50px}
/* Photo: tall, softly arched on the outer side so the two directions read as a rhythm */
.home-pkg-photo{position:relative;display:block;aspect-ratio:5/4;border-radius:200px 24px 24px 24px;overflow:hidden;background:#dfe3d3;box-shadow:0 24px 48px -28px #1e2f1f73}
.home-pkg.is-reverse .home-pkg-photo{border-radius:24px 200px 24px 24px}
.home-pkg-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.home-pkg-tag{position:absolute;left:22px;bottom:22px;padding:9px 16px;border-radius:30px;background:#faf8f2eb;color:#344831;font:600 11px 'Raleway',sans-serif;letter-spacing:.06em;backdrop-filter:blur(6px)}
.home-pkg.is-reverse .home-pkg-tag{left:auto;right:22px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-pkg-photo:hover img{transform:scale(1.08)}}
.serenity-home .home-pkg-outro{padding-block:clamp(26px,4vw,44px) clamp(56px,7vw,100px)}
.home-pkg-outro .home-booking-note{padding:0}
@media(max-width:860px){
 .home-pkg-inner{grid-template-columns:1fr;gap:30px}
 .home-pkg .home-pkg-photo,.home-pkg.is-reverse .home-pkg-photo{order:-1;aspect-ratio:4/3;border-radius:120px 120px 20px 20px}
 .home-pkg.is-reverse .home-pkg-tag{right:auto;left:18px}
 .home-pkg-tag{left:18px;bottom:18px}
 .home-pkg-num{font-size:120px;top:-.5em}
 .home-pkg-desc{font-size:15px}
 .home-pkg-actions{margin-top:26px}
}
@media(max-width:420px){.home-pkg .home-pkg-photo,.home-pkg.is-reverse .home-pkg-photo{border-radius:90px 90px 18px 18px}}
@media(prefers-reduced-motion:reduce){.home-pkg-photo img{transform:none;transition:none}}

/* ---- Motion (matches the admin panel): blur-in reveals, staggered arrivals, soft page exits ---- */
@media(prefers-reduced-motion:no-preference){
 .home-reveal-ready{opacity:0;filter:blur(10px);transform:translateY(24px) scale(.985);transition:opacity .8s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--rd,0ms)}
 .home-reveal-ready.is-visible,.home-reveal-ready:focus-within{opacity:1;filter:none;transform:none}
 /* experience photos settle from a gentle zoom as they appear */
 .home-pkg-photo.home-reveal-ready img,.sa-trip .sa-trip-photo img{transition:transform 1.6s cubic-bezier(.22,1,.36,1)}
 .home-pkg-photo.home-reveal-ready:not(.is-visible) img{transform:scale(1.16)}
 /* leaving the page */
 body.sa-leaving main,body.sa-leaving .home-footer,body.sa-leaving .footer{opacity:0;filter:blur(8px);transform:translateY(-10px);transition:opacity .28s ease-in,filter .28s ease-in,transform .28s ease-in}
 body.sa-leaving .serenity-navigation{opacity:.55;transition:opacity .28s ease-in}
 /* arriving on a page: the content fades up once */
 main#main-content{animation:sa-page-in .6s cubic-bezier(.22,1,.36,1) backwards}
 /* buttons respond to a press */
 .serenity-button:active,.home-book-button:active,.sp-filters button:active,.sa-tabs button:active{transform:scale(.96)}
}
@keyframes sa-page-in{from{opacity:0;filter:blur(6px)}}
