@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&family=Mulish:wght@300;400;500;600;700&display=swap');


:root{--solara-ink:#2d2a26;--solara-rust:#b85c38;--solara-orange:#e88752;--solara-cream:#fff8f2;--solara-sand:#f4e6d8;--solara-muted:#7b7169;--foreground:var(--solara-ink);--background:var(--solara-cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--solara-ink);background:var(--solara-cream)}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.site-main{overflow:hidden}.solara-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s ease;background:transparent!important;box-shadow:none!important}.solara-header.is-scrolled{background:rgba(255,248,242,.88)!important;backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(45,42,38,.08)!important}.solara-header nav a{font-family:var(--font-body);font-size:14px;color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.35);transition:.2s}.solara-header nav a:hover{color:#fff}.solara-header.is-scrolled nav a{color:rgba(45,42,38,.72);text-shadow:none}.solara-header.is-scrolled nav a:hover{color:var(--solara-ink)}.solara-logo{color:#fff;font-weight:300;letter-spacing:.2em;text-shadow:0 1px 10px rgba(0,0,0,.35)}.solara-logo-subtitle{letter-spacing:.15em;color:rgba(255,255,255,.85)!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}.solara-header.is-scrolled .solara-logo{color:var(--solara-ink);text-shadow:none}.solara-header.is-scrolled .solara-logo-subtitle{color:var(--solara-muted)!important;text-shadow:none}.solara-nav-cta,.solara-button-primary{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--solara-orange),var(--solara-rust));color:#fff!important;border-radius:999px;padding:1rem 2rem;font-family:var(--font-heading);font-weight:700;box-shadow:0 10px 24px rgba(184,92,56,.25);transition:.25s}.solara-nav-cta{padding:.55rem 1.25rem;margin-left:.5rem;font-size:14px}.solara-button-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(184,92,56,.28)}.solara-button-secondary{display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.5);background:rgba(255,255,255,.15);backdrop-filter:blur(8px);color:white;border-radius:999px;padding:1rem 2rem;font-family:var(--font-heading);font-weight:600;transition:.25s}.solara-button-secondary:hover{background:rgba(255,255,255,.25)}.solara-menu-toggle{background:transparent;border:0;display:none;flex-direction:column;gap:5px}.solara-menu-toggle span{width:22px;height:2px;background:#fff;display:block;box-shadow:0 1px 8px rgba(0,0,0,.35)}.solara-header.is-scrolled .solara-menu-toggle span{background:var(--solara-ink);box-shadow:none}.solara-mobile-nav{display:none;flex-direction:column;padding:0 1.5rem 1.25rem;background:rgba(255,248,242,.98);box-shadow:0 20px 40px rgba(45,42,38,.1)}.solara-mobile-nav a{padding:.7rem 0}.solara-mobile-nav.is-open{display:flex}.hero-bg{background-size:cover;background-position:center 30%}.hero-overlay{background:linear-gradient(rgba(45,42,38,.45) 0%,rgba(184,92,56,.35) 50%,rgba(45,42,38,.75) 100%)}.hero-title{color:var(--solara-cream);font-weight:300}.hero-location{color:var(--solara-sand);font-weight:400}.hero-highlights span{font-size:14px;color:rgba(255,255,255,.7);display:inline-flex;gap:.25rem;align-items:center}
.bg-white{background:#fff}.bg-background{background:var(--background)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--solara-muted)}.text-white{color:white}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.inset-0{inset:0}.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-8{bottom:2rem}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-10{margin-bottom:2.5rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.ml-2{margin-left:.5rem}.p-2{padding:.5rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-24{padding-top:6rem;padding-bottom:6rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.w-full{width:100%}.w-px{width:1px}.h-8{height:2rem}.h-80{height:20rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.text-center{text-align:center}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-7xl{font-size:4.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.15}.leading-snug{line-height:1.35}.leading-relaxed{line-height:1.7}.font-300{font-weight:300}.font-400{font-weight:400}.font-600,.font-semibold{font-weight:600}.font-700{font-weight:700}.font-800{font-weight:800}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-widest{letter-spacing:.12em}.rounded-lg{border-radius:.5rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:999px}.border{border:1px solid}.border-2{border-width:2px}.border-orange-100{border-color:#ffeadb}.border-orange-200{border-color:#ffd6bd}.border-white\/30{border-color:rgba(255,255,255,.3)}.shadow-sm{box-shadow:0 4px 12px rgba(45,42,38,.06)}.shadow-md{box-shadow:0 8px 24px rgba(45,42,38,.1)}.shadow-lg{box-shadow:0 16px 40px rgba(45,42,38,.12)}.opacity-60{opacity:.6}.transition-all{transition:all .25s}.transition-colors{transition:color .25s,border-color .25s,background-color .25s}.backdrop-blur-sm{backdrop-filter:blur(8px)}.bg-white\/15{background:rgba(255,255,255,.15)}.bg-white\/25{background:rgba(255,255,255,.25)}.text-white\/90{color:rgba(255,255,255,.9)}.text-white\/80{color:rgba(255,255,255,.8)}.text-white\/70{color:rgba(255,255,255,.7)}.text-white\/50{color:rgba(255,255,255,.5)}.text-foreground\/80{color:rgba(45,42,38,.8)}.text-foreground\/70{color:rgba(45,42,38,.7)}.text-foreground\/65{color:rgba(45,42,38,.65)}.text-foreground\/60{color:rgba(45,42,38,.6)}.-translate-x-1\/2{transform:translateX(-50%)}.left-1\/2{left:50%}.animate-pulse{animation:pulse 1.8s infinite}@keyframes pulse{50%{opacity:.35}}section h2 span, section [style*="232, 135, 82"]{color:var(--solara-orange)!important}section [style*="255, 248, 242"]{background:var(--solara-cream)!important}section [style*="244, 230, 216"]{background:var(--solara-sand)!important}section [style*="184, 92, 56"]{color:var(--solara-rust)!important}.hover\:-translate-y-0\.5:hover{transform:translateY(-2px)}.hover\:shadow-xl:hover{box-shadow:0 20px 45px rgba(45,42,38,.16)}.hover\:shadow-sm:hover{box-shadow:0 4px 12px rgba(45,42,38,.06)}.hover\:opacity-90:hover{opacity:.9}.hover\:bg-white\/25:hover{background:rgba(255,255,255,.25)}
form input,form textarea,.solara-form input,.solara-form textarea{width:100%;border:1px solid #ead7ca;border-radius:14px;padding:.9rem 1rem;background:#fff;color:var(--solara-ink)}form button,.solara-form button{background:linear-gradient(135deg,var(--solara-orange),var(--solara-rust));border:0;color:#fff;border-radius:999px;padding:1rem 1.5rem;font-weight:700;cursor:pointer}.solara-form-message{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:#fff8f2;color:var(--solara-ink);display:none}.solara-form-message.is-visible{display:block}
@media(min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:h-96{height:24rem}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-2xl{font-size:1.5rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:text-9xl{font-size:8rem}}
@media(min-width:1024px){.lg\:text-\[10rem\]{font-size:10rem}}
@media(max-width:767px){.solara-menu-toggle{display:flex}.hidden.md\:flex{display:none}.hero-title{font-size:4.5rem}.py-24{padding-top:5rem;padding-bottom:5rem}.text-4xl{font-size:2.25rem}.px-6{padding-left:1.1rem;padding-right:1.1rem}.grid{grid-template-columns:1fr!important}}


/* v1.4 — Base44 visual matching for itinerary carousel */
.solara-week{background:#fff;padding:7.2rem 1.5rem 7.7rem;position:relative;overflow:hidden}.solara-week *{box-sizing:border-box}.solara-week-inner{max-width:76rem;margin:0 auto}.solara-week-intro{text-align:center;margin:0 auto 3rem}.solara-eyebrow{display:block;font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e88752;margin-bottom:1.25rem}.solara-week-title{margin:0 0 1rem;font-family:var(--font-heading);font-size:clamp(2.75rem,5vw,4.65rem);line-height:1.02;font-weight:400;color:#2d2a26;letter-spacing:-.04em}.solara-week-title span{color:#e88752!important}.solara-week-subtitle{max-width:42rem;margin:0 auto;color:rgba(45,42,38,.55);font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.45}.solara-day-tabs{display:flex;align-items:center;justify-content:center;gap:.72rem;flex-wrap:wrap;margin:0 auto 2.7rem}.solara-day-tab{appearance:none;border:1px solid rgba(45,42,38,.1);background:#fff;color:rgba(45,42,38,.44);border-radius:999px;padding:.68rem 1.25rem;font-family:var(--font-heading);font-size:.86rem;font-weight:600;line-height:1;box-shadow:0 10px 28px rgba(45,42,38,.035);cursor:pointer;transition:all .24s ease}.solara-day-tab:hover{border-color:rgba(232,135,82,.38);color:#2d2a26;transform:translateY(-1px)}.solara-day-tab.is-active{border-color:transparent;background:linear-gradient(135deg,#e88752,#b85c38);color:#fff;box-shadow:0 12px 26px rgba(184,92,56,.22)}.solara-week-carousel{position:relative;max-width:64rem;margin:0 auto}.solara-day-card{background:#fff;border:1px solid rgba(232,135,82,.26);border-radius:1.65rem;overflow:hidden;box-shadow:0 18px 45px rgba(45,42,38,.055);min-height:23.75rem;transition:opacity .18s ease,transform .18s ease}.solara-day-card.is-changing{opacity:.2;transform:translateY(3px)}.solara-day-card-head{min-height:8.25rem;padding:2rem 2.25rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff8f2,#f4e6d8)}.solara-day-heading-wrap{display:flex;align-items:center;gap:1.25rem}.solara-day-icon{font-size:2.1rem;line-height:1;display:inline-flex;width:2.5rem;justify-content:center;flex-shrink:0}.solara-day-kicker{margin:0 0 .42rem;font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e88752}.solara-day-name{margin:0;font-family:var(--font-heading);font-size:clamp(1.75rem,3vw,2.55rem);font-weight:400;line-height:1.05;color:#2d2a26;letter-spacing:-.03em}.solara-day-mood{margin:.55rem 0 0;color:rgba(45,42,38,.45);font-size:.96rem;font-style:italic}.solara-day-count{display:flex;gap:.7rem;color:rgba(45,42,38,.38);font-size:1.05rem;white-space:nowrap}.solara-day-body{padding:2.25rem 2.25rem 3.25rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.25rem;min-height:15.5rem}.solara-day-part h4{margin:0 0 .9rem;font-family:var(--font-heading);font-size:.84rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#b85c38}.solara-day-part ul{list-style:none;margin:0;padding:0;display:grid;gap:.68rem}.solara-day-part li{position:relative;padding-left:1.05rem;color:rgba(45,42,38,.68);font-size:1rem;line-height:1.38}.solara-day-part li:before{content:"";position:absolute;left:0;top:.58em;width:.35rem;height:.35rem;border-radius:999px;background:#e88752}.solara-carousel-arrow{position:absolute;top:50%;z-index:4;width:2.7rem;height:2.7rem;border-radius:999px;border:1px solid rgba(45,42,38,.12);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(45,42,38,.08);transition:all .22s ease}.solara-carousel-prev{left:0;transform:translate(-50%,-50%)}.solara-carousel-next{right:0;transform:translate(50%,-50%)}.solara-carousel-prev:hover{transform:translate(-50%,-50%) scale(1.04);border-color:rgba(232,135,82,.5)}.solara-carousel-next:hover{transform:translate(50%,-50%) scale(1.04);border-color:rgba(232,135,82,.5)}.solara-carousel-arrow svg{width:1.2rem;height:1.2rem;fill:none;stroke:#e88752;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.solara-mobile-carousel-controls{display:none}.solara-week-cta-wrap{text-align:center;margin-top:2.65rem}.solara-week-cta{display:inline-flex;align-items:center;justify-content:center;min-width:15rem;border:2px solid #e88752;border-radius:999px;padding:1rem 2.2rem;color:#e88752;font-family:var(--font-heading);font-weight:600;background:#fff;transition:all .22s ease}.solara-week-cta:hover{background:#fff8f2;transform:translateY(-1px)}.solara-sticky-mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;transform:translateY(110%);transition:transform .3s ease}.solara-sticky-mobile-cta.is-visible{transform:translateY(0)}.solara-sticky-mobile-inner{background:#fff;border-top:1px solid #ffeadb;padding:1rem 1.25rem;display:flex;align-items:center;gap:.9rem;box-shadow:0 -16px 36px rgba(45,42,38,.14)}.solara-sticky-mobile-inner div{flex:1}.solara-sticky-mobile-inner p{font-family:var(--font-heading);font-weight:700;font-size:.9rem;line-height:1;margin:0;color:#2d2a26}.solara-sticky-mobile-inner span{display:block;font-size:.74rem;color:#7b7169;margin-top:.28rem}.solara-sticky-mobile-inner a{flex-shrink:0;border-radius:999px;padding:.88rem 1.15rem;background:linear-gradient(135deg,#e88752,#b85c38);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.85rem;box-shadow:0 8px 20px rgba(184,92,56,.22)}@media(max-width:900px){.solara-day-body{grid-template-columns:1fr;gap:1.6rem}.solara-day-card-head{align-items:flex-start}.solara-day-count{display:none}.solara-carousel-arrow{display:none}.solara-mobile-carousel-controls{display:flex;align-items:center;justify-content:space-between;max-width:64rem;margin:1.25rem auto 0}.solara-mobile-carousel-controls button{border:1px solid rgba(45,42,38,.12);background:#fff;border-radius:999px;padding:.72rem 1rem;color:#e88752;font-family:var(--font-heading);font-weight:700}.solara-mobile-carousel-controls span{color:rgba(45,42,38,.45)}}@media(max-width:767px){.solara-sticky-mobile-cta{display:block}}@media(max-width:640px){.solara-week{padding:5.25rem 1rem}.solara-day-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:.25rem .2rem .8rem;margin-bottom:1.3rem;scrollbar-width:none}.solara-day-tabs::-webkit-scrollbar{display:none}.solara-day-tab{flex:0 0 auto;padding:.62rem 1rem}.solara-day-card{border-radius:1.25rem;min-height:auto}.solara-day-card-head{padding:1.45rem 1.35rem;min-height:auto}.solara-day-heading-wrap{gap:.8rem}.solara-day-icon{font-size:1.7rem;width:2rem}.solara-day-body{padding:1.5rem 1.35rem 2.1rem}.solara-week-cta{width:100%;min-width:0}.solara-week-subtitle{font-size:1rem}.solara-week-title{font-size:2.65rem}.solara-sticky-mobile-inner{padding:.9rem 1rem}.solara-sticky-mobile-inner a{padding:.82rem 1rem}}


/* v1.5 — Base44 matching fixes for Faculty + Dates sections */
/* Missing Tailwind-style utilities used by Base44 export */
.h-5{height:1.25rem}.w-5{width:1.25rem}.h-4{height:1rem}.w-4{width:1rem}.h-10{height:2.5rem}.w-10{width:2.5rem}.h-52{height:13rem}.h-56{height:14rem}.max-w-5xl{max-width:64rem}.max-w-xl{max-width:36rem}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.mr-2{margin-right:.5rem}.inline-block{display:inline-block}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.text-left{text-align:left}.text-right{text-align:right}.rotate-180{transform:rotate(180deg)}.duration-500{transition-duration:.5s}.transition-transform{transition-property:transform}.transition-opacity{transition-property:opacity}.opacity-0{opacity:0}.opacity-20{opacity:.2}.group:hover .group-hover\:scale-105{transform:scale(1.05)}.group:hover .group-hover\:opacity-20{opacity:.2}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Faculty: match the Base44 four-card version on the left */
#faculty{background:#fff!important;padding-top:7rem!important;padding-bottom:7rem!important;}
#faculty .max-w-5xl{max-width:64rem!important;}
#faculty .text-center.mb-14{margin-bottom:3.2rem!important;}
#faculty h2{font-family:var(--font-heading)!important;font-size:clamp(2.25rem,4.2vw,3.6rem)!important;line-height:1.05!important;font-weight:400!important;letter-spacing:-.035em!important;margin-bottom:1rem!important;}
#faculty p{font-family:var(--font-body);}
#faculty .grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.45rem!important;}
#faculty .group{border:1px solid #ffeadb!important;border-radius:1.45rem!important;overflow:hidden!important;background:#fff!important;box-shadow:none!important;transition:all .25s ease!important;}
#faculty .group:hover{border-color:#ffd6bd!important;box-shadow:0 16px 34px rgba(45,42,38,.09)!important;transform:translateY(-2px);}
#faculty .relative.overflow-hidden{height:14rem!important;background:#fff8f2!important;}
#faculty img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;position:relative!important;z-index:1!important;}
#faculty .absolute.inset-0{z-index:2!important;pointer-events:none!important;opacity:0!important;}
#faculty .group:hover .absolute.inset-0{opacity:.2!important;}
#faculty .p-5{padding:1.15rem!important;}
#faculty .inline-block{display:inline-block!important;background:#f4e6d8!important;color:#b85c38!important;border-radius:999px!important;padding:.42rem .78rem!important;font-size:.68rem!important;line-height:1!important;margin-bottom:.8rem!important;}
#faculty h3{font-family:var(--font-heading)!important;font-weight:700!important;font-size:.98rem!important;margin:0 0 .65rem!important;}
#faculty .p-5 p{font-size:.78rem!important;line-height:1.55!important;color:rgba(45,42,38,.62)!important;margin:0!important;}
#faculty > div > p:last-child{font-size:.86rem!important;color:rgba(45,42,38,.42)!important;margin-top:2.1rem!important;}

/* Dates & flights: match the Base44 section on the left */
#dates{background:#fff8f2!important;padding-top:7rem!important;padding-bottom:7rem!important;}
#dates .max-w-5xl{max-width:64rem!important;margin-left:auto!important;margin-right:auto!important;}
#dates .text-center.mb-14{margin-bottom:3.2rem!important;}
#dates h2{font-family:var(--font-heading)!important;font-weight:400!important;font-size:clamp(2.3rem,4.1vw,3.65rem)!important;line-height:1.02!important;letter-spacing:-.035em!important;margin-bottom:1.2rem!important;}
#dates h2 span{display:inline!important;color:#e88752!important;}
#dates .grid.md\:grid-cols-2{gap:1.55rem!important;margin-bottom:1.85rem!important;}
#dates .bg-white.rounded-3xl{border:1px solid #ffeadb!important;border-radius:1.55rem!important;background:#fff!important;box-shadow:0 10px 28px rgba(45,42,38,.045)!important;}
#dates .grid.md\:grid-cols-2 > .bg-white.rounded-3xl{padding:2rem!important;}
#dates .flex.items-center.gap-3.mb-5{margin-bottom:1.35rem!important;}
#dates .w-10.h-10{width:2.5rem!important;height:2.5rem!important;background:#f4e6d8!important;}
#dates .text-3xl{font-family:var(--font-heading)!important;font-size:1.9rem!important;font-weight:700!important;line-height:1!important;}
#dates .text-sm{font-size:.86rem!important;color:rgba(45,42,38,.58)!important;}
#dates .text-xs{font-size:.74rem!important;color:rgba(45,42,38,.55)!important;}
#dates .h-px{height:1px!important;background:#f1c6a7!important;}
#dates .bg-white.rounded-3xl:nth-of-type(3){padding:2rem!important;}
#dates .bg-white.rounded-3xl .grid.md\:grid-cols-2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2rem!important;align-items:center!important;margin-bottom:0!important;}
#dates img{display:block!important;width:100%!important;height:13rem!important;object-fit:cover!important;border-radius:1rem!important;box-shadow:0 8px 20px rgba(45,42,38,.09)!important;}
#dates .mt-8{margin-top:1.85rem!important;padding:1.15rem 1.5rem!important;border-radius:1rem!important;background:#f4e6d8!important;border-color:#e8c8af!important;}
#dates .mt-8 p{margin:0!important;font-size:.86rem!important;line-height:1.5!important;color:rgba(45,42,38,.64)!important;}

@media(max-width:900px){
  #faculty .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:767px){
  #faculty,#dates{padding-top:5rem!important;padding-bottom:5rem!important;}
  #faculty .grid{grid-template-columns:1fr!important;}
  #faculty .relative.overflow-hidden{height:17rem!important;}
  #dates .grid.md\:grid-cols-2,#dates .bg-white.rounded-3xl .grid.md\:grid-cols-2{grid-template-columns:1fr!important;}
  #dates .grid.md\:grid-cols-2 > .bg-white.rounded-3xl,#dates .bg-white.rounded-3xl:nth-of-type(3){padding:1.35rem!important;}
  #dates h2,#faculty h2{font-size:2.55rem!important;}
}

/* v1.6 — closer Base44 parity fixes from annotated screenshots */
/* Missing Tailwind-style utilities that caused layout collapse in WP */
.inline-block{display:inline-block}.block{display:block}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.resize-none{resize:none}.font-900{font-weight:900}.top-5{top:1.25rem}.right-5{right:1.25rem}.-bottom-4{bottom:-1rem}.-right-4{right:-1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-8{margin-top:2rem}.pt-8{padding-top:2rem}.pl-0{padding-left:0}.w-2{width:.5rem}.h-2{height:.5rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-14{width:3.5rem}.h-14{height:3.5rem}.h-48{height:12rem}.border-t{border-top:1px solid}.border-b{border-bottom:1px solid}.border-white\/10{border-color:rgba(255,255,255,.1)}.border-green-100{border-color:#dcfce7}.border-green-200{border-color:#bbf7d0}.bg-orange-50{background:#fff7ed}.bg-green-50{background:#f0fdf4}.hover\:bg-orange-50:hover{background:#fff7ed}.hover\:bg-green-50:hover{background:#f0fdf4}.hover\:border-orange-300:hover{border-color:#fdba74}.hover\:border-green-200:hover{border-color:#bbf7d0}.hover\:shadow-lg:hover{box-shadow:0 16px 40px rgba(45,42,38,.12)}.hover\:shadow-2xl:hover{box-shadow:0 28px 70px rgba(45,42,38,.2)}.hover\:text-white:hover{color:#fff}.duration-200{transition-duration:.2s}.fill-current{fill:currentColor}.fill-white{fill:#fff}.text-white{color:#fff}.text-orange-500{color:#f97316}.text-white\/30{color:rgba(255,255,255,.3)}.text-white\/40{color:rgba(255,255,255,.4)}.text-white\/50{color:rgba(255,255,255,.5)}.bg-white\/20{background:rgba(255,255,255,.2)}.shadow-xl{box-shadow:0 24px 55px rgba(45,42,38,.16)}.outline-none{outline:none}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.group:hover .group-hover\:text-orange-500{color:var(--solara-orange)}

/* Restore real section rhythm and Base44 sizing */
#about,#dates,#pricing,#contact{background:#fff!important}#faq,#testimonials{background:#fff8f2!important}#about,#dates,#testimonials,#pricing,#faq,#contact{padding-top:7rem!important;padding-bottom:7rem!important}#about .max-w-5xl,#dates .max-w-5xl,#pricing .max-w-5xl,#contact .max-w-5xl{max-width:64rem!important}#about .max-w-2xl,#pricing .max-w-xl{max-width:42rem!important}
#about h2,#dates h2,#pricing h2,#faq h2,#testimonials h2,#contact h2{font-family:var(--font-heading)!important;font-weight:400!important;letter-spacing:-.035em;color:#2d2a26;line-height:1.05!important}#pricing h2,#faq h2,#testimonials h2,#contact h2{font-weight:800!important}#about h2{font-size:clamp(2.25rem,4.4vw,3.45rem)!important}#about h2 span,#dates h2 span,#pricing h2 span,#faq h2 span,#testimonials h2 span,#contact h2 span{color:#e88752!important}
#about .text-center,#dates .text-center,#pricing .text-center,#faq .text-center,#testimonials .text-center{text-align:center!important}#about .mb-16{margin-bottom:4.25rem!important}#about .grid.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2rem!important;margin-bottom:4rem!important}#about .grid.md\:grid-cols-3>div{background:#fff8f2!important;border:1px solid #ffeadb!important;border-radius:1.25rem!important;padding:2rem!important;min-height:11.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}#about .text-4xl.mb-4{font-size:2rem!important;margin-bottom:1rem!important}#about h3{font-size:1.15rem!important;margin-bottom:.8rem!important}#about .grid.md\:grid-cols-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:3.5rem!important;align-items:center!important}#about img{height:24rem!important;border-radius:1.5rem!important;object-fit:cover;box-shadow:0 22px 50px rgba(45,42,38,.14)!important}#about .absolute.-bottom-4.-right-4{position:absolute!important;bottom:-1rem!important;right:-1rem!important;background:#fff!important;border:1px solid #ffeadb;border-radius:1rem;box-shadow:0 12px 30px rgba(45,42,38,.12);padding:.75rem 1.25rem}#about .flex.flex-wrap.gap-3 span{background:#f4e6d8!important;color:#2d2a26!important;border-radius:999px;padding:.45rem .95rem;font-size:.72rem;line-height:1}

/* Dates & Flights: match compact left version */
#dates{background:#fff8f2!important}#dates h2{font-size:clamp(2.3rem,4.4vw,3.55rem)!important}#dates h2 span:first-child{display:inline!important}#dates .grid.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.5rem!important}#dates .grid.md\:grid-cols-2>.rounded-3xl{padding:2rem!important;border-radius:1.25rem!important;min-height:11rem;background:#fff!important;border:1px solid #ffeadb!important;box-shadow:0 10px 30px rgba(45,42,38,.04)!important}#dates .font-heading.font-800.text-3xl{font-size:1.9rem!important;font-weight:400!important}#dates .rounded-3xl.border.border-orange-100.p-8{padding:2rem!important;border-radius:1.25rem!important;background:#fff!important}#dates .rounded-2xl.object-cover,#dates img{border-radius:1rem!important;object-fit:cover}#dates .h-px{height:1px;background:#ffd6bd!important}#dates .w-px{width:1px;background:#ffd6bd!important}

/* Testimonials: smaller avatar, filled stars, dots/buttons like Base44 */
#testimonials{background:linear-gradient(160deg,#fff8f2 0%,#f4e6d8 100%)!important}#testimonials .max-w-4xl{max-width:56rem!important}#testimonials h2{font-size:clamp(2rem,4vw,3.2rem)!important}#testimonials blockquote{font-size:clamp(1.1rem,1.6vw,1.45rem)!important;line-height:1.55!important;font-style:italic!important;color:rgba(45,42,38,.72)!important}#testimonials .bg-white.rounded-3xl{max-width:48rem;margin:0 auto;border-radius:1.25rem!important;padding:3rem 3.5rem!important;box-shadow:0 18px 45px rgba(45,42,38,.08)!important}#testimonials .w-14.h-14{width:3rem!important;height:3rem!important}#testimonials svg.lucide-star{width:1rem!important;height:1rem!important;color:#e88752!important;fill:#e88752!important}#testimonials .w-10.h-10{width:2.35rem!important;height:2.35rem!important;border-radius:999px!important;background:#fff!important;box-shadow:0 7px 18px rgba(45,42,38,.1)!important}#testimonials .w-2.h-2{width:.42rem!important;height:.42rem!important}

/* Pricing: restore two-card Base44 grid, bullets and gradient card */
#pricing{background:#fff!important}#pricing .grid.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2rem!important;align-items:stretch!important}#pricing .rounded-3xl{border-radius:1.5rem!important;padding:2rem!important;display:flex!important;flex-direction:column!important;min-height:36rem!important}#pricing .grid.md\:grid-cols-2>.rounded-3xl:first-child{background:#fff!important;border:2px solid #ffeadb!important}#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2){background:linear-gradient(160deg,#e88752 0%,#b85c38 100%)!important;border-color:#b85c38!important;box-shadow:0 26px 65px rgba(184,92,56,.25)!important}#pricing h3{font-size:1.65rem!important;line-height:1.16!important}#pricing .text-5xl{font-size:3rem!important;line-height:1!important}#pricing ul{list-style:none!important;margin:0!important;padding:0!important}#pricing li{display:flex!important;align-items:flex-start!important;gap:.75rem!important;margin-top:.8rem!important}#pricing li svg{width:1rem!important;height:1rem!important;margin-top:.2rem!important;flex-shrink:0!important}#pricing button{margin-top:auto!important;border-radius:999px!important;min-height:3.15rem!important;background:#fff}#pricing .grid.md\:grid-cols-2>.rounded-3xl:first-child button{background:#fff!important;border:2px solid #e88752!important;color:#e88752!important}#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2) button{background:#fff!important;color:#b85c38!important;border:0!important}#pricing .absolute.top-5.right-5{top:1.25rem!important;right:1.25rem!important}

/* FAQ: keep card narrow, remove grey fallback bars, add working answer spacing */
#faq{background:#fff8f2!important}#faq .max-w-3xl{max-width:50rem!important}#faq .bg-white.rounded-3xl{background:#fff!important;border:1px solid #ffeadb!important;border-radius:1.35rem!important;padding:2rem 2.5rem!important;box-shadow:0 14px 36px rgba(45,42,38,.06)!important}#faq button{background:transparent!important;border:0!important;box-shadow:none!important;color:#2d2a26!important;cursor:pointer}#faq .border-b{border-bottom:1px solid #ffeadb!important}#faq .border-b:last-child{border-bottom:0!important}#faq button span{font-size:1rem!important;font-weight:600!important}#faq .solara-faq-answer{display:none;padding:0 0 1.25rem;color:rgba(45,42,38,.65);line-height:1.65;font-size:.95rem}#faq .is-open .solara-faq-answer{display:block}#faq .is-open svg{transform:rotate(180deg)!important}

/* Contact: match Base44 left layout and form */
#contact{background:#fff!important}#contact .grid.md\:grid-cols-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:4rem!important;align-items:start!important}#contact h2{font-size:clamp(2.3rem,4.1vw,3.35rem)!important;font-weight:400!important}#contact .space-y-4.mb-8 a{background:#fff!important;border:1px solid #ffeadb!important;border-radius:1rem!important;padding:1.05rem 1.2rem!important;min-height:4.75rem!important}#contact .space-y-4.mb-8 a:nth-child(2){border-color:#d7f4df!important}#contact img{height:14rem!important;border-radius:1rem!important;object-fit:cover!important;box-shadow:0 16px 36px rgba(45,42,38,.12)!important}#contact .rounded-3xl.p-8{background:#fff8f2!important;border:1px solid #ffeadb!important;border-radius:1.5rem!important;padding:2rem!important;box-shadow:0 16px 40px rgba(45,42,38,.08)!important}#contact form label{font-size:.67rem!important;letter-spacing:.14em!important;color:rgba(45,42,38,.55)!important}#contact form input,#contact form textarea{border-radius:.8rem!important;border:1px solid #ffeadb!important;background:#fff!important;padding:.85rem 1rem!important;box-shadow:none!important}#contact form button{background:linear-gradient(135deg,#e88752,#b85c38)!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:0 12px 28px rgba(184,92,56,.22)!important}

/* Footer added in v1.6 */
.solara-footer{padding:4rem 1.5rem;background:#2d2a26;color:#fff;border-top:1px solid rgba(255,255,255,.08)}.solara-footer-inner{max-width:64rem;margin:0 auto}.solara-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}.solara-footer-logo{font-family:var(--font-heading);font-size:1.9rem;letter-spacing:.2em;font-weight:300;color:#e88752;margin:0 0 .25rem}.solara-footer-location{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin:0 0 1rem}.solara-footer p,.solara-footer a{font-size:.92rem;line-height:1.7;color:rgba(255,255,255,.5)}.solara-footer a:hover{color:#fff}.solara-footer-heading{font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin:0 0 1rem}.solara-footer-links{display:flex;flex-direction:column;gap:.45rem}.solara-footer-cta{display:inline-flex!important;align-items:center;justify-content:center;margin-top:.7rem;padding:.8rem 1.35rem!important;border-radius:999px;background:linear-gradient(135deg,#e88752,#b85c38);color:#fff!important;font-family:var(--font-heading);font-weight:700}.solara-footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.solara-footer-bottom p{font-size:.75rem;color:rgba(255,255,255,.3);margin:0}
@media(max-width:767px){#about,#dates,#testimonials,#pricing,#faq,#contact{padding-top:5rem!important;padding-bottom:5rem!important}#about .grid.md\:grid-cols-3,#about .grid.md\:grid-cols-2,#dates .grid.md\:grid-cols-2,#pricing .grid.md\:grid-cols-2,#contact .grid.md\:grid-cols-2{grid-template-columns:1fr!important}#about img{height:20rem!important}#pricing .rounded-3xl{min-height:auto!important}.solara-footer-grid{grid-template-columns:1fr}.solara-footer-bottom{flex-direction:column}}

/* v1.7 — Space / Villa carousel */
.solara-space {
  background: #fff;
  padding: 118px 24px 126px;
}
.solara-space__inner {
  max-width: 1040px;
  margin: 0 auto;
}
.solara-space__heading {
  text-align: center;
  margin-bottom: 44px;
}
.solara-space__heading h2 {
  margin: 0 0 15px;
  font-family: var(--font-heading, var(--font-heading));
  font-size: clamp(42px, 5vw, 72px);
  line-height: .94;
  letter-spacing: -0.045em;
  color: #302b27;
}
.solara-space__heading h2 span { color: #e88752; }
.solara-space__heading p {
  max-width: 650px;
  margin: 0 auto;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.55;
  color: rgba(48, 43, 39, .62);
}
.solara-villa-carousel {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}
.solara-villa-frame {
  overflow: hidden;
  border-radius: 32px;
  box-shadow: 0 28px 70px rgba(48, 43, 39, .11);
  border: 1px solid rgba(232,135,82,.22);
  background: #fff7ef;
}
.solara-villa-track {
  display: flex;
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.solara-villa-slide {
  min-width: 100%;
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: #f7ede3;
}
.solara-villa-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.015);
}
.solara-villa-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 48%, rgba(0,0,0,.46) 100%);
  pointer-events: none;
}
.solara-villa-slide figcaption {
  position: absolute;
  left: 28px;
  bottom: 24px;
  z-index: 2;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #3a332d;
  font-family: var(--font-heading, var(--font-heading));
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,.13);
}
.solara-villa-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(232,135,82,.32);
  background: rgba(255,255,255,.96);
  color: #e88752;
  font-size: 36px;
  line-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 14px 34px rgba(48,43,39,.13);
  cursor: pointer;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}
.solara-villa-arrow:hover {
  background: #e88752;
  color: #fff;
  transform: translateY(-50%) scale(1.05);
}
.solara-villa-arrow--prev { left: -23px; }
.solara-villa-arrow--next { right: -23px; }
.solara-villa-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}
.solara-villa-dot {
  width: 8px;
  height: 8px;
  border: none;
  padding: 0;
  border-radius: 999px;
  background: rgba(48,43,39,.18);
  cursor: pointer;
  transition: width .24s ease, background .24s ease;
}
.solara-villa-dot.is-active {
  width: 28px;
  background: #e88752;
}
@media (max-width: 767px) {
  .solara-space { padding: 84px 18px 96px; }
  .solara-space__heading { margin-bottom: 28px; }
  .solara-villa-frame { border-radius: 24px; }
  .solara-villa-slide { aspect-ratio: 4 / 5; }
  .solara-villa-slide figcaption { left: 16px; bottom: 16px; font-size: 14px; }
  .solara-villa-arrow { width: 40px; height: 40px; font-size: 30px; }
  .solara-villa-arrow--prev { left: 10px; }
  .solara-villa-arrow--next { right: 10px; }
}

/* v1.8 — Global brand typography + colour system consistency
   Brand fonts: Cormorant Garamond for editorial headings, Mulish for UI/body.
   Palette mapped directly from the Solara brand tokens supplied. */
:root{
  --background:#FFFAF5;
  --foreground:#2C2826;
  --card:#FFFFFF;
  --card-foreground:#2C2826;
  --popover:#FFFFFF;
  --popover-foreground:#2C2826;
  --primary:#E68851;
  --primary-foreground:#FFFFFF;
  --secondary:#F1E4DA;
  --secondary-foreground:#2C2826;
  --muted:#F7F2ED;
  --muted-foreground:#7C716A;
  --accent:#BA5D36;
  --accent-foreground:#FFFFFF;
  --destructive:#EF4444;
  --destructive-foreground:#FAFAFA;
  --border:#EADFD7;
  --input:#EADFD7;
  --ring:#E68851;

  --solara-ink:#2C2826;
  --solara-rust:#BA5D36;
  --solara-orange:#E68851;
  --solara-cream:#FFFAF5;
  --solara-sand:#F1E4DA;
  --solara-muted:#7C716A;
  --font-heading:'Cormorant Garamond', Georgia, serif;
  --font-body:'Mulish', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html,body{background:var(--background)!important;color:var(--foreground)!important;font-family:var(--font-body)!important;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body,input,textarea,select,button,a,p,li,span,div{font-family:var(--font-body);}
.font-heading,.hero-title,.hero-location,.solara-logo,.solara-footer-logo,
h1,h2,h3,blockquote,#about h2,#dates h2,#pricing h2,#faq h2,#testimonials h2,#contact h2,
.solara-week-title,.solara-space__heading h2{font-family:var(--font-heading)!important;}
.font-body,.solara-header nav a,.solara-mobile-nav a{font-family:var(--font-body)!important;}

h1,h2{font-weight:500!important;letter-spacing:-.035em;color:var(--foreground)!important;line-height:.98!important;}
h3{font-weight:600!important;letter-spacing:-.018em;color:var(--foreground)!important;line-height:1.12!important;}
p,li{color:var(--muted-foreground);font-weight:400;}
strong,b{color:var(--foreground);font-weight:700;}
section h2 span,#about h2 span,#dates h2 span,#pricing h2 span,#faq h2 span,#testimonials h2 span,#contact h2 span,.solara-week-title span,.solara-space__heading h2 span{color:var(--primary)!important;}
.solara-eyebrow,section .uppercase,#about .uppercase,#dates .uppercase,#pricing .uppercase,#faq .uppercase,#testimonials .uppercase,#contact .uppercase,.solara-space__eyebrow{font-family:var(--font-body)!important;font-size:.72rem!important;letter-spacing:.18em!important;font-weight:800!important;text-transform:uppercase;color:var(--primary)!important;}

.bg-background,section.bg-background,#dates,#faq{background:var(--background)!important;}
.bg-white,.card,.rounded-3xl,.solara-card,.solara-villa-card{background:var(--card);color:var(--card-foreground);}
.text-foreground{color:var(--foreground)!important}.text-muted-foreground{color:var(--muted-foreground)!important}.border-orange-100,.border-orange-200,.border{border-color:var(--border)!important;}

/* Universal buttons */
.solara-button-primary,.solara-nav-cta,form button,.solara-form button,#contact form button,.solara-footer-cta{
  font-family:var(--font-body)!important;font-weight:800!important;background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:var(--primary-foreground)!important;border-color:transparent!important;letter-spacing:-.01em;
}
.solara-button-secondary{font-family:var(--font-body)!important;color:var(--primary-foreground)!important;border-color:rgba(255,255,255,.55)!important;}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ring)!important;outline-offset:3px;}

/* Header branding */
.solara-header.is-scrolled{background:rgba(255,250,245,.88)!important;}
.solara-header.is-scrolled nav a{color:rgba(44,40,38,.72)!important;}.solara-header.is-scrolled nav a:hover{color:var(--foreground)!important;}
.solara-header.is-scrolled .solara-logo{color:var(--foreground)!important}.solara-header.is-scrolled .solara-logo-subtitle{color:var(--muted-foreground)!important;}

/* Hero remains editorial and light */
.hero-title{color:#FFFAF5!important;font-weight:400!important;letter-spacing:.08em!important;}
.hero-location{color:#F1E4DA!important;font-weight:500!important;}
.hero-highlights span{color:rgba(255,250,245,.74)!important;}

/* Section scale — keeps every block visually related */
#about h2,#dates h2,#pricing h2,#faq h2,#testimonials h2,#contact h2,.solara-week-title,.solara-space__heading h2{font-size:clamp(2.6rem,5vw,4.55rem)!important;}
#pricing h2,#faq h2,#testimonials h2{font-weight:600!important;}
#about .text-lg,#dates .text-lg,#pricing .text-lg,#faq .text-lg,#testimonials .text-lg,#contact .text-lg,.solara-space__heading p{font-family:var(--font-body)!important;font-size:clamp(1rem,1.35vw,1.18rem)!important;line-height:1.65!important;color:var(--muted-foreground)!important;}
#about h3,#included h3,#faculty h3,#pricing h3,#dates h3,#contact h3{font-family:var(--font-heading)!important;font-size:clamp(1.28rem,1.55vw,1.65rem)!important;font-weight:600!important;color:var(--foreground)!important;}

/* Cards and inputs use one palette */
#about .grid.md\:grid-cols-3>div,#faculty .rounded-3xl,#dates .rounded-3xl,#pricing .rounded-3xl,#faq .bg-white.rounded-3xl,#contact .rounded-3xl.p-8,.solara-villa-carousel,.solara-villa-slide figure{
  background:var(--card)!important;border-color:var(--border)!important;color:var(--card-foreground)!important;
}
#about .grid.md\:grid-cols-3>div,#contact .rounded-3xl.p-8{background:var(--muted)!important;}
form input,form textarea,.solara-form input,.solara-form textarea,#contact form input,#contact form textarea{font-family:var(--font-body)!important;background:var(--card)!important;border:1px solid var(--input)!important;color:var(--foreground)!important;}
form input::placeholder,form textarea::placeholder{color:rgba(124,113,106,.55)!important;}

/* Small pills/badges */
#about .flex.flex-wrap.gap-3 span,#pricing .rounded-full,#faculty .rounded-full,.solara-week-pill,.solara-footer-cta{background:var(--secondary)!important;color:var(--secondary-foreground)!important;border-color:var(--border)!important;}
.solara-week-pill.is-active,#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2) .rounded-full{background:var(--primary)!important;color:var(--primary-foreground)!important;}

/* Pricing: preserve premium contrast while using exact brand colours */
#pricing .grid.md\:grid-cols-2>.rounded-3xl:first-child{background:var(--card)!important;border-color:var(--border)!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2){background:linear-gradient(160deg,var(--primary) 0%,var(--accent) 100%)!important;border-color:var(--accent)!important;color:var(--accent-foreground)!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2) *{color:inherit;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2) p,#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2) li{color:rgba(255,255,255,.88)!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:first-child button{border-color:var(--primary)!important;color:var(--primary)!important;background:var(--card)!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2) button{background:var(--primary-foreground)!important;color:var(--accent)!important;}

/* FAQ, testimonial, carousel controls */
#faq button{font-family:var(--font-body)!important;color:var(--foreground)!important;}
#faq .border-b{border-bottom-color:var(--border)!important;}
#testimonials{background:linear-gradient(160deg,var(--background) 0%,var(--secondary) 100%)!important;}
#testimonials blockquote{font-family:var(--font-heading)!important;color:rgba(44,40,38,.74)!important;font-size:clamp(1.25rem,1.8vw,1.65rem)!important;}
#testimonials svg.lucide-star{color:var(--primary)!important;fill:var(--primary)!important;}
.solara-villa-arrow,.solara-week-arrow{background:var(--card)!important;color:var(--primary)!important;border-color:var(--border)!important;}
.solara-villa-dot,.solara-week-dot{background:var(--secondary)!important}.solara-villa-dot.is-active,.solara-week-dot.is-active{background:var(--primary)!important;}

/* Footer exact dark foreground */
.solara-footer{background:var(--foreground)!important;color:var(--primary-foreground)!important;}
.solara-footer-logo{color:var(--primary)!important;}
.solara-footer p,.solara-footer a{font-family:var(--font-body)!important;color:rgba(255,255,255,.58)!important;}.solara-footer a:hover{color:#fff!important;}
.solara-footer-heading{font-family:var(--font-body)!important;color:rgba(255,255,255,.35)!important;}
.solara-footer-cta{background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:#fff!important;}

@media(max-width:767px){
  html,body{font-size:15px;}
  #about h2,#dates h2,#pricing h2,#faq h2,#testimonials h2,#contact h2,.solara-week-title,.solara-space__heading h2{font-size:clamp(2.35rem,12vw,3.4rem)!important;}
  .hero-title{font-size:clamp(4.2rem,20vw,6rem)!important;}
}

/* v1.9 editing controls */
.solara-editable-section {
  padding-top: var(--solara-section-pt) !important;
  padding-bottom: var(--solara-section-pb) !important;
}
.solara-editable-section > .max-w-4xl,
.solara-editable-section > .max-w-5xl,
.solara-editable-section > .max-w-6xl,
.solara-editable-section > .solara-week__inner,
.solara-editable-section > .solara-space__inner {
  max-width: var(--solara-section-max-width) !important;
}
.solara-custom-block {
  background: var(--background, #FFFAF5);
  padding: 72px 24px;
}
.solara-custom-block__inner {
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  gap: 36px;
  align-items: center;
}
.solara-custom-block--image-left .solara-custom-block__inner,
.solara-custom-block--image-right .solara-custom-block__inner {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}
.solara-custom-block--image-right .solara-custom-block__image { order: 2; }
.solara-custom-block__image {
  width: 100%;
  border-radius: 28px;
  object-fit: cover;
  max-height: 460px;
  box-shadow: 0 18px 50px rgba(44, 40, 38, 0.12);
}
.solara-custom-block h2 {
  font-family: var(--font-heading, 'Cormorant Garamond', serif);
  color: var(--foreground, #2C2826);
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  line-height: 0.95;
  margin: 0 0 20px;
}
.solara-custom-block__body {
  font-family: var(--font-body, 'Mulish', sans-serif);
  color: var(--muted-foreground, #7C716A);
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 26px;
}
@media (max-width: 767px) {
  .solara-custom-block--image-left .solara-custom-block__inner,
  .solara-custom-block--image-right .solara-custom-block__inner { grid-template-columns: 1fr; }
  .solara-custom-block--image-right .solara-custom-block__image { order: 0; }
}


/* ========================================================================
   EDITABLE SPACING SYSTEM
   ------------------------------------------------------------------------
   These rules make the ACF fields for margin/padding work across the site.
   In WP Admin: Pages > Solara Landing > External Landing Page Settings >
   Item Spacing Controls.

   CSS variables are created by functions.php on each section:
   --solara-inner-margin / --solara-inner-padding
   --solara-heading-margin / --solara-heading-padding
   --solara-item-margin / --solara-item-padding
   --solara-button-margin / --solara-button-padding
   ======================================================================== */

.solara-editable-section {
  padding-top: var(--solara-section-pt, 96px) !important;
  padding-bottom: var(--solara-section-pb, 96px) !important;
}

.solara-editable-section > .max-w-5xl,
.solara-editable-section > .max-w-6xl,
.solara-editable-section > .max-w-7xl,
.solara-editable-section > .solara-section-inner,
.solara-editable-section .solara-inner,
.solara-week__inner,
.solara-villa__inner {
  max-width: var(--solara-section-max-width, 1120px);
  margin: var(--solara-inner-margin, 0 auto) !important;
  padding: var(--solara-inner-padding, 0 24px) !important;
}

.solara-editable-section h1,
.solara-editable-section h2,
.solara-editable-section .section-heading,
.solara-editable-section .solara-section-heading,
.solara-editable-section .text-center.mb-14,
.solara-editable-section .text-center.mb-16 {
  margin: var(--solara-heading-margin, 0 0 48px) !important;
  padding: var(--solara-heading-padding, 0) !important;
}

/* Card / repeated item controls. These target the main repeated visual units. */
#about .grid > div,
#included .grid > div,
#faculty .grid > div,
#dates .grid > div,
#pricing .grid > div,
#faq .faq-item,
#villa .solara-villa__slide,
.solara-custom-block__inner {
  margin: var(--solara-item-margin, 0) !important;
}

#about .grid > div,
#included .grid > div,
#faculty .grid > div,
#dates .grid > div,
#pricing .grid > div,
#faq .faq-item,
#villa .solara-villa__slide,
.solara-custom-block__inner {
  padding: var(--solara-item-padding) !important;
}

.solara-editable-section a[class*="button"],
.solara-editable-section button,
.solara-editable-section .solara-button-primary,
.solara-editable-section .solara-cta,
.solara-editable-section [type="submit"] {
  margin: var(--solara-button-margin, 0) !important;
}

.solara-editable-section a[class*="button"],
.solara-editable-section .solara-button-primary,
.solara-editable-section .solara-cta,
.solara-editable-section [type="submit"] {
  padding: var(--solara-button-padding) !important;
}

/* Testimonials removed in v2.0 */
#testimonials, .solara-testimonials { display: none !important; }


/* ========================================================================== 
   v2.1 — BASE44 TYPOGRAPHY + COLOUR SYSTEM LOCK
   --------------------------------------------------------------------------
   This block is intentionally placed at the end of the stylesheet so it wins
   over older Tailwind/Base44 export fallback classes.

   Fonts:
   - Headings / editorial text: Cormorant Garamond
   - Body / UI / buttons / forms / nav: Mulish

   Colours follow the SOLARA Mediterranean Sunset Palette exactly.
   ========================================================================== */
:root {
  --brand-orange: #E88752;
  --brand-terracotta: #B85C38;
  --brand-sand: #F4E6D8;
  --brand-cream: #FFF8F2;
  --brand-charcoal: #2D2A26;

  --background: #FFF8F2;
  --foreground: #2D2A26;
  --card: #FFFFFF;
  --card-foreground: #2D2A26;
  --popover: #FFFFFF;
  --popover-foreground: #2D2A26;
  --primary: #E88752;
  --primary-foreground: #FFFFFF;
  --secondary: #F4E6D8;
  --secondary-foreground: #2D2A26;
  --muted: #FAF2EA;
  --muted-foreground: #7C716A;
  --accent: #B85C38;
  --accent-foreground: #FFFFFF;
  --destructive: #EF4444;
  --destructive-foreground: #FAFAFA;
  --border: #EADFD7;
  --input: #EADFD7;
  --ring: #E88752;
  --radius: 0.75rem;

  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Mulish', sans-serif;

  /* Backwards-compatible aliases used by earlier theme versions */
  --solara-ink: var(--foreground);
  --solara-rust: var(--accent);
  --solara-orange: var(--primary);
  --solara-cream: var(--background);
  --solara-sand: var(--secondary);
  --solara-muted: var(--muted-foreground);
}

html {
  scroll-behavior: smooth;
  background: var(--background) !important;
}

body,
.site-main {
  background: var(--background) !important;
  color: var(--foreground) !important;
  font-family: var(--font-body) !important;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
input,
textarea,
select,
button,
a,
p,
li,
span,
div,
label {
  font-family: var(--font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-heading,
.hero-title,
.hero-location,
.solara-logo,
.solara-week-title,
.solara-space__heading h2,
.solara-footer-logo {
  font-family: var(--font-heading) !important;
  color: var(--foreground);
}

.font-body,
.solara-header nav a,
.solara-mobile-nav a,
.solara-button-primary,
.solara-button-secondary,
.solara-nav-cta,
.solara-week-cta,
.solara-footer-cta,
button,
input,
textarea,
label {
  font-family: var(--font-body) !important;
}

/* Headline rhythm, kept close to Base44 */
section h1,
section h2,
.hero-title {
  font-weight: 300 !important;
  letter-spacing: -0.035em;
  line-height: 0.95 !important;
}

section h2,
#about h2,
#included h2,
#schedule h2,
#headliner h2,
#faculty h2,
#dates h2,
#villa h2,
#pricing h2,
#faq h2,
#contact h2,
.solara-week-title,
.solara-space__heading h2 {
  font-family: var(--font-heading) !important;
  font-size: clamp(2.6rem, 5vw, 4.6rem) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  color: var(--foreground) !important;
}

section h2 span,
.solara-week-title span,
.solara-space__heading h2 span {
  color: var(--primary) !important;
}

section h3,
#about h3,
#included h3,
#headliner h3,
#faculty h3,
#dates h3,
#pricing h3,
#contact h3 {
  font-family: var(--font-heading) !important;
  font-size: clamp(1.35rem, 1.8vw, 1.85rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
  color: var(--foreground) !important;
}

p,
li,
section .font-body,
section .text-base,
section .text-lg,
.solara-week-subtitle,
.solara-space__heading p {
  font-family: var(--font-body) !important;
  color: var(--muted-foreground) !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
}

/* Eyebrows / section labels */
.solara-eyebrow,
section .uppercase,
section [class*="tracking-widest"],
.solara-space__eyebrow {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.18em !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--primary) !important;
}

/* Cards / panels */
.bg-white,
section .bg-white,
#about .rounded-2xl,
#included .rounded-2xl,
#faculty .rounded-3xl,
#dates .rounded-3xl,
#pricing .rounded-3xl,
#faq .rounded-3xl,
#contact .rounded-3xl,
.solara-day-card,
.solara-villa-frame {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border-color: var(--border) !important;
}

.bg-background,
#faq,
#dates,
.solara-space,
.solara-week {
  background: var(--background) !important;
}

.text-foreground,
.text-foreground\/80,
.text-foreground\/70,
.text-foreground\/65,
.text-foreground\/60 {
  color: var(--foreground) !important;
}

.text-muted-foreground {
  color: var(--muted-foreground) !important;
}

.border-orange-100,
.border-orange-200,
.border {
  border-color: var(--border) !important;
}

/* Buttons */
.solara-button-primary,
.solara-nav-cta,
.solara-week-cta,
.solara-footer-cta,
#contact form button,
form button,
.solara-form button {
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%) !important;
  color: var(--primary-foreground) !important;
  border-color: transparent !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.solara-button-secondary {
  font-family: var(--font-body) !important;
  color: var(--primary-foreground) !important;
  border-color: rgba(255,255,255,.55) !important;
}

/* Forms */
input,
textarea,
select,
form input,
form textarea,
.solara-form input,
.solara-form textarea,
#contact form input,
#contact form textarea {
  background: var(--card) !important;
  border: 1px solid var(--input) !important;
  color: var(--foreground) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
}

input:focus,
textarea:focus,
select:focus {
  outline: 2px solid color-mix(in srgb, var(--ring) 35%, transparent) !important;
  outline-offset: 2px;
}

/* Header: transparent on hero, cream once scrolled */
.solara-header.is-scrolled {
  background: rgba(255,248,242,.9) !important;
}
.solara-header.is-scrolled nav a,
.solara-header.is-scrolled .solara-logo {
  color: var(--foreground) !important;
}
.solara-header.is-scrolled .solara-logo-subtitle {
  color: var(--muted-foreground) !important;
}

/* Hero exception: keep text white over image */
#hero,
#hero p,
#hero span,
#hero .hero-title,
#hero .hero-location {
  color: var(--brand-cream) !important;
}
#hero .hero-location {
  color: var(--brand-sand) !important;
}

/* Footer */
.solara-footer {
  background: var(--foreground) !important;
  color: var(--primary-foreground) !important;
}
.solara-footer p,
.solara-footer a {
  color: rgba(255,255,255,.58) !important;
}
.solara-footer-logo {
  color: var(--primary) !important;
}
.solara-footer-heading {
  color: rgba(255,255,255,.35) !important;
}

@media (max-width: 767px) {
  section h2,
  #about h2,
  #included h2,
  #schedule h2,
  #headliner h2,
  #faculty h2,
  #dates h2,
  #villa h2,
  #pricing h2,
  #faq h2,
  #contact h2,
  .solara-week-title,
  .solara-space__heading h2 {
    font-size: clamp(2.25rem, 12vw, 3.4rem) !important;
    line-height: 0.98 !important;
  }
}

/* ========================================================================== 
   v2.2 — BASE44 COMPONENT PARITY PATCH
   --------------------------------------------------------------------------
   Source references imported by Alvaro:
   - index.css: global SOLARA design tokens and typography
   - PricingSection.jsx: two-card pricing system
   - collapsible.jsx: FAQ open/close interaction pattern
   - drawer/dropdown/hover-card: soft overlay, popover and focus states

   This patch intentionally sits at the end of the stylesheet so it wins over
   earlier exported fallback classes. Edit global colours/fonts here first.
   ========================================================================== */

:root {
  /* SOLARA — Mediterranean Sunset Palette from Base44 */
  --brand-orange: #E88752;
  --brand-terracotta: #B85C38;
  --brand-sand: #F4E6D8;
  --brand-cream: #FFF8F2;
  --brand-charcoal: #2D2A26;

  --background: #FFF8F2;
  --foreground: #2D2A26;
  --card: #FFFFFF;
  --card-foreground: #2D2A26;
  --popover: #FFFFFF;
  --popover-foreground: #2D2A26;
  --primary: #E88752;
  --primary-foreground: #FFFFFF;
  --secondary: #F4E6D8;
  --secondary-foreground: #2D2A26;
  --muted: #F9F2EC;
  --muted-foreground: #786E66;
  --accent: #B85C38;
  --accent-foreground: #FFFFFF;
  --destructive: #EF4444;
  --destructive-foreground: #FAFAFA;
  --border: #EADFD7;
  --input: #EADFD7;
  --ring: #E88752;
  --radius: 0.75rem;

  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Mulish', sans-serif;

  --shadow-soft: 0 18px 48px rgba(45, 42, 38, .08);
  --shadow-strong: 0 28px 70px rgba(45, 42, 38, .14);
  --gradient-sunset: linear-gradient(160deg, var(--primary) 0%, var(--accent) 100%);
}

html { scroll-behavior: smooth; }
body {
  background: var(--background) !important;
  color: var(--foreground) !important;
  font-family: var(--font-body) !important;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
* { border-color: var(--border); outline-color: rgba(232,135,82,.5); }

/* Base44 typography rhythm */
h1,h2,h3,h4,h5,h6,.font-heading,.solara-logo,.hero-title,.solara-week-title,.solara-space__heading h2 {
  font-family: var(--font-heading) !important;
}
p,li,a,button,input,textarea,select,label,.font-body,.solara-header nav a {
  font-family: var(--font-body) !important;
}
section h2,
#about h2,#included h2,#schedule h2,#headliner h2,#faculty h2,#dates h2,#villa h2,#pricing h2,#faq h2,#contact h2,
.solara-week-title,.solara-space__heading h2 {
  font-size: clamp(2.75rem, 5.25vw, 4.85rem) !important;
  line-height: .96 !important;
  letter-spacing: -0.052em !important;
  font-weight: 400 !important;
  color: var(--foreground) !important;
}
section h2 span,.solara-week-title span,.solara-space__heading h2 span { color: var(--primary) !important; }
section h3,#about h3,#included h3,#headliner h3,#faculty h3,#dates h3,#pricing h3,#contact h3 {
  font-size: clamp(1.35rem, 1.75vw, 1.85rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  font-weight: 600 !important;
  color: var(--foreground) !important;
}
section p,section li,.solara-space__heading p,.solara-week-subtitle {
  color: var(--muted-foreground) !important;
  line-height: 1.68 !important;
}
.solara-eyebrow,section .uppercase,section [class*="tracking-widest"],.solara-space__eyebrow {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  letter-spacing: .18em !important;
  line-height: 1.2 !important;
  color: var(--primary) !important;
}

/* Cards, popovers and hover-card feel from Base44 components */
.bg-white,section .bg-white,#about .rounded-2xl,#included .rounded-2xl,#faculty .rounded-3xl,#dates .rounded-3xl,#pricing .rounded-3xl,#faq .rounded-3xl,#contact .rounded-3xl,.solara-day-card,.solara-villa-frame,.solara-custom-block__inner {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-soft) !important;
}
#faq,#dates,.solara-week,.solara-space { background: var(--background) !important; }
#pricing,#contact,#faculty,#included { background: var(--card) !important; }

/* Buttons */
.solara-button-primary,.solara-nav-cta,.solara-week-cta,.solara-footer-cta,#contact form button,form button,.solara-form button {
  background: var(--gradient-sunset) !important;
  color: var(--primary-foreground) !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  min-height: 3rem;
  box-shadow: 0 12px 28px rgba(184,92,56,.23) !important;
}
.solara-button-primary:hover,.solara-nav-cta:hover,.solara-week-cta:hover,.solara-footer-cta:hover,#contact form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(184,92,56,.28) !important;
}
.solara-button-secondary {
  border: 1px solid rgba(255,255,255,.55) !important;
  color: var(--primary-foreground) !important;
  background: rgba(255,255,255,.15) !important;
  backdrop-filter: blur(10px);
}

/* Header / drawer / dropdown feel */
.solara-header { background: transparent !important; }
.solara-header.is-scrolled {
  background: rgba(255,248,242,.90) !important;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(234,223,215,.7);
}
.solara-mobile-nav {
  background: rgba(255,248,242,.98) !important;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 24px 64px rgba(45,42,38,.16) !important;
}
.solara-mobile-nav a {
  border-radius: var(--radius);
  padding: .86rem 1rem !important;
}
.solara-mobile-nav a:hover { background: var(--secondary); color: var(--accent) !important; }

/* PricingSection.jsx parity */
#pricing { padding-top: 7.5rem !important; padding-bottom: 8rem !important; }
#pricing .max-w-5xl { max-width: 64rem !important; }
#pricing .text-center.mb-14 { margin-bottom: 3.5rem !important; }
#pricing h2 { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
#pricing .grid.md\:grid-cols-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  align-items: stretch !important;
}
#pricing .grid.md\:grid-cols-2 > .rounded-3xl {
  border-radius: 1.5rem !important;
  padding: 2rem !important;
  min-height: 37rem !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:hover { transform: translateY(-3px); }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:first-child {
  background: var(--card) !important;
  border: 2px solid color-mix(in srgb, var(--primary) 20%, white) !important;
  box-shadow: 0 12px 34px rgba(45,42,38,.06) !important;
}
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) {
  background: var(--gradient-sunset) !important;
  border: 2px solid var(--accent) !important;
  box-shadow: 0 28px 70px rgba(184,92,56,.26) !important;
  color: var(--accent-foreground) !important;
}
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) * { color: inherit !important; }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) p,
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) li,
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) span { color: rgba(255,255,255,.82) !important; }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) h3,
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) .text-5xl { color: #fff !important; }
#pricing h3 { margin-bottom: .25rem !important; }
#pricing .text-5xl { font-family: var(--font-heading) !important; font-size: 3.15rem !important; line-height: 1 !important; font-weight: 700 !important; color: var(--foreground) !important; }
#pricing ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#pricing li { display: flex !important; align-items: flex-start !important; gap: .75rem !important; margin-top: .78rem !important; }
#pricing li svg { width: 1rem !important; height: 1rem !important; margin-top: .25rem !important; flex-shrink: 0 !important; }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:first-child li svg { color: var(--primary) !important; }
#pricing .rounded-full { border-radius: 999px !important; }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:first-child .rounded-full { background: var(--secondary) !important; color: var(--accent) !important; }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) .rounded-full { background: rgba(255,255,255,.20) !important; color: #fff !important; }
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:first-child a.block,
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:first-child button {
  margin-top: auto !important;
  background: var(--card) !important;
  color: var(--primary) !important;
  border: 2px solid var(--primary) !important;
  box-shadow: none !important;
}
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) a.block,
#pricing .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) button {
  margin-top: auto !important;
  background: #fff !important;
  color: var(--accent) !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(45,42,38,.12) !important;
}
#pricing .space-y-2 p { font-size: .9rem !important; color: var(--muted-foreground) !important; margin: .35rem 0 0 !important; }

