
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{
  --ivory:#f7f2e9; --paper:#fffdf8; --ink:#25301f; --muted:#6f6b61;
  --olive:#6f7138; --olive-dark:#4f5228; --gold:#c99236; --line:#ded2be;
  --shadow:0 18px 50px rgba(65,55,34,.12); --shadow-soft:0 10px 30px rgba(65,55,34,.08);
  --radius:26px; --radius-sm:16px; --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:rgba(201,146,54,.25)}
.site-shell{overflow:hidden}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.section{padding:92px 0;position:relative}
.section.compact{padding:64px 0}
.section.alt{background:rgba(255,253,248,.72);border-block:1px solid rgba(222,210,190,.55)}
.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.28em;font-weight:600;color:var(--gold);margin:0 0 14px}
.display{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-.035em;margin:0}
h1.display{font-size:clamp(3.1rem,6vw,6.15rem)}
h2.display{font-size:clamp(2.2rem,4vw,4rem)}
h3.display{font-size:clamp(1.55rem,2.4vw,2.3rem)}
.lead{font-size:clamp(1.03rem,1.6vw,1.25rem);color:var(--muted);max-width:680px}
.muted{color:var(--muted)}
.fine-rule{display:flex;align-items:center;gap:12px;color:var(--gold);margin:22px 0}.fine-rule:before,.fine-rule:after{content:'';height:1px;background:linear-gradient(90deg,transparent,var(--gold));width:56px}.fine-rule:after{background:linear-gradient(90deg,var(--gold),transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;border:1px solid transparent;padding:14px 22px;font-weight:500;transition:.25s ease;min-height:50px}
.btn svg{width:18px;height:18px}
.btn-primary{background:linear-gradient(135deg,var(--olive),var(--olive-dark));color:white;box-shadow:0 8px 20px rgba(79,82,40,.23)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(79,82,40,.3)}
.btn-gold{background:linear-gradient(135deg,#d5a64d,var(--gold));color:white;box-shadow:0 8px 22px rgba(201,146,54,.22)}
.btn-outline{border-color:var(--line);background:rgba(255,255,255,.55);color:var(--ink)}
.btn-outline:hover{border-color:var(--gold);background:var(--paper)}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.card{background:rgba(255,253,248,.88);border:1px solid rgba(222,210,190,.72);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.glass{background:rgba(255,253,248,.76);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.75)}
.icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--gold);border:1px solid rgba(201,146,54,.4);background:rgba(255,253,248,.72);flex:0 0 auto}.icon svg{width:22px;height:22px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,242,233,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(222,210,190,.6)}
.header-inner{height:92px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;min-width:max-content}.brand-logo{width:60px;height:60px;object-fit:contain;border-radius:50%}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-family:'Playfair Display',Georgia,serif;font-size:1.32rem}.brand-caption{font-size:.7rem;letter-spacing:.14em;text-transform:lowercase;color:var(--muted);margin-top:5px}
.main-nav{display:flex;align-items:center;gap:7px;margin-left:auto}.nav-link{padding:10px 13px;border:1px solid transparent;border-radius:10px;font-size:.88rem;color:#4e5145;white-space:nowrap}.nav-link:hover,.nav-link.active{background:rgba(255,253,248,.9);border-color:var(--line);color:var(--ink)}.nav-link.active{box-shadow:inset 0 -2px 0 var(--gold)}
.header-actions{display:flex;align-items:center;gap:9px}.header-booking{padding:12px 17px;white-space:nowrap}.social-link{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid transparent;color:#55534b}.social-link:hover{border-color:var(--line);background:var(--paper)}.social-link.disabled{opacity:.35;cursor:default}.social-link svg{width:19px;height:19px}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;border-radius:50%;color:var(--ink)}
.mobile-panel{display:none}

/* Hero */
.hero{min-height:720px;position:relative;background:linear-gradient(100deg,rgba(247,242,233,.15),rgba(247,242,233,.97) 56%,rgba(247,242,233,.95));border-bottom:1px solid rgba(222,210,190,.65)}
.hero-grid{display:grid;grid-template-columns:1.05fr .9fr .92fr;gap:40px;align-items:center;min-height:720px;padding:46px 0}
.hero-photo{height:630px;border-radius:0 42px 42px 0;overflow:hidden;position:relative;margin-left:calc((100vw - min(var(--max), calc(100vw - 48px)))/-2);box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(247,242,233,.16))}
.hero-copy{padding:25px 0}.hero-copy .display{font-size:clamp(3rem,5vw,5.2rem)}.hero-copy .lead{font-size:1.05rem}
.events-panel{padding:26px;border-radius:30px;background:linear-gradient(145deg,rgba(255,253,248,.93),rgba(247,242,233,.86));border:1px solid rgba(222,210,190,.82);box-shadow:var(--shadow)}
.events-panel h2{text-align:center;margin:0 0 18px;font-family:'Playfair Display',serif;font-size:2rem;font-weight:500}.event-list{display:grid;gap:13px}.event-card{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:17px;border-radius:18px;background:rgba(255,255,255,.63);border:1px solid rgba(222,210,190,.65)}.event-card h3{font-family:'Playfair Display',serif;font-weight:500;font-size:1.15rem;margin:0 0 5px}.event-meta{font-size:.82rem;color:var(--olive-dark);font-weight:600}.event-card p{font-size:.82rem;color:var(--muted);margin:4px 0 0}.events-panel .btn{width:100%;margin-top:16px}

/* Grids */
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}.split.reverse{grid-template-columns:1.05fr 1fr}.split.reverse .media{order:2}
.media{border-radius:34px;overflow:hidden;box-shadow:var(--shadow);min-height:430px}.media img{width:100%;height:100%;object-fit:cover}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.feature-card{padding:28px}.feature-card h3{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500;margin:18px 0 8px}.feature-card p{margin:0;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}.service-card{padding:30px;position:relative;transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card h3{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:500;margin:18px 0 10px}.service-card p{color:var(--muted)}.card-link{display:inline-flex;align-items:center;gap:8px;color:var(--olive-dark);font-weight:600;margin-top:10px}
.section-heading{text-align:center;max-width:760px;margin:0 auto}.section-heading .lead{margin-inline:auto}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.quote-card{padding:30px;min-height:220px}.quote-mark{font-family:Georgia,serif;font-size:3.2rem;line-height:.7;color:var(--gold)}.quote-text{font-family:'Playfair Display',serif;font-size:1.28rem;line-height:1.5}.quote-author{font-size:.86rem;color:var(--muted);margin-top:18px}.empty-state{padding:42px;text-align:center;max-width:760px;margin:38px auto 0}.empty-state .icon{margin:0 auto 18px}

/* CTA */
.cta-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:38px 46px;border-radius:30px;background:linear-gradient(125deg,rgba(79,82,40,.97),rgba(111,113,56,.94));color:white;box-shadow:var(--shadow);position:relative;overflow:hidden}.cta-panel:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.12),transparent 28%),linear-gradient(120deg,transparent 62%,rgba(201,146,54,.12))}.cta-copy,.cta-panel .btn{position:relative}.cta-panel h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(1.9rem,3vw,3rem);margin:0 0 8px}.cta-panel p{margin:0;color:rgba(255,255,255,.78)}

