@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fira+Code:wght@400;500&family=Quicksand:wght@400;500;600&display=swap');
:root{--paper:#fdfbf8;--ink:#3b2418;--muted:#78685d;--copper:#ae623d;--gold:#b49b69;--line:#e5dcd2;--sage:#72785f;--serif:'Quicksand',sans-serif;--sans:'DM Sans',Arial,sans-serif;--mono:'Fira Code',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:2px solid var(--copper);outline-offset:5px}button{border:0;background:none}::selection{background:#e0bb96}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.header{max-width:1440px;margin:auto;padding:26px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;line-height:1.1}.brand svg{width:56px;fill:none;stroke:var(--copper);stroke-width:1.3}.brand>span{font:26px var(--serif)}.brand small{display:block;font:9px var(--sans);letter-spacing:2.6px;margin-top:8px;color:var(--muted)}nav{display:flex;gap:28px;font-size:12px}nav a:hover{color:var(--copper)}.nav-cta{font-size:12px;border:1px solid #baa98e;border-radius:3px;padding:10px 18px}.nav-cta span{margin-left:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:45px;padding-top:78px;padding-bottom:74px;align-items:center;min-height:665px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--copper);margin:0 0 23px}.dot{display:inline-block;width:6px;height:6px;background:var(--sage);border-radius:50%;margin:0 9px 1px 0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.17;margin:0}h1{font-size:clamp(42px,4.25vw,64px);letter-spacing:-2.2px}em{font-weight:400;color:var(--copper)}.lead{font-size:16px;line-height:1.85;max-width:355px;margin-top:27px;margin-bottom:8px;color:#685b4f}.hero-place{font-size:12px;color:var(--muted);margin:0}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 22px;color:#fffaf1;background:var(--copper);border:1px solid var(--copper);font-size:12px;border-radius:3px;transition:background .2s}.button:hover{background:#895033}.text-link{font-size:12px;display:inline-flex;gap:25px;align-items:center;padding:0 0 4px;border-bottom:1px solid #cbb79c}.hero-note{display:flex;align-items:center;gap:13px;font-size:10px;color:var(--muted);margin-top:38px}.hero-note>span{font-size:30px;color:var(--gold)}.hero-note p{line-height:1.7;margin:0}.hero-note strong{font-weight:400}.hero-visual{height:466px;position:relative;padding:16px 14px 0}.dome-photo{position:relative;height:423px;border-radius:210px 210px 7px 7px;background-image:linear-gradient(#72432008,#50351b20),url('/assets/kuppeltempel.jpg');background-size:cover,235% auto;background-position:center,left top;box-shadow:0 10px 30px #59391c0d}.orbit{position:absolute;border:1px solid #baa47366;border-radius:50%;pointer-events:none}.orbit-one{inset:-9px 3px 0;transform:rotate(-11deg)}.orbit-two{inset:20px -15px -10px 35px;transform:rotate(14deg)}.photo-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;margin-top:19px;color:var(--muted)}.seal{position:absolute;right:-16px;bottom:54px;border-radius:50%;width:103px;height:103px;background:#f7f1e4;border:1px solid #cab897;outline:6px solid #f7f1e4;font-size:7px;letter-spacing:1.8px;text-align:center;padding-top:17px;line-height:1.4;transform:rotate(12deg)}.seal span{font-size:30px;line-height:1.1;color:var(--copper)}.values-strip{display:flex;align-items:center;justify-content:center;gap:55px;background:#eee7db;border-top:1px solid #e0d6c5;border-bottom:1px solid #e0d6c5;padding:22px;font-family:var(--serif);font-size:20px}.values-strip i{font-size:18px;color:var(--gold)}h2{font-size:42px;letter-spacing:-1.2px}.intro{padding-top:95px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1.12fr;gap:95px;position:relative}.intro-text{font-size:14px;color:#716558}.intro-text p:first-child{margin-top:0}.intro-text p{margin-bottom:21px}.intro-star{position:absolute;bottom:65px;left:27%;font-size:65px;color:#d4bf94}.offer-section{background:#f0eade;border-top:1px solid #e7ddcd;border-bottom:1px solid #e7ddcd;padding:73px 0 78px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:35px}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.offers article{background:#f8f5ed;border:1px solid #e4d9c7;padding:27px 29px 30px;border-radius:100px 100px 4px 4px;transition:transform .25s}.offers article:hover{transform:translateY(-5px)}.offering-icon{font-family:Georgia,serif;font-size:58px;line-height:1.5;text-align:center;color:#b39b74;margin-bottom:19px}.card-index{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin:15px 0}.offers h3{font-size:31px}.offers p{font-size:13px;color:var(--muted);min-height:70px;line-height:1.85}.offers .text-link{margin-top:16px}.events-section{padding-top:95px;padding-bottom:90px}.view-toggle{border:1px solid var(--line);border-radius:4px;padding:4px;display:flex;font-size:11px}.view-toggle button{padding:8px 12px}.view-toggle button.active{background:#e9dfcf}.event-controls{display:flex;align-items:center;justify-content:space-between;margin:37px 0 20px}.filters{display:flex;gap:10px}.filters button{border:1px solid var(--line);border-radius:30px;font-size:11px;padding:6px 17px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.small-note{font-size:10px;color:var(--muted)}.demo-note{font-size:11px;color:#89755c;background:#f0eadf;border-left:2px solid var(--gold);padding:9px 13px;margin-bottom:18px}.event-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:27px;padding:26px 0;border-top:1px solid var(--line)}.date-box{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line);padding-right:22px;line-height:1.2}.date-box b{font:35px var(--serif)}.date-box span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;margin-top:5px}.event-tag{display:inline-block;font-size:8px;letter-spacing:1.3px;text-transform:uppercase;color:var(--sage);margin-right:10px}.event-row h3{font-size:24px;margin:6px 0 9px}.event-meta{font-size:11px;color:var(--muted);display:flex;gap:16px}.event-row .text-link{border:1px solid var(--line);padding:9px 15px;border-radius:3px}.event-bottom{border-top:1px solid var(--line);display:flex;justify-content:center;gap:22px;padding-top:27px;font-size:11px;color:var(--muted)}.about-section{background:#ede5d8;padding:78px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.hosts-photo{height:390px;background:url('/assets/kuppeltempel.jpg');background-position:right 15%;background-size:auto 127%;border-radius:4px 130px 4px 4px;position:relative}.hosts-photo>span{position:absolute;bottom:-14px;left:22px;background:var(--paper);border:1px solid var(--line);font-size:8px;letter-spacing:1.8px;padding:11px 19px}.about-grid p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:24px}.signature{font-family:var(--serif);font-style:italic;font-size:29px;color:var(--copper);margin:22px 0}.closing{text-align:center;padding-top:89px;padding-bottom:90px;position:relative;overflow:hidden}.closing p:not(.eyebrow){font-size:13px;color:var(--muted);margin:20px 0 26px}.closing-geometry{position:absolute;right:10px;top:0;font-size:360px;line-height:1;color:#ded2bd44;z-index:-1}.footer{border-top:1px solid var(--line);padding-top:34px;padding-bottom:35px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.footer>div{display:flex;flex-direction:column;gap:4px}.footer button{text-align:left;padding:0;font-size:10px}.footer-brand{font:24px var(--serif);color:var(--ink)}.footer-brand span{display:block;font:10px var(--sans);margin-top:8px;color:var(--muted)}dialog{width:min(600px,calc(100% - 28px));border:1px solid var(--line);background:var(--paper);border-radius:6px;color:var(--ink);padding:42px;max-height:90vh;overflow:auto;box-shadow:0 30px 100px #382c2633}dialog::backdrop{background:#251b15a1;backdrop-filter:blur(4px)}dialog h2{font-size:32px}dialog p{font-size:13px}dialog .dialog-close{position:absolute;top:8px;right:16px;font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;color:var(--muted);margin-top:16px}input,textarea,select{width:100%;padding:10px 12px;border:1px solid #cfc2af;border-radius:3px;background:#fffcf7;color:var(--ink);margin-top:5px;font-size:13px}textarea{min-height:100px}input[type=checkbox]{width:auto;margin-right:8px}.consent{display:flex;align-items:baseline;font-size:11px}.form-error{color:#a13721;font-size:12px;min-height:20px}.form-success{background:#e6eddf;padding:20px;border-radius:4px}.admin-dialog{width:min(970px,calc(100% - 24px))}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.stats>div{padding:16px;background:#eee6d9;font-size:11px}.stats b{display:block;font:32px var(--serif)}.admin-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding:15px 0;font-size:13px}.admin-actions{display:flex;gap:12px;font-size:11px}.admin-toolbar{display:flex;justify-content:space-between;gap:15px;margin:20px 0}.admin-note{font-size:12px;background:#eee5d7;padding:12px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.calendar-head h3{font-size:24px;text-transform:capitalize}.calendar-head button{border:1px solid var(--line);padding:4px 15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.calendar-weekday{background:#ece4d7;padding:8px;font-size:10px;text-align:center}.calendar-day{background:var(--paper);min-height:100px;padding:7px;font-size:11px}.calendar-day.muted{background:#f0ece4;color:#b8b0a5}.calendar-day button{display:block;font-size:9px;text-align:left;background:#e8d9c6;border-radius:2px;width:100%;padding:4px;margin-top:6px;line-height:1.4}.calendar-day.today>span{background:var(--copper);color:white;border-radius:50%;padding:2px 5px}.empty{padding:40px 20px;text-align:center;border:1px dashed var(--line);color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 25px;border-radius:4px;z-index:100;font-size:12px;display:none}.pill{font-size:9px;background:#e5e9dc;padding:3px 8px;border-radius:20px}.participant{font-size:12px;border-bottom:1px solid var(--line);padding:9px 0}.hidden{display:none!important}@media(min-width:1500px){.hero{padding-top:95px;padding-bottom:100px}}@media(max-width:1000px){.header{padding:23px 28px}nav{gap:16px}.wrap{padding-left:30px;padding-right:30px}.hero{gap:30px}.hero-visual{height:420px}.dome-photo{height:380px;background-size:cover,260% auto}.values-strip{gap:30px}.intro,.about-grid{gap:50px}.offers article{padding:25px 23px}.hero h1{font-size:49px}.hero .actions{gap:16px}.hero .text-link{gap:12px}}@media(max-width:760px){.header{padding:18px 22px;flex-wrap:wrap;gap:0}.brand>span{font-size:23px}.brand svg{width:45px}.nav-cta{display:none}.menu-toggle{display:block}nav{display:none;order:3;width:100%;padding-top:22px;justify-content:space-between;font-size:11px}nav.open{display:flex}.wrap{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:48px;gap:40px}.hero h1{font-size:50px}.hero .eyebrow{font-size:8px}.lead{max-width:340px}.hero-note{margin-top:25px}.hero-visual{height:425px;max-width:430px;width:100%;margin:auto;padding-left:5px;padding-right:5px}.dome-photo{height:390px;background-size:cover,235% auto}.seal{right:-4px}.values-strip{gap:19px;font-size:17px;overflow:hidden;white-space:nowrap}.values-strip span:nth-last-child(-n+3),.values-strip i:nth-last-child(-n+4){display:none}.intro{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:60px}.intro-star{display:none}h2{font-size:36px}.section-heading{align-items:flex-start;flex-direction:column;gap:25px}.offers{grid-template-columns:1fr}.offers article{border-radius:60px 6px 6px 6px;padding:25px 28px;position:relative}.offering-icon{float:right;font-size:48px;margin:0}.offers p{min-height:0;max-width:300px}.offers .text-link{margin-top:8px}.offer-section{padding:55px 0}.events-section{padding-top:60px;padding-bottom:60px}.event-controls{align-items:flex-start;flex-direction:column;gap:8px}.filters{gap:6px}.filters button{padding:6px 12px}.event-row{grid-template-columns:55px 1fr;gap:16px}.date-box{padding-right:13px}.event-row .text-link{grid-column:2;justify-self:start}.event-row h3{font-size:22px}.event-meta{gap:9px;flex-wrap:wrap}.event-bottom{flex-direction:column;align-items:center;gap:10px}.about-grid{grid-template-columns:1fr;gap:50px}.hosts-photo{height:370px;max-width:450px}.about-section{padding:55px 0}.closing{padding-top:65px;padding-bottom:65px}.footer{flex-wrap:wrap;gap:28px}.footer-brand{width:100%}.calendar-day{min-height:70px;padding:4px}.calendar-day button{font-size:8px;padding:2px}.calendar-head h3{font-size:20px}dialog{padding:35px 23px}.form-grid{grid-template-columns:1fr}.stats{gap:6px}.stats>div{padding:10px}.admin-row{align-items:flex-start}.admin-actions{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}



/* Photos and typography: a quiet rhythm of people, room and garden. */
.symbol-definitions{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:fixed;top:-70px;left:20px;z-index:200;background:var(--ink);color:white;padding:10px 20px}
.skip-link:focus{top:10px}
.line-symbol{fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;width:64px;height:64px;color:var(--copper)}
h1,h2,h3{font-weight:500}
h1{font-size:clamp(45px,4.5vw,64px);letter-spacing:-2.3px;line-height:1.15}
h2{font-size:40px;letter-spacing:-1.4px;line-height:1.25}
em{font-style:normal;font-weight:500}
.brand>span{font-weight:500;letter-spacing:-.8px}
.brand small{letter-spacing:2px}
.brand-mark{display:block;width:64px;height:auto;flex-shrink:0}
.eyebrow,.card-index,.photo-label,.panel-caption,.date-box span,.event-tag{font-family:var(--mono);font-weight:400}
.eyebrow{font-size:9px;letter-spacing:1.6px}
.hero{padding-top:60px;padding-bottom:62px;gap:65px;overflow:hidden}
.hero-visual{height:562px;padding:10px 12px 0}
.hero-photo{height:520px;border-radius:240px 240px 5px 5px;overflow:hidden;position:relative;background:#e4d8ca}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.hero-photo::after,.interior-photo::after,.garden-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:#b86b3310;mix-blend-mode:multiply}
.orbit-one{inset:-9px 4px 5px}
.orbit-two{inset:15px -8px -5px 28px}
.seal{background:#fdfbf5;outline-color:#fdfbf5;bottom:51px;right:-15px;display:flex;flex-direction:column;align-items:center;gap:1px;padding-top:18px}
.seal .line-symbol{height:34px;width:34px}
.hero-note{margin-top:37px;gap:14px}
.hero-note .line-symbol{width:36px;height:36px;flex-shrink:0;color:var(--gold)}
.lead{font-size:17px;line-height:1.75;margin-top:27px}
.hero-place{font-size:12px}
.button{background:var(--ink);border-color:var(--ink);padding:15px 23px;transition:background .35s,border-color .35s}
.button:hover{background:#6c412c;border-color:#6c412c}
.values-strip{gap:55px;background:#f6f1e9;border-color:#e9e0d5;font-size:18px;padding:20px;font-weight:500}
.values-strip i{color:var(--copper);font-size:15px}
.intro{padding-top:94px;padding-bottom:84px;gap:110px;align-items:start}
.intro-text{font-size:15px;line-height:1.95;color:var(--muted)}
.intro-text p:last-of-type{margin-bottom:25px}
.sanctuary{display:grid;grid-template-columns:1fr .96fr;align-items:center;padding-bottom:100px}
.interior-photo{position:relative;height:575px;overflow:hidden;border-radius:3px 3px 100px 3px;background:#b78967}
.interior-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:30% center}
.sanctuary-panel{background:var(--paper);position:relative;margin-left:-58px;padding:50px 12px 45px 66px;isolation:isolate}
.sanctuary-panel::before{content:'';position:absolute;inset:-12px 0 -12px -12px;background:var(--paper);z-index:-1;clip-path:polygon(3% 0,99% 1%,100% 98%,2% 100%,3% 96%,0 91%,2% 83%,1% 76%,3% 68%,1% 61%,2% 54%,0 46%,2% 37%,1% 29%,3% 21%,1% 13%)}
.sanctuary-panel>.line-symbol{height:52px;width:52px;margin-bottom:22px;color:var(--gold)}
.sanctuary-panel .eyebrow{font-size:8px;letter-spacing:1.3px}
.sanctuary-panel h2{font-size:35px}
.sanctuary-panel p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted);max-width:340px;margin:23px 0 27px}
.panel-caption{display:block;font-size:8px;line-height:1.8;letter-spacing:.2px;color:var(--muted);margin-top:16px}
.offer-section{background:#f5f0e8;border-color:#eae0d4;padding:74px 0 80px}
.offers{gap:20px}
.offers article{background:var(--paper);border-color:var(--line);border-radius:3px;padding:31px 29px 30px;transition:border-color .35s}
.offers article:hover{transform:none;border-color:#ba9376}
.offering-icon{display:block;margin:0 0 29px;width:58px;height:58px;color:var(--copper)}
.card-index{font-size:8px;letter-spacing:.8px;margin:0 0 17px}
.offers h3{font-size:26px;letter-spacing:-.8px}
.offers p{font-size:13px;line-height:1.9;min-height:80px}
.section-heading>p{font-size:12px}
.date-box b{font-weight:500}
.date-box span{font-size:9px;letter-spacing:.4px}
.event-meta{font-family:var(--mono);font-size:10px;gap:14px}
.event-row h3{font-size:23px}
.view-toggle button.active{background:#eee3d6}
.calendar-day{background:var(--paper)}
.calendar-day.muted{background:#f5f1eb}
.calendar-day button{background:#eee0d3;overflow-wrap:anywhere}
.garden-section{background:linear-gradient(180deg,var(--paper),#f8f3ec 50%,var(--paper));padding:48px 0 54px}
.garden-photo{position:relative;aspect-ratio:1.85;overflow:hidden;background:#cad0ba;border-radius:74px 4px 74px 4px}
.garden-photo img{position:absolute;display:block;width:135%;max-width:none;height:auto;bottom:-25%;left:-17.5%}
.garden-caption{display:flex;justify-content:space-between;gap:15px;padding:18px 13px 0;font-size:9px;color:var(--muted)}
.garden-caption .eyebrow{margin:0;font-size:8px;letter-spacing:1px}
.about-copy{text-align:left;max-width:430px;padding:0}
.about-copy p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted)}
.about-copy h2{margin-bottom:25px}
.signature{font-family:var(--serif);font-style:normal;font-size:24px;font-weight:500;color:var(--copper);margin:27px 0 0}
.contact-section{padding-top:70px;padding-bottom:85px;display:grid;grid-template-columns:1fr .92fr;column-gap:110px;row-gap:45px;align-items:center}
.contact-section>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:320px;margin-top:24px}
.contact-details>a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:22px 0;border-bottom:1px solid var(--line)}
.contact-details>a>span:first-child{font:9px var(--mono);color:var(--copper);letter-spacing:1.5px;grid-column:1/-1}
.contact-details strong{font-size:19px;font-weight:400}
.contact-details>a>span:last-child{font-size:22px;color:var(--copper)}
.contact-details p{font-size:12px;color:var(--ink);margin-top:22px;line-height:1.85}
.contact-details p span{color:var(--muted);font-size:11px}
.footer{font-size:11px;padding-top:33px;padding-bottom:35px}
.footer-brand{font-weight:500;letter-spacing:-.5px}
.footer-brand span{letter-spacing:0}
dialog h2{font-size:30px}
@media(min-width:1500px){.hero{padding-top:75px;padding-bottom:80px}}
@media(max-width:1100px){.hero{gap:35px}.hero-visual{height:512px}.hero-photo{height:470px}.intro,.contact-section{gap:65px}.sanctuary-panel{padding-left:40px;margin-left:-35px}.sanctuary-panel h2{font-size:30px}.offers article{padding:27px 23px}.offers h3{font-size:23px}}
@media(max-width:760px){
  .header{padding:20px 23px}.brand>span{font-size:24px}.brand small{font-size:8px}
  .brand-mark{width:52px}
  nav{font-size:12px;padding:25px 0 5px}.menu-toggle{font-size:20px;min-width:44px;min-height:44px;padding:4px}
  .hero{padding-top:45px;padding-bottom:44px;gap:42px}.hero h1{font-size:clamp(40px,10.6vw,58px);letter-spacing:-1.8px}
  .hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero .actions{gap:22px}.hero .button{padding:14px 18px;gap:18px}.hero .text-link{font-size:11px}
  .hero-visual{height:510px;max-width:410px;padding-left:5px;padding-right:5px}.hero-photo{height:470px}.hero-note{margin-top:25px}.hero-note p{font-size:10px}
  .seal{right:-4px;bottom:52px;width:90px;height:90px;padding-top:12px;font-size:6px}.photo-label{font-size:7px;letter-spacing:.8px}
  .values-strip{gap:22px;padding:18px 14px;font-size:16px}.values-strip i{font-size:12px}.values-strip span:nth-last-child(-n+3),.values-strip i:nth-last-child(-n+4){display:inline}
  h2{font-size:33px;letter-spacing:-1px}.intro{gap:24px;padding-top:57px;padding-bottom:50px}.intro-text{font-size:14px}
  .sanctuary{grid-template-columns:1fr;padding-bottom:50px}.interior-photo{height:480px;border-radius:3px 3px 65px 3px}
  .sanctuary-panel{margin:-45px 0 0 18px;padding:36px 15px 5px 23px}.sanctuary-panel::before{inset:-9px -5px 0 -10px}.sanctuary-panel>.line-symbol{width:44px;height:44px;margin-bottom:22px}
  .sanctuary-panel h2{font-size:31px}.sanctuary-panel p:not(.eyebrow){font-size:14px;margin:20px 0 24px}
  .offer-section{padding:52px 0}.section-heading{gap:20px}.offers{gap:15px}.offers article{padding:26px}.offering-icon{float:none;width:47px;height:47px;margin:0 0 22px}
  .offers h3{font-size:28px}.offers p{min-height:0;max-width:none}.card-index{margin-top:0}
  .event-row h3{font-size:22px}.event-meta{font-size:9px}.event-controls{margin-top:20px}.filters button{min-height:36px}.calendar-day{min-height:84px}.calendar-head button{min-height:40px;min-width:44px}
  .garden-section{padding:26px 0 34px}.garden-photo{aspect-ratio:1.7;border-radius:52px 3px 52px 3px}.garden-photo img{width:145%;left:-22.5%;bottom:-25%}
  .garden-caption{flex-direction:column;gap:4px;font-size:9px;padding-top:16px}.garden-caption .eyebrow{font-size:7px;letter-spacing:.5px}
  .about-copy{padding:0}.about-copy p:not(.eyebrow){font-size:14px}
  .contact-section{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px;gap:15px}.contact-section h2{font-size:32px}.contact-details>a{padding:20px 0}.contact-details strong{font-size:19px}
  .footer>div{gap:9px}.footer button{min-height:30px}.footer-brand{font-size:25px}
}
@media(max-width:370px){.hero .actions{gap:16px;flex-wrap:wrap}.hero-visual{height:450px}.hero-photo{height:410px}.values-strip{gap:15px}.hero h1{font-size:39px}.filters button{padding:6px 10px}.sanctuary-panel h2{font-size:27px}}

/* Small accents echo the dome, the round window, breath and fire. */
.hero-note .accent-love,.accent-love{color:#b77f75}
.sanctuary-panel>.accent-fire{color:#b2874b;height:59px;width:59px}
.harmony-detail{display:flex;align-items:center;gap:21px;margin-top:25px;max-width:205px;color:var(--copper)}
.harmony-detail img{display:block;width:75px;height:auto;flex-shrink:0}
.harmony-detail span{height:1px;flex:1;background:linear-gradient(90deg,#b6784959,transparent)}
.offer-section{position:relative;isolation:isolate;overflow:hidden}
.offer-section>.wrap{position:relative}
.section-resonance{position:absolute;right:-25px;top:-85px;width:315px;height:315px;color:#b58266;opacity:.13;stroke-width:.45;pointer-events:none}
.offers article{position:relative;overflow:hidden}
.offers article::after{content:'';position:absolute;width:48px;height:1px;background:linear-gradient(90deg,var(--copper),transparent);top:0;left:29px;opacity:.5}
.garden-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:66px}
.garden-figure{margin:0;min-width:0}
.garden-frame{padding:11px;border:1px solid #c6aa8580;border-radius:87px 6px 87px 6px;background:#fdfbf899;position:relative}
.garden-frame::after{content:'';position:absolute;inset:18px -9px -9px 18px;border:1px solid #d9c3a347;border-radius:80px 4px 80px 4px;pointer-events:none;z-index:-1}
.about-copy>.accent-sacred{width:43px;height:43px;margin-bottom:21px;color:var(--ink);opacity:.72}
.location-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.85fr);border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#f5f0e8;isolation:isolate}
.location-copy{padding:33px 32px;position:relative}
.location-copy::after{content:'';position:absolute;width:160px;height:160px;border:1px solid #b7876421;border-radius:50%;top:-100px;right:-50px;pointer-events:none;z-index:-1;box-shadow:0 0 0 20px #b7876408,0 0 0 40px #b7876406}
.location-copy h3{font-size:25px;line-height:1.4;letter-spacing:-.7px}
.location-copy p:not(.eyebrow){font-size:12px;color:var(--muted);margin:14px 0}
.location-copy .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:14px}
.location-copy p.coordinates{font-family:var(--mono);font-size:10px;line-height:1.8;color:#9b7c62;margin-bottom:22px}
.location-copy .text-link{font-size:11px;gap:14px}
.directions-link{display:block;font-size:11px;margin-top:16px;color:var(--copper);width:fit-content}
.directions-link:hover{text-decoration:underline;text-underline-offset:4px}
.location-map{border:0;display:block;width:100%;height:100%;min-height:360px;background:#ede8df}
@media(max-width:1100px){.garden-layout{gap:40px}.garden-caption{flex-direction:column;gap:4px}.location-copy{padding:28px 24px}.location-copy h3{font-size:23px}.contact-section{row-gap:38px}}
@media(max-width:760px){
  .harmony-detail{margin-top:20px;max-width:175px}.harmony-detail img{width:62px}
  .section-resonance{right:-110px;top:-68px;width:240px;height:240px;opacity:.1}
  .garden-layout{grid-template-columns:1fr;gap:36px}.garden-frame{padding:8px;border-radius:62px 5px 62px 5px}.garden-caption{padding-left:9px}
  .about-copy{max-width:none}.about-copy>.accent-sacred{margin-bottom:16px}.about-copy .signature{margin-top:20px}
  .location-card{grid-template-columns:1fr;margin-top:21px}.location-copy{padding:25px}.location-copy h3{font-size:27px}.location-map{height:300px;min-height:300px}
  .location-copy p.coordinates{font-size:10px}.location-copy .text-link{font-size:12px}.directions-link{font-size:12px}
}

/* The garden holds the room: slow light, still typography, no moving layout. */
.hero,.garden-section{position:relative;isolation:isolate;overflow:hidden}
.hero::before,.garden-section::before{content:'';position:absolute;inset:-7%;z-index:-1;pointer-events:none;opacity:.5;background:radial-gradient(ellipse at 18% 38%,#c4cfb32b,transparent 48%),radial-gradient(ellipse at 73% 57%,#e7bd7630,transparent 46%),radial-gradient(ellipse at 55% 10%,#a8b59b1c,transparent 38%);transform-origin:50% 60%}
.garden-section::before{background:radial-gradient(ellipse at 15% 50%,#aab99538,transparent 48%),radial-gradient(ellipse at 80% 65%,#e6c99630,transparent 50%)}
.interior-photo::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse var(--hearth-width,140px) var(--hearth-height,160px) at var(--hearth-x,57%) var(--hearth-y,56%),#ffc16d88 0%,#f58b395c 24%,#c74c2738 52%,transparent 100%);mix-blend-mode:screen;opacity:.72;transform-origin:var(--hearth-x,57%) var(--hearth-y,56%)}
.motion-enabled .hero::before,.motion-enabled .garden-section::before{animation:garden-light 26s ease-in-out infinite alternate;animation-play-state:paused}
.motion-enabled .garden-section::before{animation-duration:32s;animation-delay:-11s}
.motion-enabled .interior-photo::before{animation:hearth-warmth 6.8s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .motion-in-view::before{animation-play-state:running}
.motion-hidden .hero::before,.motion-hidden .garden-section::before,.motion-hidden .interior-photo::before{animation-play-state:paused}
.quiet-reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.6,.3,1)}
.motion-enabled .reveal-pending{opacity:.65;transform:translateY(9px)}

/* Ritual objects live in the margins; the words and photographs stay in front. */
.atmosphere{position:absolute;display:block;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;user-select:none;color:#9d7256}
.atmosphere-dome{width:660px;height:434px;left:-94px;bottom:-79px;z-index:-1;stroke-width:.25;opacity:.1}
.atmosphere-eye{width:142px;height:89px;right:53px;top:4px;opacity:.17;stroke-width:1}
.atmosphere-smoke{width:108px;height:195px;right:5px;top:-53px;opacity:.4;stroke-width:1.1;color:#9a7960}
.smoke-wisp{transform-box:view-box;transform-origin:50% 94%}
.motion-enabled .smoke-wisp{animation:smoke-drift 8s ease-in-out infinite alternate;animation-play-state:paused}
.motion-enabled .smoke-wisp:nth-child(2){animation-duration:11s;animation-delay:-5s}
.motion-enabled .smoke-wisp:nth-child(3){animation-duration:13s;animation-delay:-7s;animation-direction:alternate-reverse}
.motion-enabled .atmosphere-smoke.motion-in-view .smoke-wisp{animation-play-state:running}
.motion-enabled.motion-hidden .atmosphere-smoke .smoke-wisp{animation-play-state:paused}
@keyframes smoke-drift{from{transform:translate(-1px,3px) skewX(-1.3deg);opacity:.7}to{transform:translate(2px,-4px) skewX(1.3deg);opacity:1}}
.atmosphere-cacao{width:124px;height:124px;right:8px;top:1px;opacity:.19;stroke-width:1;color:#a66f4d}
.atmosphere-meditation{width:138px;height:123px;right:3px;top:2px;opacity:.18;stroke-width:1;color:#7d876d}
.atmosphere-music{width:135px;height:125px;right:7px;top:1px;opacity:.19;stroke-width:1;color:#a27d50}
.motion-enabled .atmosphere-dome{animation:dome-presence 24s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .motion-in-view>.atmosphere-dome{animation-play-state:running}
.motion-enabled.motion-hidden .atmosphere-dome{animation-play-state:paused}
@keyframes dome-presence{0%,100%{opacity:.1}48%,62%{opacity:.01}}
@media(max-width:1100px){.atmosphere-dome{width:555px;height:365px;left:-106px;bottom:-47px}.atmosphere-eye{right:30px}.atmosphere-smoke{right:0;top:-47px;width:92px;height:166px}.atmosphere-cacao{width:108px;height:108px;right:0;top:7px}.atmosphere-meditation{width:118px;height:106px;right:0;top:7px}}
@media(max-width:760px){
  .atmosphere-dome{width:460px;height:302px;left:-100px;top:195px;bottom:auto;opacity:.08}
  .atmosphere-eye{width:105px;height:66px;right:24px;top:114px;opacity:.14}
  .atmosphere-smoke{width:84px;height:151px;right:6px;top:-5px;opacity:.34}
  .atmosphere-cacao{width:115px;height:115px;right:17px;top:-1px;opacity:.17}
  .atmosphere-meditation{width:129px;height:115px;right:12px;top:-1px;opacity:.16}
}
@media(min-width:761px) and (max-width:1100px){.atmosphere-music{width:115px;height:106px;right:0;top:7px}}
@media(max-width:760px){.atmosphere-music{width:124px;height:115px;right:17px;top:-1px;opacity:.17}}
@media(max-width:370px){.atmosphere-eye{width:88px;height:55px;top:169px}}
@keyframes garden-light{from{opacity:.4;transform:translate3d(-1%,0,0) scale(1)}to{opacity:.85;transform:translate3d(1.5%,1%,0) scale(1.035)}}
@keyframes hearth-warmth{0%,100%{opacity:.58;transform:scale(.97)}18%{opacity:.88;transform:translateY(-2px) scale(1.035)}36%{opacity:.67;transform:translateX(1px) scale(1)}59%{opacity:1;transform:translate(-1px,-3px) scale(1.055)}76%{opacity:.72;transform:translateY(-1px) scale(1.015)}89%{opacity:.85;transform:translateX(1px) scale(1.025)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero::before,.garden-section::before,.interior-photo::before,.atmosphere-dome,.smoke-wisp{animation:none!important}
  .quiet-reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* On smaller screens the room photograph stands whole, without a paper overlap. */
@media(max-width:1100px){
  .sanctuary{grid-template-columns:1fr 1fr;gap:32px;align-items:center}
  .interior-photo{height:auto;aspect-ratio:3/4;border-radius:56px 6px 56px 6px;isolation:isolate}
  .sanctuary-panel{margin:0;padding:16px 0;background:transparent}
  .sanctuary-panel::before{content:none}
}
@media(max-width:760px){
  .sanctuary{grid-template-columns:1fr;gap:30px}
  .interior-photo{width:100%;max-width:440px;justify-self:center;border-radius:44px 5px 44px 5px}
  .sanctuary-panel{width:100%;max-width:440px;justify-self:center;padding:0}
  .sanctuary-panel p:not(.eyebrow){max-width:none}
}

.arrival-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}