/* FAQ / collapsible parity */
#faq .bg-white.rounded-3xl {
  max-width: 50rem !important;
  margin: 0 auto !important;
  padding: 2rem 2.5rem !important;
  border-radius: 1.5rem !important;
}
#faq .border-b { border-bottom: 1px solid var(--border) !important; }
#faq button {
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--foreground) !important;
  min-height: 4.2rem;
}
#faq button span { font-family: var(--font-body) !important; font-size: 1rem !important; font-weight: 700 !important; color: var(--foreground) !important; }
#faq .solara-faq-answer {
  display: grid !important;
  grid-template-rows: 0fr;
  overflow: hidden;
  padding: 0 !important;
  color: var(--muted-foreground) !important;
  transition: grid-template-rows .28s ease, padding .28s ease;
}
#faq .solara-faq-answer > * { min-height: 0; }
#faq .is-open .solara-faq-answer {
  grid-template-rows: 1fr;
  padding: 0 0 1.25rem !important;
}
#faq .is-open svg { transform: rotate(180deg) !important; }

/* Villa carousel polish */
.solara-villa-frame { border-radius: 2rem !important; overflow: hidden; }
.solara-villa-track { transition: transform .55s cubic-bezier(.22,.61,.36,1) !important; }
.solara-villa-arrow,.solara-villa-dot {
  border: 1px solid var(--border) !important;
  background: var(--popover) !important;
  color: var(--popover-foreground) !important;
  box-shadow: 0 8px 22px rgba(45,42,38,.10) !important;
}
.solara-villa-dot.is-active { background: var(--primary) !important; border-color: var(--primary) !important; }
.solara-villa-caption { background: linear-gradient(transparent, rgba(45,42,38,.68)) !important; color: #fff !important; }

/* Forms */
#contact form input,#contact form textarea,input,textarea,select {
  background: var(--card) !important;
  border: 1px solid var(--input) !important;
  color: var(--foreground) !important;
  border-radius: var(--radius) !important;
}
#contact form label { font-family: var(--font-body) !important; color: var(--muted-foreground) !important; }
input:focus,textarea:focus,select:focus { outline: 2px solid rgba(232,135,82,.38) !important; outline-offset: 2px; }