/* Internal heroes */
.page-hero{padding:74px 0;background:linear-gradient(100deg,rgba(255,253,248,.45),rgba(239,228,210,.72));border-bottom:1px solid rgba(222,210,190,.7)}
.page-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.page-hero-photo{height:500px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.page-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%}.page-hero .display{font-size:clamp(3.2rem,5vw,5.5rem)}

/* About */
.belief-stack{display:grid;gap:14px}.belief-row{display:flex;gap:15px;align-items:flex-start;padding:20px;border-radius:18px;border:1px solid var(--line);background:rgba(255,253,248,.65)}.belief-row h3{font-family:'Playfair Display',serif;font-size:1.18rem;font-weight:500;margin:0 0 4px}.belief-row p{margin:0;color:var(--muted);font-size:.92rem}
.two-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.list-card{padding:32px}.list-card h3{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:500}.check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.check-list li{display:flex;gap:11px;color:var(--muted)}.check-list li:before{content:'✓';width:23px;height:23px;border-radius:50%;border:1px solid rgba(201,146,54,.5);display:grid;place-items:center;color:var(--gold);font-size:.75rem;flex:0 0 auto}
.quote-panel{padding:44px;text-align:center}.quote-panel blockquote{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-style:italic;margin:0;line-height:1.35;color:var(--olive-dark)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative}.timeline:before{content:'';position:absolute;top:25px;left:8%;right:8%;border-top:1px dashed rgba(201,146,54,.65)}.timeline-item{text-align:center;padding:0 20px;position:relative}.timeline-number{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 19px;background:var(--paper);border:1px solid rgba(201,146,54,.55);color:var(--gold);position:relative;z-index:1}.timeline-item h3{font-family:'Playfair Display',serif;font-weight:500}.timeline-item p{color:var(--muted);font-size:.9rem}

