:root{--cream:#F3EBE0;--warm-white:#FAF6F1;--sand:#E8DCCF;--terracotta:#B8664E;--terracotta-soft:#C8806A;--earth:#2A1F17;--earth-mid:#5C4A3A;--earth-light:#8A7766;--sage:#7E8E72;--sage-soft:#A3B096;--gold:#C9A87C;--gold-soft:#D9C4A0;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden;}
body{font-family:'Karla',sans-serif;background:var(--warm-white);color:var(--earth);line-height:1.7;font-weight:300;overflow-x:hidden;}
::selection{background:var(--gold-soft);color:var(--earth);}
body::after{content:'';position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px;}
h1,h2,h3,h4,.display{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;line-height:1.15;}
a{color:inherit;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 2.5rem;display:flex;justify-content:space-between;align-items:center;transition:all 0.6s cubic-bezier(0.16,1,0.3,1);}
nav.scrolled{background:rgba(243,235,224,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1rem 2.5rem;box-shadow:0 1px 0 rgba(42,31,23,0.06);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--earth);text-decoration:none;}
.nav-links{display:flex;gap:2.5rem;align-items:center;list-style:none;}
.nav-links a{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--earth-mid);font-weight:400;transition:color 0.3s;}
.nav-links a:hover{color:var(--terracotta);}
.nav-cta{font-size:0.75rem !important;letter-spacing:0.1em !important;padding:0.6rem 1.6rem;border:1px solid var(--earth);transition:all 0.3s !important;}
.nav-cta:hover{background:var(--earth);color:var(--warm-white) !important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--earth);transition:all 0.3s;}
.mobile-nav{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--cream);z-index:99;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity 0.4s;}
.mobile-nav.open{opacity:1;pointer-events:auto;}
.mobile-nav a{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;text-decoration:none;color:var(--earth);transition:color 0.3s;}
.mobile-nav a:hover{color:var(--terracotta);}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;position:relative;background:var(--cream);overflow:hidden;}
.hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.hero-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;}
.hero-ring{position:absolute;border-radius:50%;border:1px solid rgba(180,140,90,0.18);top:50%;left:50%;transform:translate(-50%,-50%);animation:ringPulse 8s ease-in-out infinite;}
.hero-ring:nth-child(1){width:200px;height:200px;animation-delay:0s;border-width:1.5px;}
.hero-ring:nth-child(2){width:350px;height:350px;animation-delay:0.8s;}
.hero-ring:nth-child(3){width:500px;height:500px;animation-delay:1.6s;}
.hero-ring:nth-child(4){width:650px;height:650px;animation-delay:2.4s;}
.hero-ring:nth-child(5){width:800px;height:800px;animation-delay:3.2s;}
.hero-ring:nth-child(6){width:950px;height:950px;animation-delay:4s;}
@keyframes ringPulse{0%,100%{opacity:0.25;transform:translate(-50%,-50%) scale(1);}
50%{opacity:1;transform:translate(-50%,-50%) scale(1.04);}
}
.hero-breath-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;font-size:0.58rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--earth-light);opacity:0;animation:fadeUp 1s 1.5s cubic-bezier(0.16,1,0.3,1) forwards;}
.hero-breath-hint span{animation:breathHintPulse 6s ease-in-out infinite;}
@keyframes breathHintPulse{0%,100%{opacity:0.25;}
25%{opacity:0.7;}
50%{opacity:0.25;}
75%{opacity:0.55;}
}
.hero-blob{position:absolute;z-index:0;border-radius:50%;filter:blur(80px);opacity:0;animation:blobAppear 2s ease-out forwards;}
.hero-blob-1{width:500px;height:500px;top:10%;left:15%;background:radial-gradient(circle,rgba(200,128,106,0.25) 0%,transparent 70%);animation-delay:0.2s;animation-name:blobAppear,blobFloat1;animation-duration:2s,25s;animation-timing-function:ease-out,ease-in-out;animation-fill-mode:forwards,none;animation-iteration-count:1,infinite;animation-delay:0.2s,0.2s;}
.hero-blob-2{width:400px;height:400px;top:40%;right:10%;background:radial-gradient(circle,rgba(163,176,150,0.2) 0%,transparent 70%);animation-delay:0.5s;animation-name:blobAppear,blobFloat2;animation-duration:2s,20s;animation-timing-function:ease-out,ease-in-out;animation-fill-mode:forwards,none;animation-iteration-count:1,infinite;animation-delay:0.5s,0.5s;}
.hero-blob-3{width:350px;height:350px;bottom:15%;left:30%;background:radial-gradient(circle,rgba(201,168,124,0.22) 0%,transparent 70%);animation-delay:0.8s;animation-name:blobAppear,blobFloat3;animation-duration:2s,22s;animation-timing-function:ease-out,ease-in-out;animation-fill-mode:forwards,none;animation-iteration-count:1,infinite;animation-delay:0.8s,0.8s;}
@keyframes blobAppear{from{opacity:0;transform:scale(0.6);}
to{opacity:1;transform:scale(1);}
}
@keyframes blobFloat1{0%,100%{transform:translate(0,0) scale(1);}
33%{transform:translate(30px,-20px) scale(1.05);}
66%{transform:translate(-20px,15px) scale(0.95);}
}
@keyframes blobFloat2{0%,100%{transform:translate(0,0) scale(1);}
33%{transform:translate(-25px,20px) scale(0.95);}
66%{transform:translate(15px,-25px) scale(1.08);}
}
@keyframes blobFloat3{0%,100%{transform:translate(0,0) scale(1);}
33%{transform:translate(20px,15px) scale(1.03);}
66%{transform:translate(-15px,-20px) scale(0.97);}
}
.hero-content{position:relative;z-index:2;max-width:800px;}
.hero-pre{font-size:0.72rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--earth-light);margin-bottom:2.5rem;font-weight:400;opacity:0;animation:fadeUp 1s 0.3s cubic-bezier(0.16,1,0.3,1) forwards;}
.hero h1{font-size:clamp(3rem,8vw,6.5rem);font-weight:300;letter-spacing:-0.015em;margin-bottom:0.3em;opacity:0;animation:fadeUp 1.2s 0.5s cubic-bezier(0.16,1,0.3,1) forwards;}
.hero h1 em{font-style:italic;color:var(--terracotta-soft);}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:300;font-style:italic;color:var(--earth-mid);max-width:500px;margin:0 auto 3rem;opacity:0;animation:fadeUp 1.2s 0.7s cubic-bezier(0.16,1,0.3,1) forwards;}
.hero-locations{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--earth-light);opacity:0;animation:fadeUp 1s 0.9s cubic-bezier(0.16,1,0.3,1) forwards;}
.hero-locations span{margin:0 0.75rem;opacity:0.4;}
.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;opacity:0;animation:fadeUp 1s 1.2s cubic-bezier(0.16,1,0.3,1) forwards;z-index:2;}
.hero-scroll span{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--earth-light);}
.scroll-line{width:1px;height:40px;background:var(--earth-light);opacity:0.3;animation:scrollPulse 2.5s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{transform:scaleY(0.4);transform-origin:top;opacity:0.2;}
50%{transform:scaleY(1);transform-origin:top;opacity:0.5;}
}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}
to{opacity:1;transform:translateY(0);}
}
@keyframes fadeIn{from{opacity:0;}
to{opacity:1;}
}
.page-hero{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem 4rem;position:relative;background:var(--cream);overflow:hidden;}
.page-hero .hero-blob{filter:blur(100px);}
.page-hero-content{position:relative;z-index:2;max-width:700px;}
.page-hero .hero-pre{margin-bottom:1.5rem;}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;margin-bottom:1rem;opacity:0;animation:fadeUp 1.2s 0.3s cubic-bezier(0.16,1,0.3,1) forwards;}
.page-hero h1 em{font-style:italic;color:var(--terracotta-soft);}
.page-hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:300;font-style:italic;color:var(--earth-mid);max-width:480px;margin:0 auto;opacity:0;animation:fadeUp 1s 0.5s cubic-bezier(0.16,1,0.3,1) forwards;}
.breath-divider{display:flex;justify-content:center;align-items:center;padding:4rem 0;}
.breath-circle{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 20px rgba(201,168,124,0.25);animation:breatheGlow 5s ease-in-out infinite;}
@keyframes breatheGlow{0%,100%{transform:scale(1);opacity:0.3;box-shadow:0 0 15px rgba(201,168,124,0.15);}
50%{transform:scale(1.8);opacity:0.9;box-shadow:0 0 40px rgba(201,168,124,0.45);}
}
section{padding:6rem 2rem;}
.container{max-width:1100px;margin:0 auto;}
.container-narrow{max-width:680px;margin:0 auto;}
.container-wide{max-width:1200px;margin:0 auto;}
.section-label{font-size:0.68rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--earth-light);margin-bottom:3rem;font-weight:400;}
.section-label-center{text-align:center;}
.text-block{margin-bottom:2rem;}
.text-block p{margin-bottom:1.2rem;color:var(--earth-mid);font-size:0.95rem;line-height:1.85;}
.text-block p:last-child{margin-bottom:0;}
.drop-cap p:first-child::first-letter{font-family:'Cormorant Garamond',serif;font-size:3.2rem;float:left;line-height:0.85;margin-right:0.08em;margin-top:0.05em;color:var(--terracotta);font-weight:400;}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.sticky-heading{position:sticky;top:6rem;}
.section-heading{font-size:clamp(2rem,4vw,3rem);font-weight:300;line-height:1.2;}
.section-heading em{font-style:italic;color:var(--terracotta-soft);}
.dark-section{background:var(--earth);color:var(--cream);padding:7rem 2rem;}
.dark-section .section-label{color:var(--gold);}
.dark-section .section-heading{color:var(--cream);}
.dark-section .section-heading em{color:var(--gold);}
.cream-section{background:var(--cream);position:relative;}
.cream-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--sand),transparent);}
.card{padding:2.5rem 2rem;border:1px solid var(--sand);transition:border-color 0.4s,transform 0.4s;background:var(--warm-white);}
.card:hover{border-color:var(--gold-soft);transform:translateY(-2px);}
.card-dark{border-color:rgba(201,168,124,0.15);background:transparent;}
.card-dark:hover{border-color:rgba(201,168,124,0.35);transform:translateY(-2px);}
.card h3{font-size:1.3rem;font-weight:300;margin-bottom:1rem;}
.card p{font-size:0.88rem;line-height:1.8;color:var(--earth-mid);}
.card-dark p{color:rgba(243,235,224,0.6);}
.card-num{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;color:var(--gold);opacity:0.4;margin-bottom:1.2rem;line-height:1;}
.quote-section{background:var(--cream);padding:7rem 2rem;text-align:center;position:relative;}
.quote-section::before,.quote-section::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--sand),transparent);}
.quote-section::before{top:0;}
.quote-section::after{bottom:0;}
.quote-mark{font-family:'Cormorant Garamond',serif;font-size:5rem;line-height:1;color:var(--gold);opacity:0.35;margin-bottom:-1rem;}
blockquote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:300;font-style:italic;line-height:1.6;color:var(--earth);max-width:600px;margin:0 auto;}
.highlight-item{padding:1.5rem 1.8rem;background:var(--cream);border-left:2px solid var(--gold-soft);font-size:0.92rem;color:var(--earth-mid);line-height:1.6;transition:border-color 0.3s;}
.highlight-item:hover{border-color:var(--terracotta-soft);}
.btn{display:inline-block;padding:1rem 3rem;font-family:'Karla',sans-serif;font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;font-weight:400;cursor:pointer;transition:all 0.4s cubic-bezier(0.16,1,0.3,1);border:none;}
.btn-primary{color:var(--earth);background:var(--gold);}
.btn-primary:hover{background:var(--cream);transform:translateY(-1px);box-shadow:0 8px 30px rgba(201,168,124,0.2);}
.btn-outline{color:var(--earth);background:transparent;border:1px solid var(--earth);}
.btn-outline:hover{background:var(--earth);color:var(--warm-white);}
.btn-outline-light{color:var(--cream);background:transparent;border:1px solid rgba(243,235,224,0.3);}
.btn-outline-light:hover{background:var(--cream);color:var(--earth);}
.faq-grid{max-width:700px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--sand);overflow:hidden;}
.faq-question{width:100%;background:none;border:none;font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--earth);padding:1.5rem 0;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color 0.3s;}
.faq-question:hover{color:var(--terracotta);}
.faq-icon{font-size:1.2rem;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);color:var(--earth-light);flex-shrink:0;margin-left:1rem;}
.faq-item.active .faq-icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(0.16,1,0.3,1),padding 0.5s;}
.faq-item.active .faq-answer{max-height:300px;padding-bottom:1.5rem;}
.faq-answer p{font-size:0.92rem;color:var(--earth-mid);line-height:1.8;}
.booking-cta{background:var(--earth);color:var(--cream);text-align:center;padding:7rem 2rem;position:relative;overflow:hidden;}
.booking-cta::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 50% 50%,rgba(201,168,124,0.06) 0%,transparent 60%);animation:blobFloat1 15s ease-in-out infinite;}
.booking-cta-content{position:relative;z-index:2;}
.booking-cta .section-label{color:var(--gold);}
.booking-cta-heading{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:300;margin-bottom:1.5rem;color:var(--cream);}
.booking-cta-heading em{font-style:italic;color:var(--gold);}
.booking-cta-sub{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic;color:rgba(243,235,224,0.6);max-width:450px;margin:0 auto 3rem;line-height:1.7;}
.booking-note{margin-top:1.5rem;font-size:0.78rem;color:rgba(243,235,224,0.35);}
.booking-note a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);}
footer{background:var(--earth);color:rgba(243,235,224,0.4);padding:3rem 2rem;border-top:1px solid rgba(201,168,124,0.1);}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:0.95rem;letter-spacing:0.1em;color:rgba(243,235,224,0.5);}
.footer-links{display:flex;gap:2rem;list-style:none;}
.footer-links a{font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;color:rgba(243,235,224,0.35);transition:color 0.3s;}
.footer-links a:hover{color:var(--gold);}
.reveal{opacity:0;transform:translateY(30px);transition:all 0.9s cubic-bezier(0.16,1,0.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}
.reveal-delay-2{transition-delay:0.2s;}
.reveal-delay-3{transition-delay:0.3s;}
.reveal-delay-4{transition-delay:0.4s;}
.form-group{margin-bottom:1.5rem;}
.form-group label{display:block;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--earth-light);margin-bottom:0.5rem;font-weight:400;}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.9rem 1rem;font-family:'Karla',sans-serif;font-size:0.95rem;font-weight:300;color:var(--earth);background:var(--warm-white);border:1px solid var(--sand);outline:none;transition:border-color 0.3s;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--terracotta-soft);}
.form-group textarea{min-height:140px;resize:vertical;}
.timeline{position:relative;padding-left:3rem;}
.timeline::before{content:'';position:absolute;left:0;top:0.5rem;bottom:0.5rem;width:1px;background:var(--sand);}
.timeline-item{position:relative;margin-bottom:3rem;}
.timeline-item:last-child{margin-bottom:0;}
.timeline-item::before{content:'';position:absolute;left:-3rem;top:0.5rem;width:7px;height:7px;border-radius:50%;background:var(--gold);}
.timeline-item h3{font-size:1.3rem;font-weight:300;margin-bottom:0.6rem;}
.timeline-item p{font-size:0.92rem;color:var(--earth-mid);line-height:1.8;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.article-card{display:block;text-decoration:none;color:inherit;transition:transform 0.4s;}
.article-card:hover{transform:translateY(-4px);}
.article-card-img{width:100%;aspect-ratio:3/2;background:var(--sand);margin-bottom:1.2rem;position:relative;overflow:hidden;}
.article-card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--earth-light);opacity:0.2;}
.article-card-tag{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--terracotta-soft);margin-bottom:0.5rem;}
.article-card h3{font-size:1.4rem;font-weight:300;margin-bottom:0.6rem;line-height:1.3;}
.article-card p{font-size:0.88rem;color:var(--earth-light);line-height:1.6;}
.location-card{padding:3rem;border:1px solid var(--sand);background:var(--warm-white);transition:border-color 0.4s;}
.location-card:hover{border-color:var(--gold-soft);}
.location-card h3{font-size:1.8rem;font-weight:300;margin-bottom:0.5rem;}
.location-card .location-detail{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--earth-light);margin-bottom:1.5rem;}
.location-card p{font-size:0.92rem;color:var(--earth-mid);line-height:1.8;}
.testimonial{padding:2.5rem;border:1px solid var(--sand);background:var(--warm-white);}
.testimonial-text{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic;line-height:1.7;color:var(--earth);margin-bottom:1.5rem;}
.testimonial-author{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--earth-light);}
.lang-switch{display:flex;align-items:center;gap:0.3rem;margin-left:1rem;}
.lang-btn{background:none;border:none;font-family:'Karla',sans-serif;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--earth-light);cursor:pointer;padding:0.3rem 0.5rem;transition:color 0.3s,opacity 0.3s;opacity:0.5;}
.lang-btn.active{opacity:1;color:var(--earth);font-weight:500;}
.lang-btn:hover{opacity:1;color:var(--terracotta);}
.lang-sep{color:var(--sand);font-size:0.65rem;user-select:none;}
[data-lang-en]{display:none;}
[data-lang-de]{display:block;}
span[data-lang-en]{display:none;}
span[data-lang-de]{display:inline;}
p[data-lang-en]{display:none;}
p[data-lang-de]{display:block;}
a[data-lang-en]{display:none;}
a[data-lang-de]{display:inline-block;}
div[data-lang-en]{display:none;}
div[data-lang-de]{display:block;}
option[data-lang-en]{display:none;}
option[data-lang-de]{display:block;}
html[lang="en"] [data-lang-en]{display:block;}
html[lang="en"] [data-lang-de]{display:none;}
html[lang="en"] span[data-lang-en]{display:inline;}
html[lang="en"] span[data-lang-de]{display:none;}
html[lang="en"] p[data-lang-en]{display:block;}
html[lang="en"] p[data-lang-de]{display:none;}
html[lang="en"] a[data-lang-en]{display:inline-block;}
html[lang="en"] a[data-lang-de]{display:none;}
html[lang="en"] div[data-lang-en]{display:block;}
html[lang="en"] div[data-lang-de]{display:none;}
html[lang="en"] option[data-lang-en]{display:block;}
html[lang="en"] option[data-lang-de]{display:none;}
.mobile-lang-switch{display:flex;gap:1rem;margin-top:1.5rem;}
.mobile-lang-switch .lang-btn{font-size:0.85rem;padding:0.5rem 1rem;}
@media (max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){nav{padding:1rem 1.2rem;}
.nav-links{display:none;}
.nav-toggle{display:flex;z-index:101;}
.nav-logo{font-size:1rem;}
section{padding:3rem 1.2rem;}
.hero{padding:1.5rem;}
.hero h1{font-size:clamp(2.5rem,10vw,4rem);}
.hero-sub{font-size:clamp(1rem,3vw,1.2rem);margin-bottom:2rem;}
.hero-pre{margin-bottom:1.5rem;font-size:0.65rem;}
.hero-locations{font-size:0.65rem;}
.hero-rings{transform:translate(-50%,-50%) scale(0.5);}
.hero-blob{opacity:0.5;}
.hero-breath-hint{bottom:1.5rem;font-size:0.52rem;}
.page-hero{min-height:45vh;padding:6rem 1.5rem 3rem;}
.page-hero h1{font-size:clamp(2rem,8vw,3rem);}
.page-hero .hero-rings{transform:translate(-50%,-50%) scale(0.4);}
.mobile-nav a{font-size:1.4rem;}
.split-grid{grid-template-columns:1fr;gap:2rem;}
.sticky-heading{position:static;}
.grid-2,.grid-3{grid-template-columns:1fr;}
.section-heading{font-size:clamp(1.6rem,6vw,2.2rem);}
.quote-mark{font-size:clamp(2.5rem,8vw,5rem);}
.quote-section{padding:4rem 1.5rem;}
blockquote{font-size:clamp(1.1rem,4vw,1.5rem);}
.drop-cap p:first-child::first-letter{font-size:2.2rem;}
.btn{padding:0.85rem 2rem;font-size:0.7rem;}
.dark-section{padding:4rem 1.5rem;}
.booking-cta{padding:4rem 1.5rem;}
.booking-cta-heading{font-size:clamp(1.8rem,6vw,2.5rem);}
.timeline{padding-left:2rem;}
.location-card{padding:2rem;}
.footer-inner{flex-direction:column;text-align:center;gap:1.5rem;}
.footer-links{flex-wrap:wrap;justify-content:center;gap:1rem;}
.form-group input,.form-group textarea,.form-group select{font-size:16px;}
.highlight-item{padding:1.2rem 1.4rem;}
.card{padding:2rem 1.5rem;}
.testimonial{padding:2rem;}
.testimonial-text{font-size:1.05rem;}
.container{padding:0;}
.container-narrow{padding:0;}
}
@media (max-width:380px){.hero h1{font-size:2.2rem;}
.hero-breath-hint{display:none;}
.hero-rings{transform:translate(-50%,-50%) scale(0.35);}
.btn{padding:0.75rem 1.5rem;letter-spacing:0.12em;width:100%;text-align:center;}
.booking-cta-heading{font-size:1.6rem;}
nav{padding:0.8rem 1rem;}
.nav-logo{font-size:0.9rem;}
}