/* Hero exception: white text over imagery */
#hero,#hero p,#hero span,#hero .hero-title,#hero .hero-location { color: var(--brand-cream) !important; }
#hero .hero-location { color: var(--brand-sand) !important; }

@media (max-width: 767px) {
  section h2,#about h2,#included h2,#schedule h2,#headliner h2,#faculty h2,#dates h2,#villa h2,#pricing h2,#faq h2,#contact h2,.solara-week-title,.solara-space__heading h2 {
    font-size: clamp(2.35rem, 12vw, 3.45rem) !important;
    line-height: .98 !important;
  }
  #pricing .grid.md\:grid-cols-2 { grid-template-columns: 1fr !important; }
  #pricing .grid.md\:grid-cols-2 > .rounded-3xl { min-height: auto !important; padding: 1.55rem !important; }
  #faq .bg-white.rounded-3xl { padding: 1.25rem 1.4rem !important; }
}


/* ========================================================================== 
   v2.4 — BASE44 VISUAL PARITY PASS
   --------------------------------------------------------------------------
   Goal: make the WordPress version match https://reset-rise.base44.app/ as
   closely as possible while keeping ACF controls active.

   Sources used:
   - R&R BASE44.zip components: Hero, Nav, About, Schedule, Faculty, Dates,
     VillaGallery, Pricing, FAQ, Contact and Footer.
   - Uploaded Base44 index.css design system.

   Editing note:
   - Section padding, width and item spacing still use ACF CSS variables.
   - If a value is edited in ACF, it wins through the --solara-* variables.
   ========================================================================== */