/* Consultation */
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.type-card{padding:28px}.type-card .meta{color:var(--gold);font-weight:600;font-size:.88rem;margin-top:12px}
.audience-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.audience-item{padding:24px;border-right:1px solid var(--line)}.audience-item:last-child{border:0}.audience-item p{margin:0;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:42px}.process-card{padding:30px;position:relative}.process-card:not(:last-child):after{content:'→';position:absolute;right:-38px;top:50%;font-size:1.7rem;color:var(--gold)}.step-number{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:white;font-weight:600}.process-card h3{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}.price-card{padding:34px}.price-card h3{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:500}.price{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--gold);margin:10px 0}.accordion{display:grid;gap:12px;margin-top:38px}.accordion-item{border:1px solid var(--line);border-radius:15px;background:rgba(255,253,248,.68);overflow:hidden}.accordion-button{width:100%;border:0;background:transparent;text-align:left;padding:19px 22px;display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-weight:500}.accordion-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-answer p{padding:0 22px 20px;margin:0;color:var(--muted)}.accordion-item.open .accordion-answer{max-height:220px}.accordion-item.open .accordion-button span:last-child{transform:rotate(45deg)}

/* Method */
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}.pillar-card{padding:26px;text-align:center}.pillar-card .icon{margin:0 auto}.pillar-card h3{font-family:'Playfair Display',serif;font-weight:500}.method-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:44px}.method-step{text-align:center;position:relative}.method-step:not(:last-child):after{content:'→';position:absolute;right:-16px;top:28px;color:var(--gold)}.method-step .icon{margin:0 auto}.method-step h3{font-family:'Playfair Display',serif;font-size:1.08rem;font-weight:500;margin:16px 0 6px}.method-step p{font-size:.84rem;color:var(--muted)}
.triple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.content-card{padding:32px}.content-card h3{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:500}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.form-card{padding:36px}.form-card h2,.contact-details h2{font-family:'Playfair Display',serif;font-size:2rem;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.83rem;color:var(--muted)}.input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:12px;padding:14px 15px;color:var(--ink);outline:none}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,146,54,.12)}textarea.input{min-height:150px;resize:vertical}.form-note{font-size:.77rem;color:var(--muted);margin:14px 0}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-card{padding:23px}.contact-card h3{font-family:'Playfair Display',serif;font-weight:500;margin:0 0 4px}.contact-card p{margin:0;color:var(--muted);font-size:.9rem}.contact-card a{color:var(--olive-dark);font-weight:600}.map-card{min-height:360px;position:relative;overflow:hidden;background:linear-gradient(125deg,#e6dfd0,#f8f4ec)}.map-pattern{position:absolute;inset:0;opacity:.55;background-image:linear-gradient(30deg,transparent 24%,rgba(150,145,126,.18) 25%,rgba(150,145,126,.18) 26%,transparent 27%,transparent 74%,rgba(150,145,126,.18) 75%,rgba(150,145,126,.18) 76%,transparent 77%),linear-gradient(120deg,transparent 24%,rgba(150,145,126,.18) 25%,rgba(150,145,126,.18) 26%,transparent 27%,transparent 74%,rgba(150,145,126,.18) 75%,rgba(150,145,126,.18) 76%,transparent 77%);background-size:70px 70px}.map-pin{position:absolute;left:55%;top:45%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50% 50% 50% 0;rotate:-45deg;background:linear-gradient(135deg,#d5a64d,var(--gold));box-shadow:var(--shadow);display:grid;place-items:center}.map-pin img{width:52px;height:52px;border-radius:50%;rotate:45deg}.map-label{position:absolute;left:26px;bottom:24px;padding:12px 16px;border-radius:12px;background:rgba(255,253,248,.88);border:1px solid var(--line);font-weight:600}
.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}.practical-card{padding:24px;text-align:center}.practical-card .icon{margin:0 auto}.practical-card h3{font-family:'Playfair Display',serif;font-weight:500}.practical-card p{color:var(--muted);font-size:.88rem}

/* Booking */
.booking-wrap{padding-top:45px}.booking-app{padding:28px;border-radius:32px;background:rgba(255,253,248,.88);border:1px solid var(--line);box-shadow:var(--shadow)}.booking-steps{display:grid;grid-template-columns:.95fr 1.1fr 1fr;gap:22px}.booking-column{padding:18px;border-right:1px solid rgba(222,210,190,.75)}.booking-column:last-child{border-right:0}.booking-column h2{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:500}.service-choice{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:16px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.6);margin-bottom:11px;color:var(--ink)}.service-choice.active{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,146,54,.1)}.service-choice .icon{width:40px;height:40px}.service-choice strong{display:block}.service-choice small{color:var(--muted)}
.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-nav{border:0;background:transparent;width:38px;height:38px;border-radius:50%}.calendar-nav:hover{background:var(--ivory)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday{text-align:center;color:var(--muted);font-size:.75rem}.day{aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:#918e85}.day.has-slots{color:var(--ink);background:rgba(201,146,54,.08)}.day.has-slots:hover,.day.selected{background:var(--olive);color:white}.day.empty{visibility:hidden}
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.time-slot{padding:11px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.7)}.time-slot:hover,.time-slot.selected{background:var(--olive);color:white;border-color:var(--olive)}.time-empty{padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.booking-bottom{display:grid;grid-template-columns:1fr .9fr;gap:22px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card{padding:25px;background:linear-gradient(145deg,rgba(247,242,233,.9),rgba(255,253,248,.95));border:1px solid var(--line);border-radius:20px}.summary-list{display:grid;gap:11px;margin:20px 0}.summary-row{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:.9rem}.summary-row span:first-child{color:var(--muted)}.summary-card .btn{width:100%}.booking-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.booking-info-card{padding:27px}.booking-info-card h3{font-family:'Playfair Display',serif;font-weight:500}.booking-info-card p{color:var(--muted)}

/* Admin */
.admin-body{background:#efe9df}.admin-header{padding:22px 0;background:#25271c;color:white;position:sticky;top:0;z-index:10}.admin-header .container{display:flex;align-items:center;justify-content:space-between}.admin-header h1{font-size:1.35rem;margin:0}.admin-header p{margin:2px 0 0;color:rgba(255,255,255,.65);font-size:.85rem}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions .btn{min-height:40px;padding:9px 14px}.admin-main{padding:34px 0 80px}.admin-grid{display:grid;grid-template-columns:240px 1fr;gap:24px}.admin-nav{padding:14px;align-self:start;position:sticky;top:112px}.admin-nav button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:12px;border-radius:10px}.admin-nav button.active,.admin-nav button:hover{background:var(--ivory)}.admin-panel{padding:30px}.admin-panel h2{font-family:'Playfair Display',serif;font-size:2rem;font-weight:500}.admin-section{display:none}.admin-section.active{display:block}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form .field.full{grid-column:1/-1}.admin-help{padding:16px;border-radius:12px;background:#f4ead8;color:#66583e;font-size:.9rem;margin:0 0 22px}.json-editor{min-height:600px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.status{position:fixed;right:24px;bottom:24px;padding:13px 17px;border-radius:12px;background:#25271c;color:white;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.25s;z-index:100}.status.show{opacity:1;transform:none}

/* Footer */
.site-footer{padding:54px 0 26px;background:rgba(255,253,248,.7);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .95fr .9fr;gap:38px}.footer-brand .brand{margin-bottom:15px}.footer-brand p{color:var(--muted);font-size:.88rem}.footer-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;margin:0 0 13px}.footer-links{display:grid;gap:7px;font-size:.87rem;color:var(--muted)}.footer-links a:hover{color:var(--olive-dark)}.footer-social{display:flex;gap:8px;margin-bottom:14px}.footer-contact{display:grid;gap:8px;font-size:.86rem;color:var(--muted)}.footer-contact a,.footer-contact span{display:flex;align-items:center;gap:7px}.footer-contact svg{width:16px;height:16px;flex:0 0 auto}.legal{margin-top:36px;padding-top:20px;border-top:1px solid rgba(222,210,190,.7);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem}

/* Animation */
.reveal{opacity:1;transform:none}.reveal.visible{opacity:1;transform:none}

/* Responsive */
@media(max-width:1100px){
  .header-inner{gap:14px}.brand-name{font-size:1.12rem}.main-nav{gap:2px}.nav-link{padding:9px 8px;font-size:.78rem}.social-link{display:none}
  .hero-grid{grid-template-columns:1fr 1fr}.hero-photo{height:590px}.events-panel{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;align-items:start;gap:20px}.events-panel h2{text-align:left}.events-panel .btn{grid-column:1/-1}.event-list{grid-template-columns:repeat(3,1fr)}.event-card{grid-template-columns:1fr}.event-card .icon{display:none}
  .feature-grid,.service-grid,.type-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr)}.pillar-grid{grid-template-columns:repeat(2,1fr)}.method-steps{grid-template-columns:repeat(3,1fr)}.method-step:after{display:none}.practical-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .container{width:min(100% - 30px,var(--max))}.section{padding:70px 0}
  .main-nav,.header-actions .social-link{display:none}.menu-toggle{display:grid;place-items:center;margin-left:auto}.header-booking{display:none}.header-inner{height:78px}.brand-logo{width:50px;height:50px}.brand-name{font-size:1.05rem}
  .mobile-panel{display:block;max-height:0;overflow:hidden;transition:max-height .3s ease;border-top:1px solid transparent}.mobile-panel.open{max-height:440px;border-color:var(--line)}.mobile-panel-inner{padding:12px 15px 20px;display:grid;gap:7px}.mobile-panel .nav-link{display:block;padding:12px}.mobile-panel .btn{margin-top:6px}
  .hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:0 0 48px;gap:28px}.hero-photo{margin:0 -15px;height:520px;border-radius:0}.hero-copy{padding:20px 0}.events-panel{display:block}.event-list{grid-template-columns:1fr}.event-card{grid-template-columns:48px 1fr}.event-card .icon{display:grid}
  .split,.split.reverse,.page-hero-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.split.reverse .media{order:0}.page-hero{padding:45px 0}.page-hero-photo{height:460px}.page-hero .page-hero-copy{order:2}
  .feature-grid,.service-grid,.type-grid,.testimonial-grid,.two-card-grid,.pricing-grid,.triple-grid,.contact-cards,.booking-info-grid{grid-template-columns:1fr}.audience-strip{grid-template-columns:1fr 1fr}.audience-item:nth-child(2){border-right:0}.audience-item{border-bottom:1px solid var(--line)}
  .process-grid{grid-template-columns:1fr;gap:16px}.process-card:after{display:none}.timeline{grid-template-columns:1fr 1fr;gap:30px}.timeline:before{display:none}.pillar-grid{grid-template-columns:1fr 1fr}.method-steps{grid-template-columns:1fr 1fr}.practical-grid{grid-template-columns:1fr 1fr}
  .booking-steps{grid-template-columns:1fr}.booking-column{border-right:0;border-bottom:1px solid var(--line)}.booking-column:last-child{border-bottom:0}.booking-bottom{grid-template-columns:1fr}.booking-form-grid{grid-template-columns:1fr}.summary-row{grid-template-columns:100px 1fr}
  .cta-panel{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.legal{flex-direction:column}.admin-grid{grid-template-columns:1fr}.admin-nav{position:static;display:flex;overflow:auto}.admin-nav button{white-space:nowrap}.admin-form{grid-template-columns:1fr}
}
@media(max-width:540px){
  h1.display{font-size:2.85rem}.hero-copy .display{font-size:2.85rem}.page-hero .display{font-size:3rem}.hero-photo{height:460px}.page-hero-photo{height:410px}
  .events-panel{padding:18px}.feature-grid,.service-grid,.type-grid,.testimonial-grid,.pillar-grid,.method-steps,.audience-strip,.practical-grid,.timeline,.footer-grid{grid-template-columns:1fr}.audience-item{border-right:0}.cta-panel{padding:30px 24px}.form-grid{grid-template-columns:1fr}.contact-cards{grid-template-columns:1fr}.booking-app{padding:14px}.booking-column{padding:12px}.time-grid{grid-template-columns:repeat(2,1fr)}.legal{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}


/* =========================================================
   Approved home-page art direction — 2026 refresh
   ========================================================= */
.site-header{background:rgba(250,247,241,.96);border-bottom:1px solid rgba(206,191,166,.52);box-shadow:0 5px 18px rgba(71,59,38,.035)}
.header-inner{height:82px;width:min(100% - 38px,1400px);gap:18px}
.brand{gap:12px}.brand-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;flex:0 0 auto}.brand-logo{width:50px;height:50px}.brand-caption{font-family:'Playfair Display',Georgia,serif;font-size:.66rem;line-height:1;color:#666251;text-transform:lowercase;letter-spacing:0;margin-top:1px}.brand-name{font-family:'Playfair Display',Georgia,serif;font-size:1.36rem;color:#313825;white-space:nowrap}
.main-nav{gap:9px}.nav-link{padding:10px 16px;border-color:rgba(210,196,174,.62);background:rgba(255,253,248,.45);border-radius:8px;font-family:'Playfair Display',Georgia,serif;font-size:.82rem;color:#4c4b42}.nav-link:hover,.nav-link.active{background:#fffdf8;border-color:#c9b894;box-shadow:0 5px 16px rgba(91,74,43,.08);color:#2f3623}.nav-link.active{box-shadow:inset 0 -2px 0 var(--gold),0 5px 16px rgba(91,74,43,.08)}
.header-actions{gap:8px}.header-booking{min-height:50px;padding:12px 20px;border-radius:10px;border:2px solid rgba(201,146,54,.25);box-shadow:0 7px 16px rgba(74,76,36,.24);font-family:'Playfair Display',Georgia,serif}.header-actions .social-link{width:34px;height:34px;color:#47483f}
.home-hero{background:#f4eee4;border-bottom:1px solid rgba(218,204,181,.64);position:relative;overflow:hidden}.home-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 58% 44%,rgba(255,255,255,.28),transparent 34%),linear-gradient(90deg,transparent 0 33%,rgba(255,253,248,.14) 46%,transparent 72%)}
.home-hero-grid{position:relative;z-index:1;width:min(100%,1440px);margin-inline:auto;display:grid;grid-template-columns:36.2% 31.5% 32.3%;min-height:620px;align-items:stretch}.home-hero-photo{overflow:hidden;min-width:0;background:#d8c8ae}.home-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}.home-hero-copy{padding:58px 44px 48px 50px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(100deg,rgba(248,243,235,.93),rgba(244,238,228,.72))}.home-hero-copy .display{font-size:clamp(2.75rem,4.05vw,4.65rem);line-height:1.18;letter-spacing:-.035em;color:#2f3827}.home-ornament{display:flex;align-items:center;gap:8px;color:#b98b3c;margin:24px 0 22px;height:22px}.home-ornament span{width:33px;height:1px;background:linear-gradient(90deg,transparent,#c49545)}.home-ornament span:last-child{background:linear-gradient(90deg,#c49545,transparent)}.home-ornament svg{width:18px;height:18px}.home-ornament.centered{justify-content:center;margin:0 auto 10px}.home-intro{font-size:1rem;line-height:1.7;color:#625e54;margin:0;max-width:330px}.home-primary{margin-top:36px;min-width:184px;padding-inline:24px;border-radius:9px;font-family:'Playfair Display',Georgia,serif;background:linear-gradient(135deg,#77783e,#565a2d)}.home-primary svg{width:15px;height:15px}
.home-events{align-self:center;margin:44px 34px 44px 18px;padding:27px 27px 25px;border-radius:27px;background:linear-gradient(145deg,rgba(255,253,248,.94),rgba(246,239,229,.92));border:1px solid rgba(211,196,174,.78);box-shadow:0 15px 38px rgba(85,66,34,.14),inset 0 0 0 8px rgba(255,255,255,.28)}.home-events-head h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;text-align:center;font-size:2rem;margin:0 0 22px;color:#32362d}.home-event-list{display:grid;gap:13px}.home-event-card{display:grid;grid-template-columns:60px 1fr;gap:16px;align-items:center;padding:16px 18px;border-radius:15px;background:rgba(255,255,255,.68);border:1px solid rgba(221,208,188,.7);box-shadow:0 4px 12px rgba(79,65,42,.045)}.home-event-card .icon{width:52px;height:52px;background:transparent;border-color:#d2a966}.home-event-card .icon svg{width:25px;height:25px}.home-event-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:1.22rem;line-height:1.16;margin:0 0 7px;color:#32362d}.home-event-card p{margin:0;line-height:1.45}.home-event-date{font-size:.82rem;color:#6e675d}.home-event-location{font-size:.82rem;color:#536039}.home-events-button{width:100%;margin-top:16px;min-height:48px;border-radius:9px;font-family:'Playfair Display',Georgia,serif;font-size:1rem}.home-events-button svg{margin-left:auto}
.home-method-section{padding:34px 0 27px;background:rgba(255,252,247,.84);border-bottom:1px solid rgba(222,210,190,.6)}.home-method-grid{display:grid;grid-template-columns:.98fr 1.06fr;gap:48px;align-items:center;width:min(100% - 68px,1180px)}.home-method-media{height:330px;border-radius:24px;overflow:hidden;box-shadow:0 10px 28px rgba(69,56,37,.12)}.home-method-media img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.home-method-copy{padding:12px 6px}.home-method-copy .eyebrow{font-size:.72rem;margin-bottom:9px}.home-method-copy .display{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.15;color:#30362a}.home-method-copy .home-ornament{margin:14px 0 14px}.home-method-text{color:#656158;font-size:.91rem;line-height:1.55;max-width:540px;margin:0}.home-method-points{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 18px}.home-method-point{text-align:center;padding:0 18px;border-right:1px solid rgba(212,198,175,.75)}.home-method-point:first-child{padding-left:0}.home-method-point:last-child{border-right:0;padding-right:0}.home-method-point .icon{margin:0 auto 8px;width:40px;height:40px;border:0;background:transparent}.home-method-point .icon svg{width:27px;height:27px}.home-method-point h3{font-family:'Playfair Display',Georgia,serif;font-size:.95rem;line-height:1.25;font-weight:500;margin:0;color:#35382f}.home-method-button{min-height:39px;padding:8px 18px;border-radius:8px;font-family:'Playfair Display',Georgia,serif;font-size:.82rem}
.home-testimonials-section{padding:21px 0 28px;background:linear-gradient(180deg,#f8f2e8,#f4ecdf);border-bottom:1px solid rgba(214,198,174,.62)}.home-testimonials-heading{text-align:center}.home-testimonials-heading .eyebrow{font-family:'DM Sans',sans-serif;font-size:.78rem;letter-spacing:.34em;color:#9c722f;margin:0}.home-testimonials-heading .home-ornament{margin-top:1px;margin-bottom:12px}.home-testimonial-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:15px;align-items:center}.home-testimonial-viewport{overflow:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.home-testimonial-viewport::-webkit-scrollbar{display:none}.home-testimonial-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px}.home-testimonial-card{scroll-snap-align:start;min-height:154px;padding:19px 24px 18px;border-radius:15px;background:rgba(255,253,248,.64);border:1px solid rgba(218,203,180,.72);box-shadow:0 4px 14px rgba(84,65,40,.035)}.home-testimonial-card .quote-mark{font-size:2.6rem;margin-bottom:0;color:#b88330}.home-testimonial-card p{font-family:'Playfair Display',Georgia,serif;font-size:1rem;line-height:1.35;color:#4d4a43;margin:0 0 12px}.home-testimonial-card span{font-family:'Playfair Display',Georgia,serif;font-size:.78rem;color:#6f685e}.home-testimonial-card.is-placeholder p{font-style:italic;color:#837b70}.home-testimonial-nav{width:36px;height:36px;border-radius:50%;border:0;background:#70713a;color:white;box-shadow:0 7px 15px rgba(76,78,37,.25);display:grid;place-items:center;font-family:Georgia,serif;font-size:1.35rem;line-height:1}.home-testimonial-nav:hover:not(:disabled){transform:translateY(-1px);background:#5c5e30}.home-testimonial-nav:disabled{opacity:.68;cursor:default}.home-testimonial-dots{display:flex;justify-content:center;gap:12px;margin-top:16px}.home-testimonial-dots span{width:8px;height:8px;border-radius:50%;background:#dfcba9;transition:.2s}.home-testimonial-dots span.active{background:#73743b}
.site-footer{padding:35px 0 18px;background:#faf6ef}.footer-grid{grid-template-columns:1.45fr .72fr .9fr 1fr;gap:32px}.footer-brand .brand{align-items:center}.footer-brand .brand-name{font-size:1.45rem}.footer-brand p{margin:8px 0 0 64px;font-size:.72rem}.footer-title{color:#55564a}.legal{justify-content:center;font-size:.7rem}.legal span:last-child{display:none}
@media(max-width:1180px){.header-inner{width:min(100% - 26px,1400px);gap:10px}.brand-name{font-size:1.16rem}.main-nav{gap:5px}.nav-link{padding:9px 10px;font-size:.74rem}.header-booking{padding-inline:14px}.header-actions .social-link{display:none}.home-hero-grid{grid-template-columns:35% 34% 31%}.home-hero-copy{padding-inline:35px 28px}.home-events{margin-inline:8px 20px;padding:23px 20px}.home-event-card{grid-template-columns:50px 1fr;padding:14px}.home-event-card .icon{width:46px;height:46px}.home-events-head h2{font-size:1.75rem}}
@media(max-width:900px){.header-inner{height:76px}.brand-logo{width:46px;height:46px}.brand-name{font-size:1.1rem}.home-hero-grid{grid-template-columns:1fr 1fr}.home-hero-photo{height:610px}.home-hero-copy{min-height:610px;padding:55px 40px}.home-events{grid-column:1/-1;margin:28px 30px 36px;display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}.home-events-head{padding-top:16px}.home-event-list{grid-template-columns:repeat(3,1fr)}.home-event-card{grid-template-columns:1fr;text-align:center}.home-event-card .icon{margin:auto}.home-events-button{grid-column:1/-1}.home-method-grid{grid-template-columns:1fr;gap:30px}.home-method-media{height:420px}.home-method-copy{padding:0 8px}.home-testimonial-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:820px){.header-inner{width:min(100% - 24px,1400px)}.brand-caption{font-size:.6rem}.brand-name{font-size:1.03rem}}
@media(max-width:640px){.home-hero-grid{grid-template-columns:1fr}.home-hero-photo{height:540px}.home-hero-photo img{object-position:center 26%}.home-hero-copy{min-height:auto;padding:44px 28px 48px}.home-hero-copy .display{font-size:3rem}.home-intro{font-size:.96rem}.home-events{display:block;margin:0 15px 36px;padding:22px 18px}.home-event-list{grid-template-columns:1fr}.home-event-card{grid-template-columns:52px 1fr;text-align:left}.home-event-card .icon{margin:0}.home-method-section{padding-top:24px}.home-method-grid{width:min(100% - 30px,1180px)}.home-method-media{height:340px}.home-method-copy .display{font-size:2.35rem}.home-method-points{grid-template-columns:1fr;gap:14px}.home-method-point{border-right:0;border-bottom:1px solid rgba(212,198,175,.65);padding:0 0 14px!important;display:grid;grid-template-columns:48px 1fr;align-items:center;text-align:left}.home-method-point:last-child{border-bottom:0}.home-method-point .icon{margin:0}.home-method-button{width:100%;justify-content:center}.home-testimonial-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}.home-testimonial-track{grid-auto-columns:100%;gap:12px}.home-testimonial-card{min-height:170px;padding:21px}.home-testimonial-nav{width:32px;height:32px}.footer-brand p{margin-left:0}.footer-grid{gap:24px}}

/* Keep the approved social icons visible on desktop and in the footer. */
.footer-social .social-link{display:grid!important}
@media(min-width:981px) and (max-width:1180px){.header-actions .social-link{display:grid!important}.header-inner{gap:7px}.main-nav{gap:3px}.nav-link{padding-inline:8px}.header-booking{padding-inline:12px}.brand-name{font-size:1.08rem}}
@media(max-width:980px){.header-actions .social-link{display:none!important}}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr}.footer-brand p{max-width:280px}.legal{margin-top:22px}}


/* Full-background opening hero — approved direction */
body[data-page="home"] .site-header{background:rgba(250,247,241,.92);box-shadow:0 4px 20px rgba(68,55,36,.055)}
.home-hero{
  position:relative;
  min-height:670px;
  overflow:hidden;
  border-bottom:1px solid rgba(211,195,170,.7);
  background-color:#eae0d3;
}
.home-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
  display:block;
  pointer-events:none;
  user-select:none;
}
.home-hero:before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,transparent 0 31%,rgba(246,239,229,.10) 42%,rgba(246,239,229,.08) 67%,rgba(239,228,211,.18) 100%);
}
.home-hero-grid{
  position:relative;z-index:2;
  min-height:670px;
  display:grid;
  grid-template-columns:33.5% 32.5% 34%;
  align-items:center;
  gap:0;
  padding-block:38px;
}
.home-hero-spacer{min-width:0;min-height:1px}
.home-hero-photo{display:none!important}
.home-hero-copy{
  align-self:center;
  padding:42px 34px 42px 26px;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  background:transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}
.home-hero-copy .display{font-size:clamp(2.7rem,4.15vw,4.85rem);line-height:1.16;letter-spacing:-.035em;color:#30382b}
.home-hero-copy .home-ornament{margin:22px 0 18px}
.home-intro{max-width:345px;font-size:1rem;line-height:1.68;color:#5f5b52}
.home-primary{margin-top:31px}
.home-events{
  align-self:center;
  margin:0 0 0 12px;
  padding:28px 27px 26px;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,253,249,.95),rgba(247,240,230,.92));
  border:1px solid rgba(210,194,171,.86);
  box-shadow:0 18px 46px rgba(80,64,39,.17),inset 0 0 0 8px rgba(255,255,255,.30);
  backdrop-filter:blur(8px);
}
.home-events-head h2{font-size:2.05rem;margin-bottom:22px}
.home-event-card{padding:16px 17px;background:rgba(255,255,255,.68)}
.home-events-button{min-height:49px}

@media(max-width:1180px){
  .home-hero-grid{grid-template-columns:33% 34% 33%}
  .home-hero-copy{padding-inline:24px 20px}
  .home-events{margin-left:6px;padding:23px 20px}
}
@media(max-width:900px){
  .home-hero{min-height:auto;background-color:#f4eee5}
  .home-hero-bg{height:610px;object-fit:cover;object-position:left top}
  .home-hero:before{background:linear-gradient(180deg,transparent 0 510px,rgba(244,238,229,.90) 585px,#f4eee5 650px)}
  .home-hero-grid{grid-template-columns:1fr 1fr;min-height:auto;padding:0 0 34px}
  .home-hero-spacer{grid-column:1/-1;height:530px}
  .home-hero-copy{grid-column:1/2;align-self:stretch;margin:0 0 0 18px;padding:38px 30px;border-radius:24px;background:rgba(250,246,239,.90);box-shadow:0 14px 34px rgba(77,62,39,.10);backdrop-filter:blur(10px)}
  .home-events{grid-column:2/3;display:block;margin:0 18px 0 16px}
  .home-event-list{grid-template-columns:1fr}
  .home-event-card{grid-template-columns:52px 1fr;text-align:left}
  .home-event-card .icon{margin:0}
  .home-events-button{grid-column:auto}
}
@media(max-width:640px){
  .home-hero-bg{height:535px;object-position:left top}
  .home-hero:before{background:linear-gradient(180deg,transparent 0 440px,rgba(244,238,229,.92) 515px,#f4eee5 565px)}
  .home-hero-grid{display:block;padding-bottom:28px;width:100%}
  .home-hero-spacer{height:470px}
  .home-hero-copy{margin:0 15px 18px;padding:32px 27px 35px;border-radius:23px}
  .home-hero-copy .display{font-size:2.8rem}
  .home-intro{max-width:none}
  .home-primary{width:100%;justify-content:center}
  .home-events{margin:0 15px;padding:22px 18px}
}