:root {
  --brand-orange:#E88752;
  --brand-terracotta:#B85C38;
  --brand-sand:#F4E6D8;
  --brand-cream:#FFF8F2;
  --brand-charcoal:#2D2A26;
  --background:#FFF8F2;
  --foreground:#2D2A26;
  --card:#FFFFFF;
  --card-foreground:#2D2A26;
  --secondary:#F4E6D8;
  --muted:#FAF2EA;
  --muted-foreground:#756B63;
  --primary:#E88752;
  --accent:#B85C38;
  --border:#EADFD7;
  --input:#EADFD7;
  --ring:#E88752;
  --radius:0.75rem;
  --font-heading:'Cormorant Garamond',serif;
  --font-body:'Mulish',sans-serif;
}

html{scroll-behavior:smooth;}
body.solara-theme, body{background:var(--background)!important;color:var(--foreground)!important;font-family:var(--font-body)!important;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
body h1,body h2,body h3,body h4,body h5,body h6,.font-heading{font-family:var(--font-heading)!important;}
body p,body a,body button,body input,body textarea,body select,body label,.font-body{font-family:var(--font-body)!important;}

/* Base44 section rhythm: wide breathing room, centered max-width. */
.solara-editable-section{
  padding-top:var(--solara-section-pt,7.5rem)!important;
  padding-bottom:var(--solara-section-pb,7.5rem)!important;
  padding-left:1.5rem!important;
  padding-right:1.5rem!important;
}
.solara-editable-section>.max-w-5xl,.solara-editable-section>.max-w-6xl,.solara-editable-section>.max-w-4xl,.solara-editable-section>.max-w-3xl,.solara-space__inner{
  max-width:var(--solara-section-max-width,64rem)!important;
  margin-left:auto!important;margin-right:auto!important;
}
.solara-editable-section .text-center.mb-12,.solara-editable-section .text-center.mb-14,.solara-editable-section .text-center.mb-16,.solara-space__heading{
  margin-bottom:var(--solara-heading-margin,3.5rem)!important;
  padding:var(--solara-heading-padding,0)!important;
}
.solara-editable-section h2,.solara-week-title,.solara-space__heading h2{
  font-family:var(--font-heading)!important;
  font-weight:800!important;
  font-size:clamp(2.5rem,5vw,4.65rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  color:var(--foreground)!important;
  margin-top:0!important;
}
.solara-editable-section h2 span,.solara-week-title span,.solara-space__heading h2 span{color:var(--primary)!important;}
.solara-editable-section .text-center>p,.solara-space__heading p{
  max-width:42rem!important;
  margin-left:auto!important;margin-right:auto!important;
  color:rgba(45,42,38,.62)!important;
  font-size:clamp(1rem,1.35vw,1.125rem)!important;
  line-height:1.72!important;
}
.solara-editable-section .text-center>span:first-child,.solara-eyebrow,.solara-space__eyebrow{
  display:block!important;
  font-family:var(--font-heading)!important;
  font-size:.78rem!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--primary)!important;
  margin-bottom:1rem!important;
}

/* NAVBAR — transparent over hero like Base44, cream glass after scroll. */
.solara-header{height:80px!important;background:transparent!important;box-shadow:none!important;}
.solara-header>div{max-width:72rem!important;padding-left:1.5rem!important;padding-right:1.5rem!important;}
.solara-logo{font-family:var(--font-heading)!important;font-size:1.5rem!important;font-weight:300!important;letter-spacing:.2em!important;color:#fff!important;}
.solara-logo-subtitle{font-family:var(--font-body)!important;font-size:.62rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:rgba(255,255,255,.72)!important;}
.solara-header nav a{font-family:var(--font-body)!important;font-size:.82rem!important;letter-spacing:.02em!important;color:rgba(255,255,255,.82)!important;text-shadow:0 2px 10px rgba(0,0,0,.35)!important;}
.solara-header nav a:hover{color:#fff!important;}
.solara-header.is-scrolled{height:72px!important;background:rgba(255,248,242,.92)!important;backdrop-filter:blur(16px)!important;border-bottom:1px solid rgba(234,223,215,.65)!important;box-shadow:0 12px 34px rgba(45,42,38,.08)!important;}
.solara-header.is-scrolled .solara-logo{color:var(--foreground)!important;text-shadow:none!important;}
.solara-header.is-scrolled .solara-logo-subtitle{color:rgba(45,42,38,.45)!important;text-shadow:none!important;}
.solara-header.is-scrolled nav a{color:rgba(45,42,38,.62)!important;text-shadow:none!important;}
.solara-nav-cta{font-family:var(--font-heading)!important;font-weight:700!important;font-size:.88rem!important;padding:.72rem 1.35rem!important;border-radius:999px!important;background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:#fff!important;box-shadow:0 10px 24px rgba(184,92,56,.22)!important;}

/* HERO — match Base44 scale, date pill, letter spacing and overlay. */
#hero{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#2d2a26!important;}
#hero .hero-bg{background-position:center 38%!important;transform:scale(1.01);}
#hero .hero-overlay{background:linear-gradient(180deg,rgba(45,42,38,.52) 0%,rgba(184,92,56,.30) 48%,rgba(45,42,38,.78) 100%)!important;}
#hero .relative.z-10{max-width:56rem!important;padding-left:1.5rem!important;padding-right:1.5rem!important;}
#hero .inline-flex.items-center.gap-2{padding:.55rem 1rem!important;border-radius:999px!important;background:rgba(255,255,255,.15)!important;backdrop-filter:blur(9px)!important;border:1px solid rgba(255,255,255,.30)!important;margin-bottom:1.5rem!important;}
#hero h1,.hero-title{font-family:var(--font-heading)!important;font-size:clamp(5rem,14vw,10rem)!important;font-weight:300!important;line-height:.82!important;letter-spacing:.13em!important;color:#fff8f2!important;margin-bottom:.5rem!important;text-shadow:0 15px 40px rgba(0,0,0,.22)!important;}
#hero .hero-location,#hero h1+p{font-family:var(--font-heading)!important;font-size:clamp(1.25rem,2.2vw,1.55rem)!important;font-style:italic!important;letter-spacing:.18em!important;color:var(--brand-sand)!important;margin-bottom:.75rem!important;}
#hero p{color:rgba(255,255,255,.78)!important;}
#hero .tracking-\[0\.3em\]{letter-spacing:.30em!important;text-transform:uppercase!important;font-size:.9rem!important;color:rgba(255,255,255,.68)!important;margin-bottom:2.5rem!important;}
#hero .solara-button-primary,#hero .solara-button-secondary{min-width:205px!important;padding:1rem 2rem!important;font-family:var(--font-heading)!important;font-size:1rem!important;border-radius:999px!important;}
#hero .hero-highlights,#hero .mt-10.flex{gap:1.5rem!important;margin-top:2.5rem!important;}
#hero .hero-highlights span,#hero .mt-10 span{font-family:var(--font-body)!important;font-size:.86rem!important;color:rgba(255,255,255,.68)!important;}

/* ABOUT / ESSENCE — Base44 three cards + image/story split. */
#about{background:#fff!important;}
#about .grid.md\:grid-cols-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2rem!important;margin-bottom:4rem!important;}
#about .grid.md\:grid-cols-3>div{background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1rem!important;padding:var(--solara-item-padding,2rem)!important;box-shadow:none!important;transition:border-color .25s ease,transform .25s ease!important;}
#about .grid.md\:grid-cols-3>div:hover{border-color:rgba(232,135,82,.34)!important;transform:translateY(-2px);}
#about .text-4xl.mb-4{font-size:2.5rem!important;line-height:1!important;margin-bottom:1rem!important;}
#about h3{font-weight:700!important;font-size:1.28rem!important;line-height:1.2!important;margin-bottom:.75rem!important;letter-spacing:0!important;}
#about .grid.md\:grid-cols-3 p{font-size:.9rem!important;line-height:1.65!important;color:rgba(45,42,38,.62)!important;}
#about .grid.md\:grid-cols-2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3rem!important;align-items:center!important;}
#about img{height:24rem!important;object-fit:cover!important;border-radius:1.5rem!important;box-shadow:0 18px 44px rgba(45,42,38,.13)!important;}
#about .absolute.-bottom-4.-right-4{bottom:-1rem!important;right:-1rem!important;background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1rem!important;padding:.78rem 1.2rem!important;box-shadow:0 12px 28px rgba(45,42,38,.12)!important;}
#about .grid.md\:grid-cols-2 h3{font-size:clamp(2rem,3.3vw,2.75rem)!important;font-weight:800!important;line-height:1.12!important;margin-bottom:1.25rem!important;}
#about .grid.md\:grid-cols-2 p{font-size:1rem!important;line-height:1.75!important;color:rgba(45,42,38,.64)!important;}
#about .flex.flex-wrap.gap-3 span{font-family:var(--font-heading)!important;font-weight:600!important;font-size:.78rem!important;padding:.46rem 1rem!important;background:var(--secondary)!important;color:var(--accent)!important;border-radius:999px!important;}

/* INCLUDED / WELCOME PACK — premium icon cards rather than WP fallback boxes. */
#included{background:var(--background)!important;}
#included .grid{gap:1.5rem!important;}
#included .grid>div{background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1.35rem!important;padding:var(--solara-item-padding,1.6rem)!important;box-shadow:0 10px 30px rgba(45,42,38,.045)!important;}
#included h3{font-size:1.25rem!important;font-weight:700!important;line-height:1.2!important;}
#included p,#included li{font-size:.92rem!important;line-height:1.65!important;color:rgba(45,42,38,.64)!important;}

/* SCHEDULE — Base44 carousel card geometry and active pills. */
#schedule{background:#fff!important;}
#schedule .solara-day-tabs{display:flex!important;justify-content:center!important;gap:.5rem!important;flex-wrap:wrap!important;margin-bottom:2rem!important;}
#schedule .solara-day-tab{font-family:var(--font-heading)!important;font-size:.78rem!important;font-weight:600!important;border:1px solid #f0e2d8!important;background:#fff!important;color:rgba(45,42,38,.50)!important;border-radius:999px!important;padding:.55rem 1rem!important;transition:all .25s ease!important;}
#schedule .solara-day-tab.is-active{background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 22px rgba(184,92,56,.22)!important;}
#schedule .solara-day-card{background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1.5rem!important;box-shadow:0 8px 24px rgba(45,42,38,.055)!important;overflow:hidden!important;transition:opacity .18s ease,transform .18s ease!important;}
#schedule .solara-day-card.is-changing{opacity:.55;transform:translateY(3px);}
#schedule .solara-day-head{padding:1.75rem 2rem!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:linear-gradient(135deg,rgba(255,248,242,.92),rgba(244,230,216,.45))!important;border-bottom:1px solid rgba(232,135,82,.14)!important;}
#schedule [data-day-icon]{font-size:2rem!important;line-height:1!important;}
#schedule [data-day-kicker]{font-family:var(--font-heading)!important;font-weight:700!important;font-size:.75rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--primary)!important;}
#schedule [data-day-title]{font-size:clamp(1.65rem,3vw,2.25rem)!important;font-weight:800!important;line-height:1.05!important;margin:0!important;}
#schedule [data-day-mood]{font-family:var(--font-body)!important;font-size:.78rem!important;font-style:italic!important;color:rgba(45,42,38,.45)!important;margin-top:.35rem!important;}
#schedule [data-day-body]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.25rem!important;padding:1.5rem 2rem 1.75rem!important;}
#schedule .solara-day-part h4{font-family:var(--font-heading)!important;font-size:.75rem!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--primary)!important;margin:0 0 .7rem!important;}
#schedule .solara-day-part ul{margin:0!important;padding:0!important;list-style:none!important;display:flex!important;flex-direction:column!important;gap:.42rem!important;}
#schedule .solara-day-part li{display:flex!important;align-items:flex-start!important;gap:.55rem!important;font-size:.9rem!important;line-height:1.35!important;color:rgba(45,42,38,.70)!important;}
#schedule .solara-day-part li:before{content:"";width:.38rem;height:.38rem;border-radius:999px;background:var(--primary);margin-top:.48rem;flex:0 0 auto;}
#schedule [data-direction]{width:2.5rem!important;height:2.5rem!important;border-radius:999px!important;background:#fff!important;border:1px solid #eee0d6!important;box-shadow:0 8px 22px rgba(45,42,38,.10)!important;color:var(--primary)!important;}

/* HEADLINER / FACULTY — cleaner Base44 editorial cards. */
#headliner{background:var(--background)!important;}
#headliner img,#faculty img{border-radius:1.25rem!important;object-fit:cover!important;}
#headliner .rounded-3xl,#faculty .rounded-3xl{border-radius:1.5rem!important;border:1px solid rgba(232,135,82,.18)!important;box-shadow:0 16px 38px rgba(45,42,38,.065)!important;background:#fff!important;overflow:hidden!important;}
#faculty{background:#fff!important;}
#faculty .grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.5rem!important;}
#faculty .grid>div{padding:0!important;border-radius:1.35rem!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;box-shadow:0 10px 30px rgba(45,42,38,.055)!important;}
#faculty img{width:100%!important;height:15rem!important;border-radius:0!important;}
#faculty h3{font-size:1.25rem!important;font-weight:700!important;margin-bottom:.25rem!important;}
#faculty p{font-size:.88rem!important;line-height:1.55!important;color:rgba(45,42,38,.62)!important;}

/* DATES & FLIGHTS — Base44 white cards, compact icons and orange borders. */
#dates{background:var(--background)!important;}
#dates .grid.md\:grid-cols-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.5rem!important;}
#dates .rounded-3xl{background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1.5rem!important;box-shadow:0 10px 30px rgba(45,42,38,.045)!important;}
#dates .grid.md\:grid-cols-2>.rounded-3xl{padding:2rem!important;min-height:10.5rem!important;}
#dates .font-heading.font-800.text-3xl{font-weight:800!important;font-size:1.85rem!important;line-height:1.05!important;}
#dates p,#dates span{line-height:1.6!important;}
#dates img{border-radius:1rem!important;box-shadow:0 12px 28px rgba(45,42,38,.08)!important;}

/* VILLA / THE SPACE — Base44 gallery polish with ACF-replaceable images. */
.solara-space,#villa{background:#fff!important;}
.solara-space{padding-top:var(--solara-section-pt,7.5rem)!important;padding-bottom:var(--solara-section-pb,7.5rem)!important;}
.solara-villa-frame{border-radius:2rem!important;border:1px solid rgba(232,135,82,.20)!important;box-shadow:0 28px 70px rgba(45,42,38,.11)!important;background:var(--brand-sand)!important;}
.solara-villa-slide{aspect-ratio:16/9!important;background:var(--secondary)!important;}
.solara-villa-slide figcaption{font-family:var(--font-heading)!important;font-size:1rem!important;font-weight:700!important;background:rgba(255,255,255,.92)!important;color:var(--foreground)!important;border:1px solid rgba(255,255,255,.55)!important;}
.solara-villa-arrow{background:#fff!important;color:var(--primary)!important;border:1px solid rgba(232,135,82,.30)!important;box-shadow:0 10px 24px rgba(45,42,38,.12)!important;}
.solara-villa-dot{background:rgba(232,135,82,.26)!important;}
.solara-villa-dot.is-active{background:var(--primary)!important;transform:scale(1.25)!important;}

/* PRICING — exact Base44 two-card feeling and readable premium card. */
#pricing{background:#fff!important;}
#pricing .grid.md\:grid-cols-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2rem!important;align-items:stretch!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl{border-radius:1.5rem!important;padding:var(--solara-item-padding,2rem)!important;min-height:36rem!important;display:flex!important;flex-direction:column!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:first-child{background:#fff!important;border:2px solid rgba(232,135,82,.18)!important;box-shadow:none!important;}
#pricing .grid.md\:grid-cols-2>.rounded-3xl:nth-child(2){background:linear-gradient(160deg,var(--primary) 0%,var(--accent) 100%)!important;border:2px solid var(--accent)!important;box-shadow:0 26px 65px rgba(184,92,56,.25)!important;}
#pricing h3{font-size:1.65rem!important;font-weight:800!important;line-height:1.14!important;}
#pricing .text-5xl{font-family:var(--font-heading)!important;font-size:3.1rem!important;font-weight:900!important;}
#pricing ul{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:.75rem!important;}
#pricing li{display:flex!important;align-items:flex-start!important;gap:.75rem!important;margin:0!important;}
#pricing li span{font-size:.92rem!important;line-height:1.45!important;}
#pricing a.block.w-full,#pricing .solara-button-primary{margin-top:auto!important;min-height:3.25rem!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;font-family:var(--font-heading)!important;font-weight:700!important;}

/* FAQ — Base44 accordion spacing. */
#faq{background:var(--background)!important;}
#faq .max-w-3xl{max-width:48rem!important;}
#faq .bg-white.rounded-3xl{background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1.5rem!important;padding:2rem 2.5rem!important;box-shadow:0 10px 30px rgba(45,42,38,.045)!important;}
#faq .border-b{border-bottom:1px solid rgba(232,135,82,.16)!important;}
#faq button{width:100%!important;background:transparent!important;border:0!important;padding:1.25rem 0!important;text-align:left!important;box-shadow:none!important;}
#faq button span{font-family:var(--font-heading)!important;font-size:1rem!important;font-weight:600!important;color:var(--foreground)!important;}
#faq .solara-faq-answer{padding:0 0 1.25rem!important;font-size:.9rem!important;line-height:1.7!important;color:rgba(45,42,38,.64)!important;}

/* CONTACT — Base44 split contact + form card. */
#contact{background:#fff!important;}
#contact .grid.md\:grid-cols-2{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3.5rem!important;align-items:start!important;}
#contact .space-y-4.mb-8 a{display:flex!important;align-items:center!important;gap:1rem!important;background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1rem!important;padding:1rem!important;transition:border-color .25s ease,background .25s ease!important;}
#contact .space-y-4.mb-8 a:hover{border-color:rgba(232,135,82,.35)!important;background:#fff8f2!important;}
#contact img{width:100%!important;height:12rem!important;border-radius:1rem!important;object-fit:cover!important;box-shadow:0 8px 24px rgba(45,42,38,.10)!important;}
#contact .rounded-3xl.p-8,#contact .rounded-3xl.md\:p-10{background:var(--background)!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1.5rem!important;padding:2rem!important;box-shadow:0 10px 30px rgba(45,42,38,.055)!important;}
#contact form{display:flex!important;flex-direction:column!important;gap:1rem!important;}
#contact label{font-family:var(--font-heading)!important;font-size:.75rem!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(45,42,38,.58)!important;margin-bottom:.5rem!important;}
#contact input,#contact textarea{width:100%!important;background:#fff!important;border:1px solid rgba(232,135,82,.20)!important;border-radius:.75rem!important;padding:.85rem 1rem!important;font-family:var(--font-body)!important;font-size:.9rem!important;color:var(--foreground)!important;outline:none!important;transition:border-color .2s ease,box-shadow .2s ease!important;}
#contact input:focus,#contact textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(232,135,82,.12)!important;}
#contact form button{width:100%!important;padding:1rem 1.5rem!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:#fff!important;font-family:var(--font-heading)!important;font-weight:700!important;box-shadow:0 12px 26px rgba(184,92,56,.22)!important;}

/* FOOTER — restore Base44 footer proportions and warmth. */
.solara-footer{background:var(--brand-charcoal)!important;color:#fff!important;padding:4rem 1.5rem!important;border-top:1px solid rgba(232,135,82,.20)!important;}
.solara-footer-inner{max-width:64rem!important;margin:0 auto!important;}
.solara-footer-grid{display:grid!important;grid-template-columns:1.2fr 1fr 1fr!important;gap:2.5rem!important;margin-bottom:2.5rem!important;}
.solara-footer-logo{font-family:var(--font-heading)!important;font-size:1.9rem!important;font-weight:300!important;letter-spacing:.2em!important;color:var(--primary)!important;}
.solara-footer p,.solara-footer a{font-family:var(--font-body)!important;font-size:.88rem!important;line-height:1.7!important;color:rgba(255,255,255,.52)!important;}
.solara-footer-heading{font-family:var(--font-heading)!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:rgba(255,255,255,.30)!important;}
.solara-footer-cta{background:linear-gradient(135deg,var(--primary),var(--accent))!important;color:#fff!important;border-radius:999px!important;font-family:var(--font-heading)!important;font-weight:700!important;}

/* Responsive parity. */
@media (max-width:1023px){
  #faculty .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #schedule [data-day-body]{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:767px){
  .solara-editable-section,.solara-space{padding-top:var(--solara-section-pt,5rem)!important;padding-bottom:var(--solara-section-pb,5rem)!important;}
  .solara-header{height:72px!important;}
  #hero h1,.hero-title{font-size:clamp(4rem,22vw,6.6rem)!important;letter-spacing:.10em!important;}
  #about .grid.md\:grid-cols-3,#about .grid.md\:grid-cols-2,#dates .grid.md\:grid-cols-2,#pricing .grid.md\:grid-cols-2,#contact .grid.md\:grid-cols-2,#faculty .grid{grid-template-columns:1fr!important;}
  #schedule [data-day-body]{grid-template-columns:1fr!important;padding:1.25rem 1.4rem!important;}
  #schedule .solara-day-head{padding:1.4rem!important;align-items:flex-start!important;gap:1rem!important;}
  #faculty img{height:18rem!important;}
  #pricing .grid.md\:grid-cols-2>.rounded-3xl{min-height:auto!important;}
  .solara-footer-grid{grid-template-columns:1fr!important;}
}

/* --------------------------------------------------------------------------
   v2.6 — User requested visual parity fixes
   --------------------------------------------------------------------------
   - Keep every section title in Cormorant Garamond, including highlighted spans.
   - Adjust About / Essence feature icons so they feel closer to Base44.
   - Flip return-flight plane icons so their tip points to the right.
   - Ensure FAQ answers are fully hidden when closed.
   - Reduce Contact card icons.
   - Restore the Base44 footer layout and sizing.
*/

/* 1) Global heading consistency */
#about h1,#about h2,#about h3,
#included h1,#included h2,#included h3,
#schedule h1,#schedule h2,#schedule h3,
#headliner h1,#headliner h2,#headliner h3,
#faculty h1,#faculty h2,#faculty h3,
#dates h1,#dates h2,#dates h3,
#villa h1,#villa h2,#villa h3,
#pricing h1,#pricing h2,#pricing h3,
#faq h1,#faq h2,#faq h3,
#contact h1,#contact h2,#contact h3,
.solara-space__heading h2,
.solara-week-title,
.solara-footer-logo {
  font-family: var(--font-heading) !important;
}
#about h1 span,#about h2 span,#about h3 span,
#included h1 span,#included h2 span,#included h3 span,
#schedule h1 span,#schedule h2 span,#schedule h3 span,
#headliner h1 span,#headliner h2 span,#headliner h3 span,
#faculty h1 span,#faculty h2 span,#faculty h3 span,
#dates h1 span,#dates h2 span,#dates h3 span,
#villa h1 span,#villa h2 span,#villa h3 span,
#pricing h1 span,#pricing h2 span,#pricing h3 span,
#faq h1 span,#faq h2 span,#faq h3 span,
#contact h1 span,#contact h2 span,#contact h3 span,
.solara-space__heading h2 span,
.solara-week-title span {
  font-family: var(--font-heading) !important;
  color: var(--primary) !important;
}
#about h2,#included h2,#headliner h2,#faculty h2,#dates h2,#villa h2,#pricing h2,#faq h2,#contact h2,
.solara-space__heading h2 {
  font-weight: 400 !important;
  letter-spacing: -0.035em !important;
}
#pricing h2,#faq h2,#contact h2 { font-weight: 400 !important; }

/* 2) About / Essence icons */
#about .grid.md\:grid-cols-3 > div {
  min-height: 14rem !important;
  padding: 2.15rem 1.7rem !important;
}
#about .grid.md\:grid-cols-3 > div > .text-4xl,
#about .grid.md\:grid-cols-3 > div > div:first-child {
  width: 4.25rem !important;
  height: 6.8rem !important;
  margin: 0 auto 1.25rem !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2.15rem !important;
  line-height: 1 !important;
  background: linear-gradient(180deg, rgba(232,135,82,.18), rgba(244,230,216,.42)) !important;
  box-shadow: 0 14px 32px rgba(45,42,38,.06) !important;
}
#about .grid.md\:grid-cols-3 > div:nth-child(2) > .text-4xl,
#about .grid.md\:grid-cols-3 > div:nth-child(2) > div:first-child {
  background: linear-gradient(180deg, rgba(234,223,215,.42), rgba(255,255,255,.70)) !important;
}
#about .grid.md\:grid-cols-3 h3 {
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  margin-bottom: .85rem !important;
}
#about .grid.md\:grid-cols-3 p {
  font-size: .86rem !important;
  line-height: 1.65 !important;
}

/* 3) Dates: return-flight plane icon direction */
#dates .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) svg.lucide-plane,
#dates .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) .lucide-plane,
#dates .grid.md\:grid-cols-2 > div:nth-child(2) svg[class*="plane"] {
  transform: rotate(0deg) !important;
}
#dates .grid.md\:grid-cols-2 > .rounded-3xl:nth-child(2) svg.rotate-180,
#dates .grid.md\:grid-cols-2 > div:nth-child(2) svg.rotate-180 {
  transform: rotate(0deg) !important;
}

/* 4) FAQ: closed items must not show answer text */
#faq .solara-faq-answer {
  display: block !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  transition: max-height .28s ease, opacity .2s ease, padding .28s ease !important;
}
#faq .solara-faq-answer > div,
#faq .solara-faq-answer > p {
  margin: 0 !important;
}
#faq .is-open .solara-faq-answer {
  max-height: 18rem !important;
  opacity: 1 !important;
  padding-top: .15rem !important;
  padding-bottom: 1.25rem !important;
}
#faq button[aria-expanded="false"] + .solara-faq-answer {
  max-height: 0 !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 5) Contact: small Base44-style icons, not oversized emoji panels */
#contact .space-y-4.mb-8 a > span {
  flex: 0 0 2.15rem !important;
  width: 2.15rem !important;
  height: 2.15rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: .75rem !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  background: rgba(244,230,216,.55) !important;
  box-shadow: none !important;
}
#contact .space-y-4.mb-8 a {
  min-height: 4.65rem !important;
}

/* 6) Footer: Base44 HTML parity */
.solara-footer {
  background: rgb(45,42,38) !important;
  padding: 4rem 1.5rem !important;
  border-top: 1px solid rgba(232,135,82,.18) !important;
  border-radius: 0 !important;
}
.solara-footer-inner {
  max-width: 64rem !important;
  margin: 0 auto !important;
}
.solara-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}
.solara-footer-brand-block { margin-bottom: 1rem !important; }
.solara-footer-logo {
  margin: 0 !important;
  font-size: 1.875rem !important;
  line-height: 1 !important;
  letter-spacing: .2em !important;
  font-weight: 300 !important;
  color: rgb(232,135,82) !important;
}
.solara-footer-location {
  margin-top: .25rem !important;
  font-family: var(--font-body) !important;
  font-size: .75rem !important;
  line-height: 1rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.40) !important;
}
.solara-footer-tagline,
.solara-footer-join-copy {
  margin-bottom: 1rem !important;
  font-family: var(--font-body) !important;
  font-size: .875rem !important;
  line-height: 1.625 !important;
  color: rgba(255,255,255,.50) !important;
}
.solara-footer-instagram {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  color: rgba(255,255,255,.50) !important;
  text-decoration: none !important;
  transition: color .2s ease !important;
}
.solara-footer-instagram svg {
  width: 1rem !important;
  height: 1rem !important;
}
.solara-footer-instagram span {
  font-family: var(--font-body) !important;
  font-size: .875rem !important;
}
.solara-footer-instagram:hover,
.solara-footer-links a:hover { color: #fff !important; }
.solara-footer-heading {
  margin: 0 0 1rem !important;
  font-family: var(--font-heading) !important;
  font-size: .75rem !important;
  line-height: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.30) !important;
}
.solara-footer-links {
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
}
.solara-footer-links a {
  font-family: var(--font-body) !important;
  font-size: .875rem !important;
  color: rgba(255,255,255,.50) !important;
  text-decoration: none !important;
  transition: color .2s ease !important;
}
.solara-footer-cta {
  display: inline-block !important;
  padding: .75rem 1.5rem !important;
  border-radius: 999px !important;
  font-family: var(--font-heading) !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(135deg, rgb(232,135,82), rgb(184,92,56)) !important;
  box-shadow: 0 10px 24px rgba(184,92,56,.22) !important;
}
.solara-footer-bottom {
  padding-top: 2rem !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}
.solara-footer-bottom p {
  margin: 0 !important;
  font-family: var(--font-body) !important;
  font-size: .75rem !important;
  color: rgba(255,255,255,.30) !important;
}
.solara-footer-bottom p:last-child { color: rgba(255,255,255,.20) !important; }

@media (max-width: 767px) {
  #about .grid.md\:grid-cols-3 > div > .text-4xl,
  #about .grid.md\:grid-cols-3 > div > div:first-child {
    width: 3.6rem !important;
    height: 5.6rem !important;
    font-size: 1.85rem !important;
  }
  .solara-footer-grid { grid-template-columns: 1fr !important; }
  .solara-footer-bottom { flex-direction: column !important; align-items: flex-start !important; }
}


/* ==========================================================================
   v2.7 ABOUT / ESSENCE — FULL ACF ELEMENT CONTROL
   --------------------------------------------------------------------------
   These selectors are intentionally named, so you can find every part of the
   About section quickly from the code and from browser inspector.
   ========================================================================== */
.solara-about-section{background:#fff!important;}
.solara-about__inner{max-width:var(--solara-section-max-width,1120px)!important;margin:var(--solara-inner-margin,0 auto)!important;padding:var(--solara-inner-padding,0 24px)!important;}
.solara-about__heading{margin:var(--solara-heading-margin,0 0 56px)!important;padding:var(--solara-heading-padding,0)!important;}
.solara-about__eyebrow{display:block;margin-bottom:1rem!important;}
.solara-about__title{font-family:var(--font-heading)!important;font-weight:400!important;font-size:clamp(3.25rem,6vw,5.8rem)!important;line-height:.94!important;letter-spacing:-.045em!important;margin:0 0 1.9rem!important;color:var(--foreground)!important;}
.solara-about__title span{font-family:var(--font-heading)!important;color:var(--brand-orange)!important;}
.solara-about__intro{font-family:var(--font-body)!important;font-size:clamp(1rem,1.25vw,1.14rem)!important;line-height:1.72!important;color:rgba(45,42,38,.58)!important;max-width:760px!important;margin:0 auto!important;}
.solara-about__intro p{margin:0!important;}
.solara-about__cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.9rem!important;margin:0 0 5rem!important;}
.solara-about-card{position:relative!important;min-height:310px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;text-align:center!important;background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1rem!important;padding:var(--solara-item-padding,2rem 2rem 2.4rem)!important;margin:var(--solara-item-margin,0)!important;box-shadow:none!important;overflow:visible!important;}
.solara-about-card__icon{position:absolute!important;top:-16px!important;left:50%!important;transform:translateX(-50%)!important;width:92px!important;height:235px!important;display:flex!important;align-items:center!important;justify-content:center!important;filter:drop-shadow(0 22px 30px rgba(45,42,38,.10))!important;}
.solara-about-card__icon-img{width:92px!important;height:235px!important;max-width:none!important;object-fit:contain!important;border-radius:999px!important;box-shadow:none!important;}
.solara-about-card__icon-emoji{font-size:2.4rem!important;line-height:1!important;width:72px!important;height:72px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;background:rgba(244,230,216,.72)!important;}
.solara-about-card__title{font-family:var(--font-heading)!important;font-weight:500!important;font-size:1.15rem!important;line-height:1.2!important;margin:0 0 1rem!important;color:var(--foreground)!important;}
.solara-about-card__text{font-family:var(--font-body)!important;font-size:.92rem!important;line-height:1.68!important;color:rgba(45,42,38,.58)!important;max-width:220px!important;margin:0 auto!important;}
.solara-about-card__text p{margin:0!important;}
.solara-about__feature{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:4rem!important;align-items:center!important;}
.solara-about__image-wrap{position:relative!important;}
.solara-about__image{width:100%!important;height:440px!important;object-fit:cover!important;border-radius:1.5rem!important;box-shadow:0 22px 50px rgba(45,42,38,.14)!important;}
.solara-about__badge{position:absolute!important;right:-22px!important;bottom:-22px!important;background:#fff!important;border:1px solid rgba(232,135,82,.18)!important;border-radius:1rem!important;padding:1.15rem 1.35rem!important;box-shadow:0 14px 34px rgba(45,42,38,.12)!important;min-width:160px!important;}
.solara-about__badge-date{font-family:var(--font-heading)!important;font-weight:500!important;font-size:1rem!important;line-height:1.25!important;color:var(--brand-orange)!important;margin:0 0 .7rem!important;}
.solara-about__badge-location{font-family:var(--font-body)!important;font-size:.92rem!important;line-height:1.35!important;color:rgba(45,42,38,.58)!important;margin:0!important;}
.solara-about__copy{text-align:left!important;}
.solara-about__feature-title{font-family:var(--font-heading)!important;font-weight:700!important;font-size:clamp(2.35rem,4vw,3.45rem)!important;line-height:1.03!important;letter-spacing:-.035em!important;margin:0 0 1.4rem!important;color:var(--foreground)!important;}
.solara-about__feature-title span{font-family:var(--font-heading)!important;color:var(--brand-orange)!important;}
.solara-about__feature-text{font-family:var(--font-body)!important;font-size:1.03rem!important;line-height:1.72!important;color:rgba(45,42,38,.62)!important;margin:0 0 1.55rem!important;}
.solara-about__feature-text p{margin:0 0 1rem!important;}
.solara-about__pills{display:flex!important;flex-wrap:wrap!important;gap:.7rem!important;}
.solara-about-pill{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:var(--font-heading)!important;font-weight:600!important;font-size:.78rem!important;line-height:1!important;padding:.55rem 1rem!important;border-radius:999px!important;background:var(--secondary)!important;color:var(--accent)!important;}
@media(max-width:767px){
  .solara-about__title{font-size:clamp(3rem,13vw,4.1rem)!important;}
  .solara-about__cards{grid-template-columns:1fr!important;gap:2rem!important;}
  .solara-about-card{min-height:260px!important;padding-top:170px!important;}
  .solara-about-card__icon{height:190px!important;top:-10px!important;}
  .solara-about-card__icon-img{height:190px!important;}
  .solara-about__feature{grid-template-columns:1fr!important;gap:3rem!important;}
  .solara-about__image{height:360px!important;}
  .solara-about__badge{right:1rem!important;bottom:-1rem!important;}
}
