@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/font-0.woff) format('woff');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/font-1.woff) format('woff');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/font-2.woff) format('woff');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/font-3.woff) format('woff');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/font-4.woff) format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/font-5.woff) format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/font-6.woff) format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/font-7.woff) format('woff');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/font-8.woff) format('woff');
}

:root{--paper:#f6f3eb;--ink:#242920;--olive:#667148;--olive-dark:#4d5935;--line:#d6d7c9;--sage:#e7e9de;--forest:#29372e;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(24px,4.1vw,72px)}
*{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:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,a,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--olive)}img,video{display:block;max-width:100%}button{border:0;background:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em}h1{font-size:clamp(70px,7.5vw,112px)}h2{font-size:clamp(48px,5.2vw,80px)}h3{font-size:36px}em{font-weight:400;color:var(--olive)}svg{display:block;flex:none}button svg,a svg{width:21px;height:21px}section{position:relative}.wrap{max-width:1560px;margin-inline:auto;padding-inline:var(--gutter)}.muted{color:#737761}.small{font-size:13px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:24px;z-index:200;background:var(--paper);padding:12px}.skip:focus{top:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:14px 27px;border-radius:999px;background:var(--olive);color:#fff;font-size:14px;font-weight:500;line-height:1.35;transition:background .3s var(--ease),transform .5s var(--ease)}.button:hover{background:var(--olive-dark);transform:translateY(-2px)}.button.outline{background:transparent;border:1px solid var(--olive);color:var(--olive)}.button.outline:hover{background:var(--sage)}.text-link{display:inline-flex;align-items:center;gap:15px;padding-block:7px;border-bottom:1px solid currentColor;font-size:14px;line-height:1.5}.round-button{width:48px;height:48px;border:1px solid var(--olive);color:var(--olive);border-radius:50%;display:inline-grid;place-items:center;transition:background .3s var(--ease)}.round-button:hover{background:var(--sage)}
.site-header{position:absolute;inset:0 0 auto;z-index:20;height:108px}.header-inner{height:100%;display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;white-space:nowrap;font-family:var(--serif);font-size:31px;letter-spacing:-.035em;line-height:1}.brand .brand-leaf{width:40px;height:45px;color:var(--olive)}.desktop-nav{display:flex;gap:32px;margin-inline:auto;font-size:14px}.desktop-nav a{padding:10px 0;border-bottom:1px solid transparent;transition:border-color .3s var(--ease)}.desktop-nav a:hover{border-color:var(--olive)}.header-tools{display:flex;align-items:center;gap:20px}.language{display:flex;gap:5px;font-size:13px}.language button{padding:6px 2px;color:#888d7c;min-height:40px}.language button[aria-pressed=true]{color:var(--ink);font-weight:700}.cart-button{position:relative;padding:10px}.cart-count{position:absolute;right:1px;top:0;background:var(--olive);color:white;border-radius:50%;font-size:10px;min-width:17px;height:17px;line-height:17px}.menu-button{display:none;padding:10px}.header-action{min-height:49px;padding-inline:23px;font-size:13px}
.hero{min-height:760px;height:min(920px,100svh);padding-top:150px;display:flex;align-items:center;overflow:hidden}.hero-art{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center;z-index:0;pointer-events:none}.hero-content{position:relative;z-index:1;width:53%;max-width:760px;padding-bottom:112px}.hero h1{margin-bottom:33px}.hero h1 em{white-space:nowrap}.hero-copy{max-width:435px;font-size:17px;line-height:1.7;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-actions .button{min-height:59px;gap:28px;padding-inline:28px}.hero-bottom{position:absolute;z-index:2;bottom:26px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:23px;border-top:1px solid #aeb2a0;padding-top:19px;font-size:12px}.hero-bottom .round-button{width:43px;height:43px}.hero-bottom .hero-location{margin-left:auto}.hero-steps{display:flex;align-items:center;gap:8px}.hero-steps span{width:21px;height:2px;background:#bbc0ae}.hero-steps span:first-child{background:var(--olive)}
.intro-section{padding-block:110px 80px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px}.intro-section p{max-width:460px;font-size:18px;color:#69715e}.ritual-scroll{height:550svh;background:var(--paper)}.ritual-stage{position:sticky;top:0;height:100svh;min-height:650px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.ritual-media{grid-column:2;grid-row:1;position:relative;overflow:hidden;background:#bb8751}.ritual-image,.ritual-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .7s var(--ease);pointer-events:none}.ritual-image.active{opacity:1}.ritual-video.ready{opacity:1}.ritual-content{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;padding:90px var(--gutter);position:relative;z-index:3}.ritual-headline{font-size:clamp(54px,5.8vw,87px);margin-bottom:27px;min-height:2em}.ritual-copy{font-size:17px;max-width:380px;color:#69715e;margin-bottom:27px;min-height:5em}.ritual-content .button{align-self:flex-start}.story-meta{position:absolute;top:37px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6d745d;gap:12px}.story-meta a{border-bottom:1px solid #a4aa93}.story-progress{position:absolute;bottom:38px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:20px;font-size:13px;color:var(--olive)}.story-ticks{display:flex;flex:1;gap:7px}.story-ticks button{position:relative;flex:1;min-width:22px;height:30px;padding:0}.story-ticks button::after{content:'';position:absolute;left:0;right:0;top:14px;height:2px;background:#b9bea9;transition:background .3s var(--ease)}.story-ticks button.current::after,.story-ticks button.past::after{background:var(--olive)}.scene-copy-changing{opacity:.25;transform:translateY(6px)}.ritual-headline,.ritual-copy{transition:opacity .3s var(--ease),transform .5s var(--ease)}
.formats-section{padding-block:115px 65px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:38px}.section-heading h2{max-width:850px}.section-heading p{font-size:16px;max-width:330px;line-height:1.6}.format-row{width:100%;display:grid;grid-template-columns:1.25fr 1.3fr auto 48px;align-items:center;gap:25px;padding:25px 8px;border-bottom:1px solid var(--line);text-align:left}.format-row:first-child{border-top:1px solid var(--line)}.format-row .format-name{font-family:var(--serif);font-size:clamp(37px,3.7vw,56px);line-height:1.1;letter-spacing:-.035em}.format-row .format-desc{font-size:15px}.format-row .format-price{font-size:13px;color:#78805f}.format-row:hover .round-button{background:var(--olive);color:white}
.shop-section{padding-block:55px 110px}.shop-section .section-heading{margin-bottom:35px}.filter-bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.filter-bar button{position:relative;padding:8px 0;font-size:13px;color:#78805f;white-space:nowrap}.filter-bar button.active{color:var(--ink)}.filter-bar button.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--olive)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px}.product-card{min-width:0}.product-image{position:relative;display:block;overflow:hidden;background:var(--sage);border-radius:8px;aspect-ratio:1.22}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.product-image:hover img{transform:scale(1.035)}.product-card h3{font-size:clamp(29px,2.8vw,43px);margin-top:17px;margin-bottom:8px}.product-card .price{font-size:13px;color:#78805f;margin-bottom:12px}.product-card .text-link{font-size:13px}.catalog-link{display:flex;justify-content:center;margin-top:42px}.place-section{background:var(--forest);color:var(--paper);padding-block:100px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.place-grid p{margin-top:27px;max-width:470px;color:#c8cdbb}.place-steps{display:grid;gap:29px}.place-step{border-bottom:1px solid #5a6759;padding-bottom:25px;display:grid;grid-template-columns:30px 1fr;gap:22px}.place-step>span{font-size:12px;opacity:.5;padding-top:7px}.place-step h3{font-family:var(--sans);font-size:18px;line-height:1.4;letter-spacing:-.02em}.place-step p{font-size:14px;color:#b7c2ad;margin-top:8px}.faq-section{padding-block:110px;display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.faq-list details{border-bottom:1px solid var(--line);padding:21px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;list-style:none;font-size:17px;display:flex;align-items:center;justify-content:space-between;gap:25px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{width:18px;height:18px;flex:none;transition:transform .5s var(--ease)}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details p{font-size:14px;color:#69715e;max-width:590px;padding-top:15px;line-height:1.8}.end-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:70px 110px}.end-image{aspect-ratio:1.2;object-fit:cover;object-position:center 34%;width:100%;border-radius:8px}.end-copy p{font-size:17px;max-width:435px;margin-top:25px;margin-bottom:30px}.end-copy .small{margin-top:20px;color:#78805f}.site-footer{padding-block:30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-links{display:flex;align-items:center;gap:30px;font-size:12px;color:#737761}.footer-links button{font-size:12px;padding:8px 0}
.page-header{padding-block:165px 50px}.page-header h1{font-size:clamp(55px,6vw,90px);max-width:1000px}.page-header p{font-size:17px;max-width:600px;margin-top:25px;color:#737761}.catalog-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:55px}.catalog-page .filter-bar{margin-bottom:33px;padding-bottom:14px;border-bottom:1px solid var(--line)}.catalog-page{padding-bottom:100px;min-height:70vh}.back-link{margin-bottom:30px;display:inline-flex;gap:10px;align-items:center;font-size:13px;color:var(--olive)}.back-link svg{transform:rotate(180deg);width:18px}.product-detail{padding-top:145px;padding-bottom:100px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.detail-image{background:var(--sage);aspect-ratio:1;border-radius:8px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-copy{padding-top:15px}.detail-copy h1{font-size:clamp(52px,5.2vw,76px);margin-bottom:20px}.detail-copy>p{max-width:475px;margin-bottom:25px}.detail-copy .price{color:var(--olive);font-size:18px;margin-bottom:28px}.options{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.option{padding:11px 17px;border:1px solid var(--line);border-radius:6px;font-size:13px}.option.active{background:var(--olive);border-color:var(--olive);color:white}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;width:max-content}.quantity button{width:42px;height:44px;display:grid;place-items:center}.quantity button svg{width:16px;height:16px}.quantity output{min-width:35px;text-align:center;font-size:14px}.detail-actions{display:flex;gap:16px;margin-block:12px 22px}.detail-info{margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}.detail-info h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;margin-bottom:14px}.detail-info p{font-size:14px;color:#737761}
dialog{border:0;background:var(--paper);color:var(--ink);padding:0;max-width:100%;max-height:100dvh}dialog::backdrop{background:#17211670;backdrop-filter:blur(5px)}.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:560px;height:100dvh;overflow-y:auto;padding:33px 38px 45px}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px;gap:20px}.dialog-top .brand{font-size:27px}.dialog-top .brand-leaf{width:30px;height:38px}.close-button{padding:10px;flex:none}.drawer h2{font-size:56px;margin-bottom:22px}.drawer-intro{font-size:14px;color:#737761;line-height:1.8;margin-bottom:30px}.booking-form{display:grid;gap:20px}.field{display:grid;gap:8px}.field>span,.field-label{font-size:14px}.field input,.field select,.field textarea{min-width:0;width:100%;padding:13px 15px;border:1px solid #a2a98f;border-radius:6px;background:transparent;color:var(--ink);font-size:15px;min-height:52px}.field textarea{resize:vertical;min-height:84px}.field input::placeholder,.field textarea::placeholder{color:#909586}.field input:invalid:not(:placeholder-shown){border-color:#9e754e}.format-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.format-options label{position:relative;text-align:center;cursor:pointer}.format-options input{position:absolute;opacity:0}.format-options span{display:flex;align-items:center;justify-content:center;border:1px solid #a2a98f;border-radius:6px;min-height:47px;font-size:12px;padding:8px}.format-options input:checked+span{color:white;background:var(--olive);border-color:var(--olive)}.format-options input:focus-visible+span{outline:2px solid var(--olive);outline-offset:4px}.form-section-line{border-top:1px solid var(--line);padding-top:23px}.consent{display:flex;align-items:start;gap:10px;font-size:11px;color:#737761;line-height:1.6}.consent input{accent-color:var(--olive);margin-top:3px;width:17px;height:17px;flex:none}.form-submit{width:100%;border-radius:6px;font-size:16px;justify-content:space-between;min-height:57px}.form-error{color:#9b452f;font-size:13px}.form-success{padding-block:20px}.form-success .reference{border-block:1px solid var(--line);padding:18px 0;margin-block:28px;font-size:13px}.form-success .reference strong{display:block;font-size:24px;letter-spacing:.08em;font-weight:500}.form-success .button{margin-bottom:15px}.honeypot{display:none}.booking-items{font-size:12px;color:#737761;display:grid;gap:7px}.cart-list{display:grid;gap:20px}.cart-item{display:grid;grid-template-columns:78px 1fr auto;gap:17px;border-bottom:1px solid var(--line);padding-bottom:20px;align-items:start}.cart-item img{width:78px;height:86px;object-fit:cover;border-radius:5px;background:var(--sage)}.cart-item h3{font-size:25px;line-height:1.1;margin-bottom:5px}.cart-item p{font-size:11px;color:#737761}.cart-item .quantity{margin-top:12px}.cart-item .quantity button{width:30px;height:30px}.cart-item .quantity output{font-size:12px;min-width:26px}.cart-remove{font-size:11px;text-decoration:underline;padding:2px 0}.cart-actions{margin-top:30px;display:grid;gap:16px}.empty-cart{padding-block:30px}.empty-cart p{margin-block:20px;color:#737761;font-size:14px}.menu-drawer{width:100%;max-width:100%;padding:24px}.menu-nav{display:grid;gap:22px;padding-block:50px}.menu-nav a{font-family:var(--serif);font-size:48px;letter-spacing:-.03em;line-height:1.2}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;z-index:150;background:var(--forest);color:var(--paper);padding:14px 24px;border-radius:8px;font-size:13px;transition:opacity .3s var(--ease),transform .5s var(--ease);max-width:90vw;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.privacy-dialog{padding:35px;max-width:560px;border-radius:8px}.privacy-dialog p{font-size:14px;color:#69715e;margin-bottom:25px}.privacy-dialog h2{font-size:42px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){.hero-art{object-fit:contain;object-position:right center}.hero{max-height:1000px}.hero-content{padding-left:max(0px,calc((100vw - 1560px)/2))}}
@media(max-width:1100px){.brand{font-size:27px}.desktop-nav{gap:22px}.header-tools{gap:13px}.header-action{display:none}.hero{min-height:700px}.hero-content{width:55%}.hero-copy{font-size:15px;max-width:350px}.hero-art{object-position:57% center}.hero-location{display:none}.hero-actions{gap:17px}.hero-actions .button{padding-inline:23px}.section-heading{align-items:start}.format-row{grid-template-columns:1.15fr 1fr auto 43px;gap:15px}.format-row .format-desc{font-size:13px}.place-grid{gap:50px}.detail-grid{gap:40px}.ritual-content{padding-inline:35px}.story-meta,.story-progress{left:35px;right:35px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:82px}.header-inner{gap:8px}.brand{font-size:26px;gap:9px}.brand .brand-leaf{width:29px;height:36px}.desktop-nav{display:none}.header-tools{margin-left:auto;gap:7px}.language{font-size:11px}.language button{padding-inline:1px}.cart-button{padding:9px}.menu-button{display:block;padding:9px}.header-tools button svg{width:19px;height:19px}.hero{height:auto;min-height:0;display:block;padding-top:113px;padding-bottom:0;overflow:hidden}.hero-content{width:100%;padding-bottom:0;max-width:100%}.hero h1{font-size:clamp(61px,14.9vw,102px);line-height:.96;letter-spacing:-.04em;margin-bottom:22px}.hero h1 br:nth-child(2){display:none}.hero-copy{font-size:14px;max-width:350px;line-height:1.7;margin-bottom:23px}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;min-height:51px;padding:13px 20px;gap:15px}.hero-actions .text-link{font-size:12px}.hero-art{position:relative;width:150%;max-width:none;margin-left:-35%;height:auto;aspect-ratio:1.5;object-fit:contain;margin-top:-26px;z-index:0}.hero-content{z-index:2}.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin-inline:24px;margin-top:-22px;padding-block:15px 18px;gap:12px;font-size:10px}.hero-bottom .round-button{width:33px;height:33px;flex:none}.hero-bottom .round-button svg{width:16px}.hero-bottom>span:first-of-type{max-width:210px}.hero-steps{display:none}.intro-section{padding-block:65px 40px;grid-template-columns:1fr;gap:23px}.intro-section h2{font-size:53px}.intro-section p{font-size:14px;max-width:350px}.ritual-scroll{height:440svh}.ritual-stage{display:block;min-height:560px}.ritual-media{position:absolute;inset:0;height:100%}.ritual-image,.ritual-video{height:80%;object-position:center 30%}.ritual-media::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(0deg,var(--paper) 10%,#f6f3ebf7 34%,#f6f3ebaa 49%,#f6f3eb00 76%);pointer-events:none}.ritual-content{height:100%;justify-content:flex-end;padding:0 24px 105px}.ritual-headline{font-size:52px;line-height:.98;margin-bottom:15px;min-height:0}.ritual-copy{font-size:13px;line-height:1.7;max-width:320px;margin-bottom:20px;min-height:0;color:#505b43}.ritual-content .button{min-height:45px;padding:11px 18px;font-size:12px;gap:15px}.story-meta{top:20px;left:24px;right:24px;color:#fff;text-shadow:0 1px 5px #26302080;font-size:10px}.story-meta a{border-color:#ffffff70}.story-progress{left:24px;right:24px;bottom:max(25px,env(safe-area-inset-bottom));gap:15px;font-size:12px}.story-ticks{gap:6px}.formats-section{padding-block:70px 35px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:48px}.section-heading p{font-size:13px;max-width:340px;margin-top:20px}.format-row{grid-template-columns:1fr 42px;gap:7px 12px;padding:22px 0}.format-row .format-name{font-size:38px}.format-row .format-desc{font-size:12px;grid-column:1;grid-row:auto}.format-row .format-price{font-size:11px;grid-column:1}.format-row .round-button{grid-column:2;grid-row:1/4;align-self:center;width:40px;height:40px}.shop-section{padding-block:35px 65px}.shop-section .section-heading{margin-bottom:23px}.filter-bar{gap:21px;margin-top:20px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.filter-bar button{font-size:12px}.product-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.product-grid .product-card:nth-child(3){display:none}.product-card h3{font-size:29px;margin-top:15px;line-height:1}.product-card .price{font-size:10px;line-height:1.7;margin-top:9px}.product-card .text-link{font-size:11px;gap:10px}.product-card .text-link svg{width:17px}.product-image{aspect-ratio:.95;border-radius:6px}.catalog-link{margin-top:28px}.catalog-link .text-link{font-size:13px}.place-section{padding-block:65px}.place-grid{grid-template-columns:1fr;gap:40px}.place-grid h2{font-size:48px}.place-grid p{font-size:13px;margin-top:23px}.place-step{gap:12px;padding-bottom:20px;grid-template-columns:25px 1fr}.place-step h3{font-size:15px}.place-step p{font-size:12px;margin-top:7px}.place-steps{gap:22px}.faq-section{grid-template-columns:1fr;gap:35px;padding-block:70px}.faq-section h2{font-size:48px}.faq-list summary{font-size:14px}.faq-list details{padding:19px 0}.faq-list details p{font-size:12px}.end-section{grid-template-columns:1fr;gap:35px;padding-block:10px 65px}.end-image{aspect-ratio:1.25}.end-copy h2{font-size:57px}.end-copy p{font-size:14px;margin-top:20px}.end-copy .button{font-size:13px}.site-footer{flex-direction:column;align-items:start;gap:20px;padding-block:25px 35px}.site-footer .brand{font-size:29px}.footer-links{flex-wrap:wrap;gap:12px 22px;font-size:10px}.footer-links button{font-size:10px}.page-header{padding-block:120px 35px}.page-header h1{font-size:58px}.page-header p{font-size:14px;margin-top:20px}.catalog-page .product-grid{grid-template-columns:1fr 1fr;row-gap:32px}.catalog-page .product-grid .product-card:nth-child(3){display:block}.catalog-page{padding-bottom:65px}.product-detail{padding-top:108px;padding-bottom:65px}.detail-grid{grid-template-columns:1fr;gap:29px}.detail-copy{padding-top:0}.detail-copy h1{font-size:55px}.detail-copy>p{font-size:14px}.detail-copy .price{font-size:16px;margin-bottom:22px}.detail-info p{font-size:13px}.option{font-size:12px;padding:10px 14px}.detail-actions{gap:12px}.detail-actions .button{font-size:12px;padding-inline:20px;flex:1}.back-link{font-size:12px;margin-bottom:23px}.drawer{width:100%;padding:23px 24px 35px}.dialog-top{margin-bottom:32px}.dialog-top .brand{font-size:26px}.drawer h2{font-size:51px}.drawer-intro{font-size:13px;margin-bottom:25px}.booking-form{gap:19px}.field>span,.field-label{font-size:13px}.field input,.field select,.field textarea{font-size:16px;min-height:51px}.form-submit{font-size:15px}.format-options span{font-size:11px}.privacy-dialog{padding:25px;margin:25px;border-radius:8px}.privacy-dialog h2{font-size:38px}.toast{bottom:max(20px,env(safe-area-inset-bottom));width:max-content;max-width:90vw}.cart-item{grid-template-columns:65px 1fr auto;gap:12px}.cart-item img{width:65px;height:80px}.cart-item h3{font-size:25px}}
@media(max-width:360px){.brand{font-size:23px}.brand .brand-leaf{width:24px}.header-tools{gap:2px}.hero h1{font-size:57px}.hero-actions{gap:14px}.hero-actions .button{font-size:11px;padding-inline:17px}.hero-actions .text-link{font-size:11px}.ritual-headline{font-size:47px}.drawer h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.ritual-scroll{height:360svh}}
/* Keep the cinematic artwork clear of navigation and the mobile primary action. */
@media(min-width:761px){.hero-art{top:76px;height:calc(100% - 90px);object-fit:contain;object-position:right center;mask-image:linear-gradient(to bottom,#000 93%,transparent 100%)}.hero-copy{font-size:18px}.hero-actions .button{font-size:16px;min-height:63px}.hero-actions .text-link{font-size:15px}.desktop-nav{font-size:15px}.header-action{font-size:14px}.hero-bottom{font-size:12px}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;padding-top:111px}.hero>.wrap{order:0}.hero-art{order:1;margin-top:-15px;margin-bottom:0;aspect-ratio:1.5}.hero-bottom{order:2;margin-top:-12px;width:calc(100% - 48px)}.hero-actions .button{font-size:13px}.hero-actions .text-link{font-size:12px}.hero-copy{font-size:14px}}
@media(min-width:761px){.hero-art{mask-image:linear-gradient(to right,transparent 0%,#000 23%,#000 100%),linear-gradient(to bottom,transparent 0%,#000 7%,#000 92%,transparent 100%);mask-composite:intersect}.brand{font-size:33px}.format-row .format-desc{font-size:17px}.format-row .format-price{font-size:14px}.section-heading p{font-size:17px}}

/* Chapter navigation shares one row after removing the playback control. */
@media(max-width:760px){.expanded-story .ritual-content{padding-bottom:125px}.expanded-story .story-progress{display:flex;gap:15px}.expanded-story .story-ticks{gap:6px;min-width:0}.expanded-story .story-ticks button{min-width:0;min-height:32px}}

/* Ceremony-first revision22: one entrance, native scroll, optional personal choices. */
.ceremony-first .site-header{position:fixed;height:78px;background:#f6f3ebef;backdrop-filter:blur(14px);border-bottom:1px solid #d6d7c955}
.ceremony-first .desktop-nav{gap:22px;font-size:13px}.ceremony-first .brand{font-size:29px}.ceremony-first .brand-leaf{width:29px;height:34px}
.ceremony-first .ritual-scroll{height:900svh}.ceremony-first .ritual-stage{height:100dvh;min-height:0}
.ceremony-first .ritual-content{padding-top:170px;padding-bottom:130px;justify-content:flex-end;pointer-events:none}
.ceremony-first .ritual-headline{font-size:clamp(54px,5.2vw,80px);min-height:0;margin-bottom:20px}
.ceremony-first .ritual-copy{font-size:16px;line-height:1.65;max-width:420px;min-height:0;margin-bottom:24px;color:#4d593f}
.ceremony-first .ritual-video{transition:opacity .2s ease}.ceremony-first .story-meta{top:102px;z-index:5;left:var(--gutter);right:var(--gutter);pointer-events:none}
.program-chip{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:9px 14px;border:1px solid #66714845;border-radius:24px;background:#f6f3ebe8;backdrop-filter:blur(12px);font-size:12px;color:var(--ink);pointer-events:auto;line-height:1.4}
.program-chip svg{width:17px;height:17px}.program-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--olive)}
.ceremony-first .ceremony-skip{display:inline-flex;align-items:center;gap:9px;color:white;border:0;font-size:11px;line-height:1.4;text-shadow:0 1px 6px #201c17;pointer-events:auto;min-height:44px}
.ceremony-skip svg{width:15px;height:15px}.ceremony-location{font-size:12px;color:var(--olive);margin-bottom:18px;letter-spacing:.03em}
.ritual-scroll:not([data-chapter="0"]) .ceremony-location{display:none}
.scene-actions{display:flex;align-items:center;gap:20px;pointer-events:auto;flex-wrap:wrap}.scene-actions .button{font-size:13px;gap:16px}
.scene-info{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px;color:var(--olive);padding:0}
.scene-info>span{font-size:22px;font-weight:300}.scroll-cue{display:flex;align-items:center;gap:18px;font-size:11px;color:#727a64;margin-top:32px}
.scroll-cue>span{font-size:20px}.ritual-scroll:not([data-chapter="0"]) .scroll-cue{display:none}
.scene-note{position:absolute;right:28px;top:165px;z-index:4;display:flex;align-items:center;gap:10px;max-width:258px;min-height:58px;padding:14px 16px;text-align:left;border-radius:16px;background:#f6f3ebf0;border:1px solid #ffffff80;backdrop-filter:blur(14px);box-shadow:0 8px 28px #2d21121a;color:#303a28;font-size:13px;line-height:1.5;transition:opacity .25s}
.scene-note-dot{width:6px;height:6px;flex:none;background:var(--olive);border-radius:50%}.scene-note-plus{font-size:23px;margin-left:5px;line-height:1}
.ritual-scroll[data-chapter="0"] .scene-note{opacity:0;pointer-events:none}.ritual-scroll[data-chapter="0"] .scene-info{display:none}
.ceremony-first .story-progress{z-index:5;bottom:30px}.ceremony-first .story-ticks button{min-height:44px;min-width:0}.ceremony-first .story-ticks button::after{top:21px}
.programs-section{padding-block:100px 40px;scroll-margin-top:75px}.programs-section .section-heading p{max-width:390px}
.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.program-card{min-width:0;padding:30px 27px 25px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;transition:background .25s,border-color .25s}
.program-card.chosen{background:#e7e9de;border-color:#7d8765}.program-card-top{display:flex;justify-content:space-between;gap:8px;color:#798069;font-size:11px;margin-bottom:32px;min-height:18px}
.program-card-status{color:var(--olive-dark)}.program-card h3{font-size:44px;line-height:1.05;margin-bottom:15px}.program-lead{font-size:14px;color:#4d593f;margin-bottom:12px;line-height:1.5}.program-description{font-size:13px;color:#727865;line-height:1.75;margin-bottom:24px;flex:1}
.program-profile{padding-top:20px;margin:0 0 24px;border-top:1px solid #a9af983d;display:grid;gap:12px}.program-profile>div{display:grid;grid-template-columns:56px 1fr;gap:12px;font-size:12px;line-height:1.6}.program-profile dt{color:#7e846f}.program-profile dd{margin:0;color:#3f4b36}.program-pick{width:100%;min-height:46px;font-size:12px}.program-pick svg{width:17px;height:17px}.program-profile-note{max-width:820px;font-size:12px;line-height:1.8;color:#7a806e;margin-top:22px}
.intensity-band{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;border-bottom:1px solid var(--line);padding:56px 0 45px}.intensity-band h3{font-size:35px;margin-bottom:12px}.intensity-band p{font-size:13px;line-height:1.6;color:#747d67;max-width:400px}
.intensity-options{display:flex;gap:4px;padding:5px;background:#e7e9de;border-radius:28px}.intensity-options button{flex:1;min-width:0;min-height:44px;border-radius:24px;font-size:12px;padding:10px 12px;line-height:1.4}.intensity-options button.chosen{color:white;background:var(--olive)}
.format-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.format-choice{position:relative;min-width:0;text-align:left;padding:28px 26px 30px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:15px}.format-choice.chosen{border-color:#7d8765;background:var(--sage)}.format-choice-name{font:36px/1.1 var(--serif);letter-spacing:-.03em;padding-right:14px}.format-choice-desc{font-size:13px;line-height:1.65;color:#6e7862}.format-choice-check{position:absolute;right:18px;top:19px;color:var(--olive);font-size:18px}
.ceremony-selection{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0 10px}.selection-label{font-size:11px;color:#7b826f;margin-bottom:6px}[data-selection]{display:flex;flex-direction:column;gap:6px;line-height:1.5}[data-selection] .selection-program{font-family:var(--serif);font-size:34px;line-height:1.1}[data-selection]>span:last-child{font-size:12px;color:#6c765d}[data-selection] i{font-style:normal;margin-inline:7px}.ceremony-selection .button{font-size:13px}
.program-options{display:grid;gap:12px}.program-option{display:flex;align-items:center;gap:16px;width:100%;min-height:94px;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:left}.program-option.chosen{background:var(--sage);border-color:#7d8765}.program-option-number{font-size:10px;color:#7e856f}.program-option strong{display:block;font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.15}.program-option small{display:block;font-size:11px;color:#7b826e;margin-top:6px;line-height:1.5}.choice-check{margin-left:auto;color:var(--olive);font-size:22px}.choice-check svg{width:21px;height:21px}
.experience-drawer .dialog-top h2{font-size:44px}.experience-drawer .drawer-intro{font-size:14px}.picker-intensity{margin-top:30px;margin-bottom:24px}.picker-intensity>p{font-size:13px;margin-bottom:12px}.experience-drawer .intensity-options button{font-size:11px;padding-inline:7px}.procedure-label{font-size:12px;color:#79816d}.experience-drawer #procedure-title{font-size:52px;line-height:1.02;margin:5px 0 26px}.procedure-detail{font-size:16px;line-height:1.9;color:#657155;margin-bottom:30px}.procedure-program{display:flex;flex-direction:column;align-items:flex-start;padding:24px 0;border-top:1px solid var(--line);margin-bottom:20px;gap:7px}.procedure-program>span{font-size:11px;color:#7c846e}.procedure-program strong{font:34px/1.1 var(--serif)}.procedure-program .text-link{font-size:12px}.booking-selection{padding:20px 0 28px;border-bottom:1px solid var(--line);margin-bottom:25px}
@media(max-width:1100px) and (min-width:761px){.ceremony-first .header-action{display:none}.ceremony-first .desktop-nav{gap:16px;font-size:12px}.program-card{padding-inline:22px}.program-card h3{font-size:36px}}
@media(max-width:760px){
 .ceremony-first .site-header{height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:#f6f3ebed}
 .ceremony-first.cinema-active .site-header{background:linear-gradient(180deg,#2c241d70,#2c241d00);backdrop-filter:none;border-color:transparent;color:white}
 .ceremony-first.cinema-active .site-header .brand-leaf,.ceremony-first.cinema-active .site-header .language button[aria-pressed=true]{color:white}
 .ceremony-first.cinema-active .site-header .language button{color:#ffffffb8}.ceremony-first.cinema-active .site-header .brand{text-shadow:0 1px 10px #2c241d60}
 .ceremony-first .header-inner{padding-inline:20px;gap:8px}.ceremony-first .brand{font-size:24px;gap:7px}.ceremony-first .brand-leaf{width:23px;height:29px}.ceremony-first .header-tools{gap:4px}.ceremony-first .header-action{display:none}.ceremony-first .language{font-size:10px;gap:3px}.ceremony-first .cart-button,.ceremony-first .menu-button{padding:10px 8px}
 .ceremony-first .ritual-stage{height:100dvh;min-height:0}.ceremony-first .ritual-media{height:100%;inset:0}.ceremony-first .ritual-image,.ceremony-first .ritual-video{height:100%;object-position:center 30%}
 .ceremony-first .ritual-media::after{inset:38% 0 0;background:linear-gradient(0deg,#f6f3eb 5%,#f6f3ebf5 28%,#f6f3ebc9 50%,#f6f3eb00 100%)}
 .ceremony-first .story-meta{top:calc(83px + env(safe-area-inset-top));left:20px;right:20px;gap:12px}.program-chip{font-size:11px;padding:8px 12px;min-height:38px;gap:8px;background:#f6f3ebdb}.program-chip svg{width:14px;height:14px}.ceremony-first .ceremony-skip{font-size:10px;gap:5px;text-shadow:0 1px 5px #201c1790}.ceremony-skip svg{width:13px;height:13px}
 .ceremony-first .ritual-content{padding:0 24px 102px;height:100%;justify-content:flex-end}.ceremony-first .ritual-headline{font-size:clamp(38px,11.8vw,51px);line-height:1.01;margin-bottom:16px}.ceremony-first .ritual-copy{font-size:14px;line-height:1.65;max-width:355px;margin-bottom:19px;color:#4e5a40}.ceremony-location{font-size:11px;letter-spacing:.02em;margin-bottom:13px}
 .scene-actions{gap:16px;flex-wrap:nowrap}.scene-actions .button{font-size:12px;min-height:45px;padding:11px 17px;gap:12px}.scene-info{font-size:11px;gap:8px;white-space:nowrap}.scroll-cue{font-size:10px;margin-top:21px;gap:14px;line-height:1.5}.scroll-cue>span{font-size:18px}
 .scene-note{right:20px;top:calc(141px + env(safe-area-inset-top));max-width:210px;padding:12px 13px;min-height:54px;font-size:12px;gap:8px;border-radius:13px;box-shadow:0 8px 25px #2c211014}.scene-note-plus{font-size:20px}
 .ceremony-first .story-progress{bottom:max(20px,env(safe-area-inset-bottom));left:24px;right:24px;gap:14px;display:flex;font-size:11px}.ceremony-first .story-ticks{gap:5px;min-width:0}
 .programs-section{padding-block:64px 15px}.programs-section .section-heading h2,.formats-section .section-heading h2{font-size:clamp(40px,12vw,54px)}.programs-section .section-heading p{font-size:14px;line-height:1.8;margin-top:20px;max-width:340px}.program-grid{grid-template-columns:1fr;gap:15px}.program-card{padding:24px;border-radius:15px}.program-card-top{margin-bottom:24px}.program-card h3{font-size:41px;margin-bottom:13px}.program-lead{font-size:14px}.program-description{font-size:13px;flex:none;margin-bottom:22px}.program-profile{gap:12px;margin-bottom:24px}.program-profile>div{font-size:12px;grid-template-columns:62px 1fr}.program-profile-note{font-size:11px;line-height:1.9;margin-top:20px}
 .intensity-band{grid-template-columns:1fr;gap:22px;padding:37px 0 34px}.intensity-band h3{font-size:32px}.intensity-band p{font-size:12px}.intensity-options button{font-size:11px;padding-inline:6px;min-height:44px}.intensity-options{gap:3px;padding:4px}
 .formats-section{padding-top:48px}.format-options-grid{gap:8px}.format-choice{padding:30px 10px 17px;gap:12px;border-radius:12px}.format-choice-name{font-size:clamp(19px,5.7vw,25px);line-height:1.05;padding:0}.format-choice-desc{font-size:10px;line-height:1.7}.format-choice-check{font-size:13px;right:10px;top:8px}
 .ceremony-selection{display:block;padding:27px 0 0}.ceremony-selection .button{margin-top:22px;font-size:13px;width:100%}.selection-label{font-size:10px}[data-selection] .selection-program{font-size:32px}
 .experience-drawer{width:100%;max-height:calc(100dvh - 22px);height:auto;top:auto;bottom:0;border-radius:22px 22px 0 0;padding:24px 22px 30px;margin:0}.experience-drawer .dialog-top{margin-bottom:22px}.experience-drawer .dialog-top h2{font-size:39px}.experience-drawer .drawer-intro{font-size:13px;line-height:1.8;margin-bottom:23px}.program-option{padding:16px 14px;min-height:85px;gap:12px}.program-option strong{font-size:28px}.program-option small{font-size:10px}.picker-intensity{margin-top:25px;margin-bottom:20px}.experience-drawer #procedure-title{font-size:43px;margin-bottom:22px}.procedure-detail{font-size:14px;line-height:1.9;margin-bottom:25px}.procedure-program{padding-block:20px}.procedure-program strong{font-size:31px}
}
@media(max-width:360px){.ceremony-first .brand{font-size:21px}.ceremony-first .brand-leaf{width:20px}.ceremony-first .header-inner{padding-inline:16px;gap:5px}.ceremony-first .header-tools{gap:2px}.ceremony-first .cart-button,.ceremony-first .menu-button{padding-inline:6px}.ceremony-first .story-meta{left:17px;right:17px}.ceremony-first .ritual-content{padding-inline:20px;padding-bottom:92px}.ceremony-first .ritual-copy{font-size:13px}.scene-actions{gap:11px}.scene-actions .button{font-size:11px;padding-inline:13px}.scene-info{font-size:10px;gap:5px}.scene-note{max-width:190px;right:17px;font-size:11px}.program-card{padding:22px}.program-card h3{font-size:37px}}
@media(max-height:540px){.ceremony-first .ritual-content{padding-bottom:60px;max-width:65%}.ceremony-first .ritual-headline{font-size:36px;margin-bottom:10px}.ceremony-first .ritual-copy{font-size:12px;line-height:1.4;margin-bottom:12px}.ceremony-location,.scroll-cue{display:none}.scene-note{top:37%;max-width:200px;font-size:11px}.ceremony-first .story-meta{top:76px}.ceremony-first .story-progress{bottom:8px}.scene-actions .button{min-height:36px;font-size:11px;padding-block:8px}.scene-info{font-size:10px}.ceremony-first .story-ticks button{min-height:32px}}
@media(min-width:761px) and (max-height:540px){.ceremony-first .ritual-content{max-width:100%;padding:110px 30px 60px}.ceremony-first .ritual-headline{font-size:32px;line-height:1.02}.ceremony-first .ritual-copy{font-size:12px;line-height:1.5;margin-bottom:12px}.ceremony-first .story-meta{top:87px}.scene-actions{gap:12px}.scene-actions .button{padding-inline:15px}.scene-note{top:144px;max-width:190px}}
.programs-section .section-heading{opacity:1;transform:none}

/* Revision23: a continuous film with one intentional choice at the entrance. */
html.journey-awaiting{overflow:hidden;overscroll-behavior-y:none}
html.journey-awaiting body{position:fixed;inset:0;width:100%;overflow:hidden}
.ceremony-first .site-header{background:#1b2b23e8;color:#f6f3eb;border-color:#ffffff12}
.ceremony-first .site-header .brand-leaf,.ceremony-first .site-header .language button[aria-pressed=true]{color:#f6f3eb}
.ceremony-first .site-header .language button{color:#f6f3eb86}
.cinematic-journey,.cinematic-journey .ritual-stage{background:#1b2b23;color:#f6f3eb}
.cinematic-journey .ritual-media{animation:journey-camera 4s cubic-bezier(.2,.8,.2,1) both}
.journey-intro{position:absolute;left:var(--gutter);bottom:105px;width:calc(50% - var(--gutter)*2);z-index:3;transition:opacity .6s ease,transform .8s var(--ease)}
.journey-location{font-size:12px;letter-spacing:.025em;color:#f2ead2ba;margin-bottom:24px}
.journey-intro h1{font-size:clamp(58px,6.1vw,91px);line-height:.99;letter-spacing:-.045em;margin:0 0 27px}
.journey-intro h1 span,.journey-intro h1 em{display:block;animation:journey-word 1.15s var(--ease) both}
.journey-intro h1 em{color:#ddd6b6;animation-delay:.14s}
.journey-intro-copy{max-width:350px;font-size:15px;line-height:1.8;color:#f6f3ebbb;animation:journey-word 1.15s .3s var(--ease) both}
.journey-scroll-cue{display:flex;align-items:center;gap:24px;margin-top:42px;font-size:11px;letter-spacing:.1em;color:#f4ecd6d9;animation:journey-word 1.15s .55s var(--ease) both}
.journey-scroll-cue svg{height:55px;width:16px;animation:journey-arrow 2.7s 1.5s ease-in-out infinite}
.journey-started .journey-intro{opacity:0;transform:translateY(-15px);pointer-events:none}
.journey-caption{position:absolute;left:var(--gutter);bottom:92px;width:calc(50% - var(--gutter)*2);max-width:510px;z-index:3;opacity:0;pointer-events:none}
.journey-caption h2{font-size:clamp(36px,3.6vw,54px);line-height:1.08;margin-bottom:17px;letter-spacing:-.035em}
.journey-caption h2 em{color:#ddd6b6}.journey-caption p{font-size:15px;line-height:1.85;max-width:390px;color:#f6f3ebc9}
.journey-started .cinematic-journey:not([data-chapter="0"]) .journey-caption{opacity:1}
.journey-next-hint{position:absolute;left:var(--gutter);bottom:48px;display:none;align-items:center;gap:20px;font-size:11px;letter-spacing:.03em;color:#eee5c9bc;z-index:3}
.journey-started .cinematic-journey[data-chapter="0"] .journey-next-hint{display:flex;animation:journey-word .9s .25s var(--ease) both}
.journey-next-hint span{font-size:22px;animation:journey-arrow 2.7s ease-in-out infinite}
.journey-choice{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;max-width:none;margin:0;padding:0;border:0;background:#1b2b23;color:#f6f3eb;overflow-y:auto;overscroll-behavior:contain;animation:journey-choice-in .55s var(--ease) both;transition:opacity .35s ease,transform .4s var(--ease)}
.journey-choice::backdrop{background:#132018d9}
.journey-choice.choice-closing{opacity:0;transform:translateY(-12px);pointer-events:none;animation:none}
.journey-choice-inner{width:min(960px,100%);min-height:100%;margin-inline:auto;padding:45px 64px 38px;display:flex;flex-direction:column;justify-content:center}
.journey-choice-top{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.06em;color:#d9d8c49c}
.journey-choice-top .language{margin-left:auto}.journey-choice .language button{color:#f6f3eb70}.journey-choice .language button[aria-pressed=true]{color:#f6f3eb}
.journey-choice-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:64px;margin:40px 0 31px}
.journey-choice-heading h2{font-size:clamp(57px,7vw,85px);line-height:.96;margin:0;letter-spacing:-.045em;outline:none}
.journey-choice-heading h2 em{color:#d7d1ae}.journey-choice-heading>p{font-size:14px;line-height:1.85;color:#f6f3eba6;max-width:310px;padding-bottom:6px}
.journey-options{border-top:1px solid #eeead12e}
.journey-option{width:100%;padding:23px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;border-bottom:1px solid #eeead12e;color:#f6f3eb;border-radius:0}
.journey-option strong{display:block;font-family:var(--serif);font-size:42px;line-height:1.06;font-weight:400;letter-spacing:-.025em;transition:transform .45s var(--ease),color .3s}
.journey-option small{display:block;font-size:12px;line-height:1.5;color:#e0dfc592;margin-top:8px}
.journey-option-arrow{font-family:var(--serif);font-size:34px;color:#dbd5b4;line-height:1;transition:transform .45s var(--ease)}
.journey-option:hover strong,.journey-option:focus-visible strong{transform:translateX(6px);color:#e8dfbd}.journey-option:hover .journey-option-arrow{transform:translate(3px,-3px)}
.journey-option:focus-visible{outline:1px solid #d7d1ae;outline-offset:6px}
.journey-choice-foot{font-size:10px;line-height:1.7;color:#dfddc471;margin-top:25px;letter-spacing:.04em}
.journey-choice-close{padding:8px;color:#f6f3eb}.journey-choice-close svg{width:22px;height:22px}
.program-card{border-radius:0;box-shadow:none}.program-card.chosen{background:#e7e9de80}
.program-pick,.program-pick.outline{align-self:flex-start;width:auto;border:0;border-bottom:1px solid #66714880;border-radius:0;padding:10px 0;min-height:42px;color:var(--olive-dark);background:transparent;gap:24px}
.program-pick:hover,.program-pick.outline:hover{background:transparent;transform:none;color:var(--ink)}
@keyframes journey-word{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes journey-camera{from{transform:scale(1.025)}to{transform:scale(1)}}
@keyframes journey-arrow{0%,100%{transform:translateY(-3px);opacity:.6}50%{transform:translateY(5px);opacity:1}}
@keyframes journey-choice-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
 .ceremony-first .cinematic-journey .ritual-media::after{inset:0;background:linear-gradient(180deg,#17231c26 0%,transparent 30%,transparent 44%,#16231c36 66%,#16231cd4 100%)}
 .journey-intro{left:25px;right:25px;bottom:calc(42px + env(safe-area-inset-bottom));width:auto}
 .journey-location{font-size:10px;letter-spacing:.05em;color:#f4ead0b3;margin-bottom:21px}
 .journey-intro h1{font-size:clamp(42px,12.8vw,60px);line-height:1.01;margin-bottom:23px}
 .journey-intro-copy{max-width:300px;font-size:13px;line-height:1.85;color:#f6f3ebc2}
 .journey-scroll-cue{margin-top:28px;font-size:10px;gap:22px;letter-spacing:.12em}.journey-scroll-cue svg{height:45px;width:14px}
 .journey-caption{left:25px;right:25px;bottom:calc(42px + env(safe-area-inset-bottom));width:auto;max-width:370px}
 .journey-caption h2{font-size:clamp(30px,8.7vw,39px);line-height:1.07;margin-bottom:14px}
 .journey-caption p{font-size:13px;line-height:1.8;max-width:330px;color:#f6f3ebcf}
 .journey-next-hint{left:25px;bottom:calc(36px + env(safe-area-inset-bottom));font-size:10px;letter-spacing:.01em;gap:16px}
 .journey-choice-inner{padding:calc(22px + env(safe-area-inset-top)) 26px calc(25px + env(safe-area-inset-bottom));justify-content:center}
 .journey-choice-top{font-size:10px;letter-spacing:.03em}.journey-choice .language{font-size:10px;gap:5px}
 .journey-choice-heading{grid-template-columns:1fr;gap:20px;margin:28px 0 25px}
 .journey-choice-heading h2{font-size:62px;line-height:.98}.journey-choice-heading>p{font-size:12px;line-height:1.85;padding:0;max-width:310px}
 .journey-option{padding:21px 0 22px;gap:16px}.journey-option strong{font-size:34px}.journey-option small{font-size:11px;margin-top:7px}.journey-option-arrow{font-size:27px}
 .journey-choice-foot{font-size:9px;margin-top:23px;line-height:1.8}
}
@media(max-width:360px){.journey-intro,.journey-caption{left:22px;right:22px}.journey-intro h1{font-size:40px}.journey-intro-copy{font-size:12px}.journey-location{font-size:9px}.journey-choice-inner{padding-inline:23px}.journey-choice-heading h2{font-size:56px}.journey-choice-heading{margin-top:19px;gap:16px}.journey-option strong{font-size:31px}.journey-option{padding-block:18px}.journey-option small{font-size:10px}.journey-caption p{font-size:12px}.journey-caption h2{font-size:30px}}
@media(max-height:540px){.journey-intro{bottom:30px}.journey-intro h1{font-size:43px;margin-bottom:14px}.journey-location{margin-bottom:14px}.journey-intro-copy{font-size:12px;line-height:1.65}.journey-scroll-cue{margin-top:15px;gap:17px}.journey-scroll-cue svg{height:33px}.journey-caption{bottom:25px}.journey-caption h2{font-size:30px;margin-bottom:10px}.journey-caption p{font-size:12px;line-height:1.65}.journey-choice-inner{justify-content:flex-start;padding-block:24px}.journey-choice-heading{margin-top:20px;margin-bottom:20px}.journey-choice-heading h2{font-size:52px}.journey-next-hint{bottom:25px}}
@media(prefers-reduced-motion:reduce){.journey-intro h1 span,.journey-intro h1 em,.journey-intro-copy,.journey-scroll-cue,.journey-started .journey-next-hint{opacity:1;filter:none;transform:none}.journey-choice{animation:none}.journey-intro{transition:none}}
@media(max-width:760px) and (max-height:760px){.journey-choice-inner{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.journey-choice-heading{margin-top:17px;margin-bottom:19px;gap:14px}.journey-choice-heading h2{font-size:clamp(44px,7.2vh,55px)}.journey-choice-heading>p{font-size:11px;line-height:1.75}.journey-option{padding-block:16px}.journey-option strong{font-size:31px}.journey-option small{font-size:10px;margin-top:6px}.journey-choice-foot{margin-top:18px}}
/* Clipping also blocks focus/fragment scrolling inside the fixed entrance body. */
html.journey-awaiting,html.journey-awaiting body{overflow:clip}

/* Revision24: the welcome scene remains present while a program is chosen. */
.cinematic-journey .ritual-media{animation:none;isolation:isolate}
.cinematic-journey .ritual-media::after{z-index:3}
.welcome-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2;opacity:0;pointer-events:none}
.welcome-loop.ready{opacity:1}.welcome-loop[hidden]{display:none}
.journey-entering .journey-intro{opacity:0;transform:translateY(-10px);pointer-events:none}

.journey-scroll-cue{font-size:11px;letter-spacing:.13em;gap:20px}
.journey-scroll-cue svg{height:64px;width:24px;overflow:visible;animation:none}
.swipe-trail{transform-origin:12px 2px;animation:swipe-trail 2.4s cubic-bezier(.3,0,.2,1) infinite}
.swipe-chevron{animation:swipe-chevron 2.4s ease-in-out infinite}.swipe-chevron.second{animation-delay:.16s}
@keyframes swipe-trail{0%,100%{opacity:.3;transform:scaleY(.72)}45%{opacity:.9;transform:scaleY(1)}}
@keyframes swipe-chevron{0%,100%{opacity:.25;transform:translateY(-5px)}48%{opacity:1;transform:translateY(3px)}}
.journey-choice{background:transparent;overflow-y:auto}
.journey-choice::backdrop{background:transparent;backdrop-filter:none}
.journey-choice-inner{position:relative;width:50%;min-height:100%;margin:0;padding:110px var(--gutter) 44px;justify-content:center;background:linear-gradient(90deg,#1b2b23f5 75%,#1b2b23dd)}
.journey-choice-heading{grid-template-columns:1fr;gap:18px;margin:32px 0 23px}
.journey-choice-heading h2{font-size:clamp(48px,5.4vw,78px)}
.journey-choice-heading>p{max-width:380px;font-size:13px;line-height:1.8}
.journey-option{padding-block:22px}.journey-option strong{font-size:clamp(30px,3.2vw,46px)}
.journey-choice-foot{margin-top:22px}
.journey-choice .language button{color:#f6f3eb9c}
@media(max-width:760px){
 .ceremony-first .welcome-loop{object-position:center 30%}
 .journey-choice{background:linear-gradient(180deg,transparent 20%,#14231c0a 30%,#14231cbd 47%,#14231cf2 63%,#14231cfc 100%)}
 .journey-choice-inner{width:100%;min-height:100%;padding:0 26px calc(25px + env(safe-area-inset-bottom));justify-content:flex-end;background:none}
 .journey-choice-top{font-size:9px;letter-spacing:.06em;gap:15px}
 .journey-choice-heading{gap:11px;margin:15px 0 15px}
 .journey-choice-heading h2{font-size:40px;line-height:1.08}.journey-choice-heading h2 br{display:none}.journey-choice-heading h2 em{margin-left:.16em}
 .journey-choice-heading>p{font-size:11px;line-height:1.65;max-width:310px}
 .journey-option{padding:16px 0;gap:16px}.journey-option strong{font-size:31px;line-height:1.05}.journey-option small{font-size:10px;margin-top:6px}.journey-option-arrow{font-size:23px}
 .journey-choice-foot{font-size:9px;line-height:1.5;margin-top:17px}
 .journey-scroll-cue svg{height:57px;width:22px}
}
@media(max-width:760px) and (max-height:720px){
 .journey-choice-inner{padding:0 23px calc(16px + env(safe-area-inset-bottom))}
 .journey-choice-heading{margin:10px 0;gap:8px}.journey-choice-heading h2{font-size:34px}.journey-choice-heading>p{font-size:10px;line-height:1.5}
 .journey-option{padding:12px 0}.journey-option strong{font-size:28px}.journey-option small{font-size:9px;margin-top:5px}.journey-choice-foot{font-size:8px;margin-top:13px}
}
@media(min-width:761px) and (max-height:600px){
 .journey-choice-inner{padding-top:85px;padding-bottom:20px}.journey-choice-heading{margin:15px 0;gap:10px}.journey-choice-heading h2{font-size:40px}.journey-choice-heading h2 br{display:none}.journey-choice-heading h2 em::before{content:' '}.journey-choice-heading>p{font-size:11px}.journey-option{padding-block:11px}.journey-option strong{font-size:28px}.journey-option small{font-size:10px}.journey-choice-foot{margin-top:12px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){.swipe-trail,.swipe-chevron{animation:none}.welcome-loop{display:none}}

/* The requested welcome demonstration also works in embedded media-blocked views. */
.welcome-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2;opacity:0;pointer-events:none}
.welcome-canvas.ready{opacity:1}.welcome-canvas[hidden]{display:none}
@media(max-width:760px){.ceremony-first .welcome-canvas{object-position:center 30%}}

/* The greeting stays in the native media compositor whenever autoplay is available. */
.welcome-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2;opacity:0;pointer-events:none}.welcome-video.ready{opacity:1}
@media(max-width:760px){.ceremony-first .welcome-video{object-position:center 30%}}
/* A centered contact point follows the recorded upward hand gestures. */
.swipe-guide{position:absolute;left:50%;top:40%;z-index:4;color:#fff6df;display:flex;flex-direction:column;align-items:center;gap:15px;transform:translate(-50%,calc(-50% + var(--swipe-y,0px)));opacity:var(--swipe-opacity,0);pointer-events:none;will-change:transform,opacity}
.swipe-guide>span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 7px #342014b3}
.swipe-touch{position:relative;width:38px;height:38px}.touch-point,.touch-ripple{position:absolute;inset:0;border-radius:50%;border:1.5px solid #fff8e9}
.touch-point{display:grid;place-items:center;background:#fff8e926;box-shadow:0 0 20px #fff6dc28;transform:scale(var(--touch-scale,1))}.touch-core{width:9px;height:9px;border-radius:50%;background:#fff8e9;display:block}
.touch-ripple{transform:scale(var(--ripple-scale,1));opacity:var(--ripple-opacity,0);will-change:transform,opacity}.touch-trail{position:absolute;left:calc(50% - 2px);top:50%;width:4px;height:68px;border-radius:4px;background:linear-gradient(#fff8e980,transparent);transform:scaleY(var(--touch-trail,0));transform-origin:top}
body:has(#program-dialog[open]) .swipe-guide,.journey-entering .swipe-guide,.journey-started .swipe-guide{display:none}
.journey-options{max-height:53dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#eee5c944 transparent;padding-right:9px}
@media(max-width:760px){.swipe-guide>span{font-size:9px}.journey-choice-inner{position:absolute;inset:auto 0 0;min-height:0;max-height:65dvh;padding-top:15px}.journey-choice-heading{margin:10px 0 13px}.journey-choice-heading h2{font-size:34px}.journey-choice-heading>p{font-size:10px;line-height:1.6}.journey-options{max-height:36dvh}.journey-choice-foot{margin-top:14px;font-size:9px}}
@media(max-height:640px){.journey-choice-heading{margin:6px 0}.journey-choice-heading h2{font-size:29px}.journey-choice-heading>p{display:none}.journey-choice-inner{max-height:68dvh}.journey-options{max-height:40dvh}.journey-choice-foot{margin-top:10px}}
.boot-screen{position:relative;height:100dvh;overflow:hidden;background:#1b2b23;color:#f6f3eb}.boot-image{position:absolute;right:0;top:0;width:50%;height:100%;object-fit:cover}.boot-brand{position:absolute;left:var(--gutter);top:28px;font:29px var(--serif);z-index:1}.boot-copy{position:absolute;left:var(--gutter);bottom:100px;max-width:45%}.boot-copy>p{font-size:13px;color:#e8e2ce;margin-block:20px}.boot-copy h1{font-size:clamp(58px,6.1vw,91px)}.boot-copy em{color:#ddd6b6}@media(max-width:760px){.boot-image{width:100%;object-position:center 30%}.boot-screen::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#16231cd4)}.boot-copy{left:25px;right:25px;bottom:80px;max-width:none;z-index:1}.boot-copy h1{font-size:clamp(42px,12.8vw,60px)}.boot-brand{font-size:26px;left:25px}.boot-copy>p{font-size:12px}}
/* One selected ritual is explained; all five directions and the action stay visible. */
.program-palette{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-bottom:18px}.program-palette-option{min-height:48px;padding:10px 0;text-align:left;border-bottom:1px solid #f3e9cb34;color:#eee6cd9c;font:25px var(--serif);line-height:1.12}.program-palette-option.chosen{color:#fff2c9;border-color:#fff2c9}.program-palette-option:hover{color:#fff7e0}
.program-preview{max-height:25dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e1dab344 transparent;padding-right:10px}.program-preview-lead{font-size:12px;color:#f5e9c6;margin-bottom:14px}.program-preview dl{display:grid;gap:12px;margin:0}.program-preview dl>div{display:grid;grid-template-columns:80px 1fr;gap:12px}.program-preview dt{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#e1d9b7}.program-preview dd{font-size:11px;line-height:1.75;color:#f4eedbd1;margin:0}
.journey-options{overflow:visible;max-height:none;padding:0}.journey-options>.program-continue{margin-top:17px}.journey-choice-heading{margin-bottom:18px}
@media(max-width:760px){.journey-choice-inner{max-height:67dvh}.program-palette{gap:0 20px;margin-bottom:15px}.program-palette-option{min-height:39px;padding:8px 0;font-size:22px}.program-preview{max-height:18dvh}.program-preview-lead{font-size:11px;margin-bottom:12px}.program-preview dl{gap:10px}.program-preview dl>div{grid-template-columns:68px 1fr;gap:9px}.program-preview dd{font-size:10px;line-height:1.7}.program-preview dt{font-size:8px}.journey-options>.program-continue{margin-top:12px;min-height:45px;font-size:11px}.journey-choice-foot{margin-top:11px}}
@media(max-height:640px){.program-palette-option{font-size:20px;min-height:35px}.program-palette{margin-bottom:10px}.program-preview{max-height:16dvh}.program-preview-lead{font-size:10px}.journey-choice-inner{max-height:72dvh}.journey-choice-foot{font-size:8px}}
.program-continue{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 0;border-bottom:1px solid #efe2ae;color:#fff2cf;text-align:left;gap:18px;background:transparent}.program-continue span{font-size:26px}

/* Keep the knee-to-chest touch path clear of the introduction copy. */
.swipe-guide>span{position:absolute;left:calc(100% + 13px);top:50%;transform:translateY(-50%)}
@media(max-width:760px){.journey-location{max-width:140px}}
@media(max-width:760px) and (max-height:700px){.journey-intro{bottom:calc(18px + env(safe-area-inset-bottom))}.journey-intro .journey-location{display:none}.journey-intro h1{font-size:31px;line-height:1.05;margin-bottom:10px}.journey-intro h1 span,.journey-intro h1 em{display:inline}.journey-intro h1 em{margin-left:.18em}.journey-intro-copy{font-size:11px;line-height:1.5;max-width:310px}}
/* The program choice follows the pull, then settles or returns to the greeting. */
.journey-choice[open]{animation:none;transform:translate3d(0,var(--choice-offset,100dvh),0);opacity:var(--choice-opacity,0);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .22s ease;will-change:transform,opacity}
.journey-choice[open].choice-dragging{transition:none;pointer-events:none}.journey-choice[open].choice-closing{pointer-events:none}
.journey-awaiting .journey-intro{opacity:var(--choice-intro-opacity,1);transform:translateY(var(--choice-intro-y,0px));pointer-events:none}
.journey-entering .journey-intro{opacity:0}.choice-dragging .journey-intro{transition:none}
.choice-grip{height:25px;display:grid;place-items:start center;cursor:grab;touch-action:none;flex:none}.choice-grip span{display:block;width:43px;height:3px;border-radius:3px;background:#f4e9c078}
.journey-choice-heading[data-choice-drag]{touch-action:none;cursor:grab}.choice-back{min-height:40px;padding:7px 0 7px 12px;font-size:11px;color:#f4e9c0;letter-spacing:.03em;flex:none}.journey-choice-top{gap:16px}.choice-back:hover{color:#fff}
@media(prefers-reduced-motion:reduce){.journey-choice[open]{transition:none}}

.journey-choice.choice-dragging button:focus-visible{outline:none}

/* A single anchored header and an uninterrupted introduction to the ceremony. */
.ceremony-first .site-header{inset:0 0 auto;height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:linear-gradient(#17231c99,#17231c22);backdrop-filter:none;border:0;transform:none}
.language{align-items:center;gap:0;border:1px solid #66714833;border-radius:20px;padding:2px;flex:none}
.language button{min-width:29px;min-height:28px;padding:3px 5px;border-radius:15px;font-size:10px;font-weight:400;line-height:1;letter-spacing:.03em}
.language button[aria-pressed=true]{font-weight:500;background:#66714815}
.ceremony-first .site-header .language{border-color:#fff4d632}
.ceremony-first .site-header .language button[aria-pressed=true]{background:#fff4d61c;color:#fff9e8}
.ceremony-first .site-header .language button{color:#fff9e8a6}
.journey-started .welcome-video,.journey-started .welcome-canvas{opacity:0;transition:opacity .4s ease}
.journey-started .cinematic-journey[data-chapter="0"] .journey-caption{opacity:1}
.journey-entering .journey-caption{opacity:1}
@media(max-width:760px){
 .ceremony-first .brand{font-size:25px}.ceremony-first .header-inner{gap:8px}.ceremony-first .header-tools{gap:5px}
 .ceremony-first .site-header .brand-leaf{width:25px}.ceremony-first .site-header .cart-button,.ceremony-first .site-header .menu-button{padding:7px}
 .language button{min-width:27px;min-height:28px;font-size:9px}
 .ritual-stepper{right:13px;gap:6px;top:45%}.ritual-step::after{height:4px}
 .ritual-step-label{right:37px;font-size:9px}
 .journey-caption{right:65px;max-width:calc(100% - 90px)}
 .journey-caption h2{font-size:clamp(28px,8vw,36px)}.journey-caption p{max-width:290px;font-size:12px}
}
@media(max-width:360px){.ceremony-first .brand{font-size:21px}.ceremony-first .site-header .brand-leaf{width:21px}.ceremony-first .header-tools{gap:2px}.language button{min-width:24px}}
@media(max-height:600px){.ritual-stepper{gap:3px;top:46%}.ritual-step{width:26px;height:26px}.ritual-step-icon{width:26px;height:26px}.ritual-step-icon svg{width:17px;height:17px}.ritual-step::after{top:27px;height:1px}.journey-caption{bottom:22px}.journey-caption h2{font-size:29px;margin-bottom:9px}.journey-caption p{font-size:11px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.ritual-stepper,.ritual-step-icon,.ritual-step-label,.journey-started .welcome-video,.journey-started .welcome-canvas{transition:none}}

/* Nine stages: the active node opens space below; its track fills with decoded film time. */
.ritual-stepper{--step-size:32px;position:absolute;z-index:4;right:28px;top:105px;height:clamp(370px,56dvh,490px);width:40px;display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:0;opacity:0;visibility:hidden;transition:opacity .45s ease;pointer-events:none;transform:none}
.journey-started .ritual-stepper{opacity:1;visibility:visible}
.ritual-step{position:relative;flex:1 1 0;min-height:0;width:40px;height:auto;display:flex;justify-content:center;align-items:flex-start;color:#f6ebc9b8;transition:flex-grow .48s cubic-bezier(.2,.8,.2,1)}
.ritual-step:last-child{flex:0 0 var(--step-size)}
.ritual-step.current:not(:last-child){flex-grow:1.75}
.ritual-step::after{content:none}
.ritual-step-icon{position:relative;z-index:1;display:grid;place-items:center;width:var(--step-size);height:var(--step-size);border:1px solid transparent;border-radius:50%;background:#1c2b231a;transform:scale(.88);opacity:.7;filter:drop-shadow(0 1px 4px #17231c99);transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease,color .35s ease,background .35s ease,border-color .35s ease}
.ritual-step-icon svg{width:25px;height:25px}
.ritual-step.current{color:#fff0bd}.ritual-step.current .ritual-step-icon{transform:scale(1.18);opacity:1;border-color:#fae7a880;background:#203a2c9c;box-shadow:0 0 16px #f5dea410}
.ritual-step.past{color:#f3dbaa}.ritual-step.past .ritual-step-icon{opacity:.9}
.ritual-step-track{position:absolute;left:calc(50% - .75px);top:calc(var(--step-size) + 5px);bottom:5px;width:1.5px;overflow:hidden;border-radius:2px;background:#f2e0b62b}
.ritual-step-fill{position:absolute;inset:0;display:block;background:linear-gradient(#fff0ba,#d9be7e);transform:scaleY(0);transform-origin:top}
.ritual-step.current .ritual-step-fill{transform:scaleY(var(--step-progress,0));will-change:transform}
.ritual-step.past .ritual-step-fill{transform:scaleY(1)}
.ritual-step-label{position:absolute;right:46px;top:calc(var(--step-size)/2);font-size:11px;line-height:1.3;white-space:nowrap;letter-spacing:.025em;opacity:0;transform:translate(5px,-50%);text-shadow:0 1px 5px #17231ccc;transition:opacity .3s ease,transform .4s ease}
.ritual-step.current .ritual-step-label{opacity:1;transform:translate(0,-50%)}
.journey-caption{bottom:clamp(86px,12dvh,130px);max-width:520px}
.journey-caption h2{font-size:clamp(44px,4.5vw,64px);line-height:1.04;margin-bottom:19px}
.journey-caption p{font-size:18px;line-height:1.65;max-width:430px;color:#fff7e7eb}
@media(max-width:760px){
 .ritual-stepper{right:12px;top:calc(80px + 2dvh);height:clamp(350px,56dvh,480px);gap:0;--step-size:30px}
 .ritual-step{width:40px;height:auto}.ritual-step-icon svg{width:24px;height:24px}
 .ritual-step-label{right:43px;font-size:10px}
 .journey-caption{left:25px;right:66px;width:auto;max-width:none;bottom:calc(clamp(80px,12dvh,112px) + env(safe-area-inset-bottom))}
 .journey-caption h2{font-size:clamp(38px,10.8vw,47px);line-height:1.04;margin-bottom:17px}
 .journey-caption p{font-size:16px;line-height:1.6;max-width:340px}
}
@media(max-width:360px){.journey-caption{left:21px;right:61px}.journey-caption h2{font-size:36px}.journey-caption p{font-size:15px}.ritual-stepper{right:7px}.ritual-step-label{font-size:9px}}
@media(max-height:650px){
 .ritual-stepper{--step-size:26px;top:86px;height:clamp(275px,54dvh,350px);gap:0}
 .ritual-step{width:40px;height:auto}.ritual-step-icon{width:var(--step-size);height:var(--step-size)}.ritual-step-icon svg{width:21px;height:21px}
 .ritual-step.current:not(:last-child){flex-grow:1.6}.ritual-step-track{top:calc(var(--step-size) + 3px);bottom:3px}
 .journey-caption{bottom:calc(64px + env(safe-area-inset-bottom))}.journey-caption h2{font-size:35px;margin-bottom:13px}.journey-caption p{font-size:15px;line-height:1.5}
}
@media(max-height:480px){.ritual-stepper{--step-size:21px;top:76px;height:calc(100dvh - 100px)}.ritual-step-icon svg{width:18px;height:18px}.ritual-step-track{top:calc(var(--step-size) + 1px);bottom:1px}.journey-caption{bottom:30px;max-width:calc(100% - 110px)}.journey-caption h2{font-size:30px;margin-bottom:9px}.journey-caption p{font-size:14px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){.ritual-stepper,.ritual-step,.ritual-step-icon,.ritual-step-label{transition:none}}

/* Tactile objects from the film world; the rail is a quiet, clickable navigator. */
.ritual-stepper{top:150px;pointer-events:auto}
.ritual-step-button{position:relative;z-index:2;display:grid;place-items:center;width:44px;height:40px;padding:0;border:0;background:none;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ritual-step-icon{display:block;flex:none;width:36px;height:36px;border:0!important;border-radius:0;background:transparent url('./media/ritual-icons-v38.webp') var(--sprite-x) var(--sprite-y)/300% 300% no-repeat;box-shadow:none!important;filter:drop-shadow(0 2px 3px #18251d80);transform:scale(.94);opacity:.78}
.ritual-step.current .ritual-step-icon{transform:scale(1.17);opacity:1;background:transparent url('./media/ritual-icons-v38.webp') var(--sprite-x) var(--sprite-y)/300% 300% no-repeat;border:0;box-shadow:none}
.ritual-step.past .ritual-step-icon{opacity:.92}
.ritual-step-button:hover .ritual-step-icon{opacity:1;filter:drop-shadow(0 1px 4px #ead7a855)}
.ritual-step-button:focus-visible{outline:1px solid #f4e6bd;border-radius:5px;outline-offset:3px}
.ritual-step-track{top:calc(var(--step-size) + 8px)}
.ritual-step.current:not(.tracking) .ritual-step-fill{transform:scaleY(0)}
.ritual-step.tracking .ritual-step-fill{transform:scaleY(var(--step-progress,0));transform-origin:top;will-change:transform}
.ritual-step.returning .ritual-step-fill{transform-origin:bottom;background:linear-gradient(0deg,#fff0ba,#d9be7e)}
@media(max-width:760px){.ritual-stepper{top:calc(110px + 5dvh);height:clamp(330px,54dvh,460px);--step-size:34px}.ritual-step-button{height:38px}.ritual-step-label{display:none}.ritual-step-icon{width:36px;height:36px}.ritual-step-track{top:39px;bottom:4px}}
@media(max-height:650px){.ritual-stepper{top:125px;height:clamp(265px,51dvh,325px);--step-size:29px}.ritual-step-button{height:31px}.ritual-step-icon{width:31px;height:31px}.ritual-step-track{top:33px;bottom:2px}}
@media(max-height:480px){.ritual-stepper{top:84px;height:calc(100dvh - 115px);--step-size:21px}.ritual-step-button{height:22px}.ritual-step-icon{width:23px;height:23px}.ritual-step-track{top:23px;bottom:1px}}
.ritual-step-button{max-height:100%}

/* Reverse motion opens the gap toward the previous node, keeping its track visible. */
.ritual-step.current.going-back:not(:last-child){flex-grow:1}
.ritual-step.returning:not(:last-child){flex-grow:1.75}
@media(max-height:650px){.ritual-step.returning:not(:last-child){flex-grow:1.6}}

/* Approved contour family: grey stages, white active stage, no enclosing plate. */
.ritual-step .ritual-step-icon,.ritual-step.current .ritual-step-icon{background:transparent url('./media/outline-icons-v40.webp') var(--sprite-x) var(--sprite-y)/300% 300% no-repeat;border:0!important;border-radius:0;box-shadow:none!important;opacity:1}
.ritual-step:not(.current) .ritual-step-icon,.ritual-step:not(.current) .ritual-step-button:hover .ritual-step-icon{filter:brightness(0) invert(.68) drop-shadow(0 1px 1px #17231c80);opacity:1}
.ritual-step.current .ritual-step-icon,.ritual-step.current .ritual-step-button:hover .ritual-step-icon{filter:brightness(0) invert(1) drop-shadow(0 1px 1px #17231c80);opacity:1}
.ritual-step{color:#adadad}.ritual-step.current{color:#fff}.ritual-step-track{background:#c2c2c24a}.ritual-step-fill,.ritual-step.returning .ritual-step-fill{background:#fff}.ritual-step.past:not(.tracking) .ritual-step-fill{background:#b8b8b880}

/* Keep page-boundary gestures inside the web document; native host chrome remains separate. */
html.ritual-page,html.ritual-page body{overscroll-behavior:none}
.cinematic-journey .ritual-stage{overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
.caption-current{position:relative}.caption-line{display:block}.caption-ghost{position:absolute;inset:0;pointer-events:none}
.journey-caption{transition:opacity .18s ease}
.journey-started .cinematic-journey[data-navigating=true] .journey-caption{opacity:0;pointer-events:none}
@keyframes journey-word{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.journey-intro h1 span,.journey-intro h1 em,.journey-intro-copy{animation-duration:.8s}
.journey-intro h1 em{animation-delay:.08s}.journey-intro-copy{animation-delay:.18s}
@media(prefers-reduced-motion:reduce){.journey-caption{transition:none}.journey-intro h1 span,.journey-intro h1 em,.journey-intro-copy{animation:none}}

/* Gesture-led tour: quiet botanical guidance and one stable reading position. */
.cinematic-journey .ritual-stage{touch-action:pinch-zoom}
.journey-intro{bottom:clamp(140px,18dvh,210px)}
.journey-intro h1{margin:0;font-size:clamp(58px,6.1vw,91px)}
.swipe-guide{position:absolute;z-index:4;width:40px;display:block;transform:translateX(-50%);opacity:1;color:#fff0cf;pointer-events:none;will-change:auto}
.gesture-path{position:absolute;inset:0;width:100%;height:100%;opacity:.4;overflow:visible}
.gesture-trace{stroke-dasharray:230;stroke-dashoffset:230}
.gesture-mark{position:absolute;left:5px;top:-14px;display:block;width:30px;height:67px;filter:drop-shadow(0 1px 5px #26302080);will-change:transform,opacity}
.gesture-mark img{display:block;width:100%;height:100%}
.journey-entering .swipe-guide,.journey-started .swipe-guide{display:none}
.cinematic-journey[data-caption] .journey-caption{top:auto;left:var(--gutter);right:90px;width:calc(50% - var(--gutter)*2);max-width:520px;bottom:clamp(120px,16dvh,170px);isolation:auto;text-shadow:0 2px 15px #0e1b1480}
.journey-caption::before{content:none;background:none}
.cinematic-journey .journey-caption h2{font-size:clamp(44px,4.5vw,64px);line-height:1.04;margin-bottom:18px}
.cinematic-journey .journey-caption p{font-size:18px;line-height:1.6;max-width:430px;color:#fff8ec}
.journey-started .cinematic-journey[data-reversing=true] .journey-caption{opacity:0}
.end-page-cue{position:absolute;z-index:5;bottom:27px;left:var(--gutter);display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:.035em;color:#fff4dc;opacity:0;visibility:hidden;transition:opacity .5s ease;pointer-events:none}
.end-page-handle{display:block;width:42px;height:3px;border-radius:3px;background:currentColor;opacity:.65}
.cinematic-journey[data-continuation=true] .end-page-cue{opacity:1;visibility:visible}
@media(max-width:760px){
 .journey-intro{left:25px;right:65px;width:auto;bottom:clamp(135px,19dvh,185px)}
 .journey-intro h1{font-size:clamp(41px,11.8vw,54px);line-height:1.03;margin:0}
 .cinematic-journey[data-caption] .journey-caption{top:auto;left:25px;right:68px;width:auto;max-width:none;bottom:calc(clamp(114px,16dvh,150px) + env(safe-area-inset-bottom))}
 .cinematic-journey .journey-caption h2{font-size:clamp(34px,9.5vw,43px);line-height:1.07;margin-bottom:17px}
 .cinematic-journey .journey-caption p{font-size:16px;line-height:1.55;max-width:340px}
 .ceremony-first .cinematic-journey .ritual-media::after{inset:0;background:linear-gradient(180deg,#17231c20 0%,transparent 30%,#14241d14 42%,#102019a3 72%,#102019eb 100%)}
 .end-page-cue{left:25px;bottom:calc(30px + env(safe-area-inset-bottom));font-size:12px}
}
@media(max-height:650px){
 .journey-intro{bottom:125px}.journey-intro h1{font-size:39px}
 .cinematic-journey[data-caption] .journey-caption{bottom:105px}
 .cinematic-journey .journey-caption h2{font-size:32px;margin-bottom:13px}.cinematic-journey .journey-caption p{font-size:15px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.end-page-cue{transition:none}}

.boot-copy{bottom:clamp(135px,19dvh,185px)}

/* The welcome title owns its own lane; the full hand silhouette stays above it. */
.journey-intro h1 span,.journey-intro h1 em{display:block;margin-left:0}
@media(max-width:760px){
 .journey-intro{left:25px;right:25px;width:auto;bottom:calc(clamp(24px,5.2dvh,60px) + env(safe-area-inset-bottom))}
 .journey-intro h1{font-size:clamp(37px,10.8vw,54px);line-height:1.03}
}
/* A portrait film stays whole on laptops and wide monitors. */
@media(min-width:761px){
 .cinematic-journey .ritual-media{background:#1b2b23}
 .cinematic-journey .ritual-image,.cinematic-journey .ritual-video,.cinematic-journey .welcome-video,.cinematic-journey .welcome-canvas{object-fit:contain;object-position:center}
 .cinematic-journey .ritual-media::after{inset:0;background:linear-gradient(90deg,#1b2b2399,transparent 18%,transparent 82%,#1b2b2366);pointer-events:none}
 .ceremony-first .header-tools{margin-left:auto}
}
@media(min-width:761px) and (max-width:1100px){.ceremony-first .desktop-nav{display:none}.ceremony-first .menu-button{display:block}.ceremony-first .header-action{display:none}}
/* The next real section follows the screen, without programmatic document scroll. */
.cinematic-journey[data-continuation=true] .ritual-stage,.continuation-preview{will-change:transform}
.continuation-preview{position:relative;z-index:6;background:var(--paper)}
.cinematic-journey .ritual-stage{user-select:none;-webkit-user-select:none}

/* One program unfolds at a time as the guest continues down the page. */
.programs-section{padding-top:56px;padding-bottom:0;height:276svh}
.program-stage{position:sticky;top:88px;height:calc(100dvh - 104px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,130px);align-content:center}
.program-heading h2{font-size:clamp(48px,5.2vw,76px);line-height:1.01;margin-bottom:22px}.program-heading p{font-size:16px;max-width:330px;line-height:1.7;color:#69715e}
.program-row{border-top:1px solid #89917366}.program-row:last-of-type{border-bottom:1px solid #89917366}
.program-summary{display:grid;grid-template-columns:32px 1fr 22px;align-items:center;gap:16px;width:100%;padding:18px 0;text-align:left;font:38px/1.1 var(--serif);letter-spacing:-.025em}.program-row-number{font-size:22px;color:var(--olive)}.program-summary svg{width:20px;height:20px;color:var(--olive);transition:transform .6s var(--ease)}.expanded .program-summary svg{transform:rotate(180deg)}
.program-panel{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .4s ease,visibility .6s}.program-panel>div{overflow:hidden;min-height:0;padding-left:48px}.program-row.expanded .program-panel{grid-template-rows:1fr;visibility:visible;opacity:1}
.program-panel .program-description{font-size:15px;line-height:1.7;max-width:490px;margin-bottom:15px;color:#59624e}.program-pick{font-size:13px;min-height:38px;padding:4px 0;margin-bottom:18px;border-bottom:1px solid #7b8560;border-radius:0;color:var(--olive-dark);background:none!important}.program-pick.chosen{color:var(--ink)}.program-profile-note{font-size:11px;line-height:1.65;max-width:490px;margin:19px 0 0;color:#7a806d}
.intensity-section .intensity-band{padding-top:32px}
@media(max-width:900px){.program-stage{display:block;padding-top:18px}.program-heading{margin-bottom:25px}.program-heading h2{font-size:44px;margin-bottom:13px}.program-heading p{font-size:13px;max-width:350px}.program-summary{font-size:32px;padding:14px 0;gap:12px;grid-template-columns:27px 1fr 20px}.program-row-number{font-size:18px}.program-panel>div{padding-left:39px}.program-panel .program-description{font-size:13px;line-height:1.65}.program-pick{font-size:12px;margin-bottom:12px}.program-profile-note{font-size:10px;margin-top:14px}}
@media(max-width:760px){.programs-section{padding-top:38px}.program-stage{height:calc(100dvh - 104px);padding-top:0}.program-heading h2 br{display:none}.program-heading h2 em{color:var(--olive)}.program-heading h2{font-size:42px;line-height:1.03}.program-heading{margin-bottom:20px}.program-summary{font-size:29px;padding:12px 0}.program-panel .program-description{margin-bottom:8px}.program-pick{min-height:30px;margin-bottom:12px}.program-profile-note{max-width:330px}}
@media(max-height:700px) and (max-width:900px){.program-stage{top:78px;height:calc(100dvh - 88px)}.program-heading{margin-bottom:12px}.program-heading h2{font-size:35px;margin-bottom:9px}.program-heading p{font-size:11px;line-height:1.5}.program-summary{font-size:26px;padding:9px 0}.program-panel .program-description{font-size:12px;line-height:1.55}.program-pick{min-height:27px;margin-bottom:7px}.program-profile-note{font-size:9px;line-height:1.5;margin-top:11px}}
@media(max-height:600px) and (max-width:900px){.program-heading h2{font-size:30px}.program-heading p{font-size:10px}.program-summary{font-size:23px;padding:7px 0;gap:8px}.program-panel>div{padding-left:35px}.program-panel .program-description{font-size:11px;line-height:1.5}.program-row-number{font-size:15px}.program-pick{font-size:11px}.program-profile-note{font-size:8px}}
@media(max-height:500px) and (min-width:761px){.program-stage{grid-template-columns:.7fr 1.3fr;align-content:start}.program-heading h2{font-size:38px}.program-heading p{font-size:11px}.program-summary{font-size:24px;padding:6px 0}.program-panel .program-description{font-size:11px;line-height:1.45}.program-pick{min-height:24px;margin-bottom:6px}.program-profile-note{font-size:8px;margin-top:8px}}
/* The hanging shop keeps the tactile objects free of product-card plates. */
.venik-shop-page .site-header{height:88px}.venik-shop-page .desktop-nav,.venik-shop-page .header-action{display:none}.venik-shop-page .header-tools{margin-left:auto}.venik-shop-page .menu-button{display:block}.shop-heading{padding-top:115px}.shop-heading .back-link{margin-bottom:22px;font-size:12px}.shop-heading h1{font-size:clamp(47px,5vw,76px);line-height:1.02}
.venik-stage{position:relative;margin:28px auto 10px;height:clamp(315px,42dvh,470px);max-width:1180px;overflow:hidden;touch-action:pan-y;user-select:none}.venik-rope{position:absolute;top:0;left:0;width:100%;height:100px;overflow:visible;pointer-events:none}.venik-hangers{position:absolute;inset:0;transform:translateX(var(--rail-drag,0));transition:transform .35s var(--ease)}
.venik-slot{position:absolute;top:var(--hook-y,40px);left:var(--slot-x,50%);width:clamp(190px,21vw,290px);height:calc(100% - 55px);padding:0;transform:translateX(-50%) scale(var(--slot-scale,.8));transform-origin:50% 0;transition:left .8s var(--ease),transform .8s var(--ease);outline-offset:-4px;cursor:pointer;-webkit-user-drag:none}.venik-hang{position:absolute;inset:0;display:block;transform-origin:50% 0}.venik-hook{position:absolute;left:calc(50% - 14px);top:-8px;width:28px;height:53px;z-index:2;filter:drop-shadow(0 1px 1px #68542a20)}.venik-swing{position:absolute;inset:31px 0 0;display:block;transform-origin:50% 0;filter:drop-shadow(0 8px 11px #4c482214)}.venik-swing>img{height:100%;width:100%;object-fit:contain;object-position:top center;pointer-events:none}.venik-pair{position:absolute;inset:0;display:block}.venik-pair img{position:absolute;top:0;width:79%;height:100%;object-fit:contain;object-position:top center;pointer-events:none}.venik-pair img:first-child{left:0;transform:rotate(6deg)}.venik-pair img:last-child{right:0;transform:rotate(-6deg)}.venik-tag{display:none}
.shop-rail-nav{display:flex;justify-content:center;gap:28px;margin-top:14px;margin-bottom:38px}.shop-rail-nav button{font-size:12px;padding:7px 0;color:#8b907c;border-bottom:1px solid transparent}.shop-rail-nav button[aria-pressed=true]{color:var(--ink);border-color:var(--olive)}
.shop-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1100px}.shop-product-copy h2{font-size:48px;margin-bottom:17px}.shop-product-copy p{font-size:16px;color:#5c654f;max-width:420px;line-height:1.65}.shop-price{font-size:12px;color:#899078;margin-bottom:14px}.shop-buy .options{margin-bottom:16px}.shop-buy .option{font-size:12px;padding:9px 17px;border-radius:0;border:0;border-bottom:1px solid #b2b79f;background:transparent}.shop-buy .option.active{background:transparent;color:var(--olive-dark);border-color:var(--olive)}.shop-buy-row{display:flex;gap:20px;align-items:center}.shop-buy-row .quantity{flex:none}.shop-buy-row .button{flex:1;min-height:49px;font-size:13px}.shop-more{display:inline-block;margin-top:15px;font-size:11px;color:var(--olive);border-bottom:1px solid #9ba389}.shop-note{font-size:11px;color:#868e75;padding-top:35px;padding-bottom:60px;max-width:1100px}
@media(max-width:760px){.venik-shop-page .site-header{height:76px}.shop-heading{padding-top:93px}.shop-heading .back-link{margin-bottom:18px;font-size:11px}.shop-heading h1{font-size:45px}.venik-stage{height:clamp(270px,36dvh,360px);margin-top:22px}.venik-slot{width:205px}.shop-rail-nav{gap:20px;margin-top:3px;margin-bottom:25px}.shop-rail-nav button{font-size:10px}.shop-detail{display:block}.shop-product-copy h2{font-size:38px;margin-bottom:12px}.shop-product-copy p{font-size:13px;line-height:1.6;max-width:330px}.shop-buy{margin-top:20px}.shop-price{margin-bottom:8px;font-size:10px}.shop-buy .options{margin-bottom:15px}.shop-buy-row{gap:15px}.shop-buy-row .button{font-size:12px;padding-inline:16px}.shop-note{font-size:10px;line-height:1.7;padding-top:26px;padding-bottom:35px}.shop-more{font-size:10px}}
@media(max-height:650px) and (max-width:760px){.shop-heading{padding-top:85px}.shop-heading .back-link{margin-bottom:12px}.shop-heading h1{font-size:39px}.venik-stage{height:235px;margin-top:12px}.venik-slot{width:175px}.shop-rail-nav{margin-bottom:17px}.shop-product-copy h2{font-size:33px}.shop-buy{margin-top:14px}}
.programs-section{scroll-margin-top:32px}@media(max-width:760px){.programs-section{scroll-margin-top:40px}}
@media(max-height:480px) and (min-width:761px){.program-stage{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px;top:78px;height:calc(100dvh - 90px)}.program-summary{font-size:23px;padding:4px 0}.program-heading h2{font-size:36px}.program-heading p{font-size:11px}.program-panel .program-description{font-size:11px;line-height:1.4;margin-bottom:6px}.program-pick{min-height:24px;margin-bottom:5px}.program-profile-note{font-size:8px;line-height:1.35;margin-top:7px}}
@media(max-width:760px){.program-heading h2 em{margin-left:.15em}}
.ceremony-first:not(.cinema-active) .site-header{background:#f6f3ebf5;color:var(--ink)}
.ceremony-first:not(.cinema-active) .site-header .brand{color:var(--ink)}
.ceremony-first:not(.cinema-active) .site-header .brand-leaf{color:var(--olive)}
.ceremony-first:not(.cinema-active) .site-header .language{border-color:#66714833}
.ceremony-first:not(.cinema-active) .site-header .language button{color:#7c846c}
.ceremony-first:not(.cinema-active) .site-header .language button[aria-pressed=true]{color:var(--ink);background:#66714815}
@media(max-width:760px){.shop-rail-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.shop-rail-nav button{flex:none;white-space:nowrap}}
@media(max-width:900px){.program-panel .program-description{font-size:14px}.program-pick{min-height:38px;font-size:13px}}
@media(max-height:700px) and (max-width:900px){.program-panel .program-description{font-size:14px}.program-pick{min-height:36px;font-size:12px}}
@media(max-height:600px) and (max-width:760px){.program-panel .program-description{font-size:13px;line-height:1.5}.program-pick{min-height:38px;font-size:12px}.program-profile-note{display:none}}
@media(max-height:480px) and (min-width:761px){.program-panel .program-description{font-size:12px;line-height:1.4}.program-pick{min-height:28px;font-size:11px}}

/* Each hanger is anchored to the rope; only the suspended bundle changes scale. */
.rope-track{position:absolute;inset:0;pointer-events:none}.venik-rope{height:104px;filter:drop-shadow(0 2px 1px #65472112)}
.venik-hangers{transform:none;transition:none}.venik-stage{height:clamp(350px,46dvh,490px);cursor:grab}.venik-stage.dragging{cursor:grabbing}
.venik-slot{top:0;left:0;transform:none;transform-origin:50% 0;transition:none;width:clamp(220px,22vw,290px);height:calc(100% - 72px);will-change:transform}
.venik-hook{left:calc(50% - 18px);top:-12px;width:36px;height:68px;filter:drop-shadow(1px 2px 1px #61422533)}
.venik-swing{inset:34px 0 auto;height:auto;transform:scale(var(--venik-scale,1));transform-origin:50% 14px;filter:drop-shadow(0 7px 9px #4c482218)}
.venik-art{display:block;width:100%;transform-origin:50% 14px}.venik-art>img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}.venik-art .venik-pair{position:relative;aspect-ratio:3/4}.venik-pair img{height:auto;top:0}.venik-slot:focus-visible{outline:1px solid var(--olive);border-radius:2px}
.program-panel .program-description{padding-bottom:17px;margin-bottom:0}.format-choice{cursor:default}.format-choice-name{font-weight:400}.format-choice-desc{margin:0}.booking-preferences{display:grid;gap:20px;margin-bottom:27px}.booking-preferences select{width:100%}
@media(max-height:650px) and (max-width:760px){.venik-stage{height:285px}.venik-slot{width:190px}}
.venik-swing{inset:34px 0 0;height:auto}.venik-art{height:100%}.venik-art>img{height:100%;object-fit:contain;object-position:top center}.venik-art .venik-pair{height:100%;aspect-ratio:auto}.venik-pair img{height:100%;object-fit:contain;object-position:top center}

/* The main site introduces parenie; the shop is a separate destination. */
.header-shop{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 5px;font:13px/1 var(--sans);letter-spacing:.03em;border-bottom:1px solid currentColor}
.ceremony-first .header-action{display:inline-flex;flex:none;font-size:13px;padding-inline:22px;min-height:44px;background:transparent;border-color:#eee6ce87;color:inherit}
.header-shop:focus-visible,.header-action:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.booking-bridge{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:25px 65px}.booking-bridge p{font:17px/1.6 var(--sans);color:#6b745f}.booking-bridge .text-link{font-size:16px;border-bottom:1px solid var(--olive);padding-bottom:8px;white-space:nowrap}
.booking-end{display:block;border-top:1px solid var(--line);padding-block:80px 100px}.booking-end .end-copy{max-width:790px}.booking-end .end-copy h2{font-size:clamp(66px,7vw,102px);line-height:1}.booking-end .end-copy p{max-width:520px}.booking-end .end-copy .button{margin-top:30px;min-height:54px;padding-inline:28px}.booking-end .end-copy .small{font-size:11px;color:#818772;margin-top:21px}
.booking-brand{font:27px/1 var(--serif);letter-spacing:-.025em}.short-booking-form{gap:24px}.short-booking-form .field>span,.guest-field>label{font-size:13px;color:var(--ink)}.short-booking-form .field input{background:#fffdf72e;border:0;border-bottom:1px solid #a8ad97;border-radius:0;padding:14px 0;font-size:17px;min-height:54px}.short-booking-form .field input:focus{outline:0;border-color:var(--olive);box-shadow:0 1px 0 var(--olive)}
#booking-dialog .dialog-top{margin-bottom:44px}#booking-dialog h2{font-size:58px;line-height:1.02;margin-bottom:22px}#booking-dialog h2 em{color:var(--olive)}#booking-dialog .drawer-intro{font-size:14px;line-height:1.7;max-width:370px;margin-bottom:30px}
.guest-field{display:flex;align-items:center;justify-content:space-between;border-block:1px solid #c5c8b6;padding:9px 0;margin-top:7px}.guest-counter{display:flex;align-items:center;gap:8px}.guest-counter button{display:grid;place-items:center;width:40px;height:44px;color:var(--olive)}.guest-counter svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}.guest-counter input{appearance:textfield;-moz-appearance:textfield;width:42px;min-width:0;border:0;background:none;text-align:center;font:25px/1 var(--serif);color:var(--ink)}.guest-counter input::-webkit-inner-spin-button,.guest-counter input::-webkit-outer-spin-button{appearance:none;margin:0}.short-booking-form .form-submit{margin-top:8px;justify-content:center;min-height:56px;border-radius:2px;font-size:14px;letter-spacing:.01em}.booking-demo-note{font-size:11px;color:#7a836c;line-height:1.6;margin-top:-12px;max-width:330px}.booking-demo-status{font-size:13px;color:var(--olive-dark);line-height:1.6;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:1100px){.ceremony-first .header-action{display:inline-flex}.ceremony-first .desktop-nav{display:none}.ceremony-first .menu-button{display:block}}
@media(max-width:760px){
 .ceremony-first .site-header{height:calc(98px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
 .ceremony-first .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:56px 34px;gap:0;padding-inline:20px;align-content:start}
 .ceremony-first .brand{grid-column:1;grid-row:1;font-size:24px}.ceremony-first .header-tools{grid-column:2;grid-row:1;gap:7px;margin:0}.ceremony-first .header-shop{font-size:12px;min-height:32px;padding-inline:2px}
 .ceremony-first .header-action{grid-column:1/-1;grid-row:2;justify-self:start;min-height:30px;padding:0 0 4px;border:0;border-bottom:1px solid #f4ead096;border-radius:0;font-size:13px;font-weight:500;box-shadow:none;background:none}
 .ceremony-first:not(.cinema-active) .header-action{border-color:#8b947b}
 .program-stage{top:110px;height:calc(100dvh - 124px)}
 .booking-bridge{display:block;padding-block:20px 48px}.booking-bridge p{font-size:14px;margin-bottom:20px}.booking-bridge .text-link{font-size:15px}
 .booking-end{padding-block:55px 65px}.booking-end .end-copy h2{font-size:64px}.booking-end .end-copy p{font-size:15px}.booking-end .end-copy .button{margin-top:25px;font-size:14px}
 #booking-dialog{padding:24px 25px 35px}#booking-dialog .dialog-top{margin-bottom:40px}#booking-dialog h2{font-size:52px}.booking-brand{font-size:25px}.short-booking-form{gap:22px}
}
@media(max-width:360px){.ceremony-first .brand{font-size:21px}.ceremony-first .header-inner{padding-inline:16px}.ceremony-first .header-tools{gap:4px}.ceremony-first .language button{min-width:22px}.ceremony-first .site-header .brand-leaf{width:20px}.ceremony-first .header-action{font-size:12px}#booking-dialog h2{font-size:45px}#booking-dialog .dialog-top{margin-bottom:28px}.guest-counter{gap:0}.short-booking-form{gap:19px}}
@media(max-height:700px){
 #booking-dialog .dialog-top{margin-bottom:24px}#booking-dialog h2{font-size:48px;margin-bottom:18px}#booking-dialog .drawer-intro{font-size:13px;line-height:1.5;margin-bottom:22px}
 .short-booking-form{gap:17px}.short-booking-form .field input{min-height:46px;padding-block:10px}.guest-field{margin-top:0;padding-block:6px}.short-booking-form .form-submit{min-height:50px;margin-top:0}.booking-demo-note{font-size:10px;margin-top:-5px}
}
@media(max-height:600px){#booking-dialog .drawer-intro{display:none}#booking-dialog .dialog-top{margin-bottom:20px}#booking-dialog h2{font-size:43px;margin-bottom:18px}.short-booking-form{gap:16px}}

/* Steam Master: one compact header and a single thumb-reachable primary action. */
:root{--body-readable:16px;--caption-readable:14px}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.ceremony-first .site-header,.venik-shop-page .site-header{height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
.ceremony-first .header-inner,.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;align-content:initial}
.ceremony-first .brand,.brand{font-size:32px;letter-spacing:-.025em;gap:10px}.ceremony-first .brand-leaf,.brand .brand-leaf{width:29px;height:36px}
.ceremony-first .header-tools,.header-tools{display:flex;gap:20px;align-items:center;margin-left:auto}.header-shop,.ceremony-first .header-shop{font-size:16px;min-height:44px;padding-inline:4px;border:0}
.language-picker{position:relative;font-size:14px;color:inherit}.language-picker summary{display:flex;align-items:center;justify-content:center;gap:5px;list-style:none;cursor:pointer;min-width:52px;min-height:44px;padding:0 2px;user-select:none}.language-picker summary::-webkit-details-marker{display:none}.language-picker summary svg{width:16px;height:16px;transition:transform .3s cubic-bezier(.22,1,.36,1)}.language-picker[open] summary svg{transform:rotate(180deg)}.language-options{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:8px;background:#f6f3eb;color:#242920;box-shadow:0 8px 28px #1020182b;border:1px solid #d2d7c5;border-radius:8px;z-index:60}.language-options button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:8px 12px;text-align:left;font-size:16px;gap:24px;border-radius:4px}.language-options button span{font-size:14px;color:#636d56}.language-options button[aria-pressed=true]{background:#e7eadf;color:#25351f}.language-options button:hover{background:#e7eadf}.language-picker summary:focus-visible,.language-options button:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.booking-dock{position:fixed;z-index:45;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:12px 24px calc(16px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(transparent,#16251c25);}
.booking-dock .button{pointer-events:auto;min-height:56px;width:min(100%,400px);padding:12px 24px;font-size:16px;font-weight:500;border:1px solid #e9e7d665;border-radius:8px;background:#56683e;color:#fffdf3;box-shadow:0 5px 20px #10201538;justify-content:center}
.booking-dock .button:hover{background:#465a32}.booking-dock .button:active{transform:translateY(1px)}.dialog-open .booking-dock{visibility:hidden;pointer-events:none}.has-booking-dock .site-footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
.journey-intro{bottom:clamp(155px,20dvh,220px)}
.cinematic-journey .journey-caption{bottom:clamp(145px,19dvh,195px)}
.program-heading p,.program-panel .program-description,.place-grid p,.place-step p,.faq-list details p,.end-copy p,.shop-product-copy p{font-size:18px;line-height:1.6;color:#515d44}
.program-profile-note,.shop-price,.shop-note,.shop-more,.footer-links,.footer-links button,.booking-end .end-copy .small,.shop-rail-nav button{font-size:14px;line-height:1.5;color:#5d674f}
.program-summary{font-size:36px;line-height:1.15;padding-block:16px}.program-row-number{font-size:18px}.place-step h3{font-size:20px;line-height:1.4}.faq-list summary{font-size:18px;line-height:1.5}.place-step{grid-template-columns:32px 1fr}.site-footer .footer-links{gap:18px 24px}
.program-stage{top:88px;height:calc(100dvh - 190px);align-content:start;padding-top:24px}.programs-section{height:300svh}
.program-pager{display:none;align-items:center;justify-content:space-between;margin-top:20px}.program-pager button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #a8b098;border-radius:50%;color:var(--olive)}.program-pager button:disabled{opacity:.35}.program-pager svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.program-pager span{font-size:16px;color:#59634d}
.short-booking-form .field>span,.guest-field>label{font-size:16px;line-height:1.5}.short-booking-form .field input{font-size:18px;line-height:1.5;min-height:52px}.short-booking-form .form-submit{font-size:16px;min-height:54px}.booking-demo-note,.booking-demo-status{font-size:14px;line-height:1.5;color:#59634d}#booking-dialog .drawer-intro{font-size:16px;line-height:1.5}.shop-buy .option,.shop-buy-row .button{font-size:16px}.shop-rail-nav button{font-size:14px}.ritual-step-label{font-size:14px}.cart-item p,.cart-remove,.cart-actions p,.empty-cart p{font-size:16px;line-height:1.5}.cart-item h3{font-size:30px}.privacy-dialog p{font-size:16px;line-height:1.6}
@media(max-width:900px){
 .program-stage{display:block;padding-top:8px}.program-heading h2{font-size:42px}.program-heading p{font-size:16px;line-height:1.5}.program-heading{margin-bottom:24px}.program-summary{font-size:30px;padding-block:12px;gap:12px}.program-panel .program-description{font-size:16px;line-height:1.5}.program-profile-note{font-size:14px;line-height:1.5}
}
@media(max-width:760px){
 .ceremony-first .header-inner,.header-inner{display:flex;height:64px;gap:12px;padding-inline:20px}.ceremony-first .site-header,.venik-shop-page .site-header{height:calc(64px + env(safe-area-inset-top))}.ceremony-first .brand,.brand{font-size:28px;gap:8px}.ceremony-first .brand-leaf,.brand .brand-leaf{width:24px;height:30px}.ceremony-first .header-tools,.header-tools{gap:14px;margin-left:auto}.ceremony-first .header-shop{font-size:16px;min-height:44px}.language-picker summary{min-width:48px;min-height:44px}
 .booking-dock{padding:8px 20px calc(12px + env(safe-area-inset-bottom))}.booking-dock .button{min-height:52px;padding:12px 16px;font-size:16px}
 .journey-intro{bottom:calc(112px + env(safe-area-inset-bottom))}.journey-intro h1{font-size:clamp(36px,10.8vw,52px)}.cinematic-journey[data-caption] .journey-caption{bottom:calc(128px + env(safe-area-inset-bottom))}.cinematic-journey .journey-caption p{font-size:18px;line-height:1.5}.cinematic-journey .journey-caption h2{font-size:36px;line-height:1.05}
 .program-stage{top:80px;height:calc(100dvh - 180px);padding-top:0}.program-summary{font-size:30px}.program-panel>div{padding-left:0}.program-panel .program-description{padding-bottom:20px}.place-grid p,.place-step p,.faq-list details p,.end-copy p,.booking-end .end-copy p,.shop-product-copy p{font-size:16px;line-height:1.6}.place-grid h2,.faq-section h2{font-size:48px}.faq-list summary{font-size:18px}.booking-bridge p,.booking-bridge .text-link{font-size:16px}.booking-bridge{padding-bottom:48px}.booking-end .end-copy .small{font-size:14px}.shop-heading{padding-top:90px}.shop-heading .back-link{font-size:16px}.shop-detail h2{font-size:42px}.shop-more,.shop-note,.shop-price{font-size:14px}.shop-buy .option,.shop-buy-row .button{font-size:16px}.shop-rail-nav{gap:20px}.shop-rail-nav button{font-size:14px}.shop-buy-row{gap:12px}.shop-buy-row .button{min-height:52px;padding-inline:14px}.quantity button{min-width:36px;min-height:44px}.quantity output{font-size:16px}
 #booking-dialog{padding:24px}#booking-dialog .drawer-intro{font-size:16px;line-height:1.5}.short-booking-form .field>span,.guest-field>label{font-size:16px}.short-booking-form .field input{font-size:18px;min-height:48px}.short-booking-form .form-submit{font-size:16px;min-height:52px}.booking-demo-note{font-size:14px;line-height:1.5}.guest-counter{gap:0}.guest-field{gap:8px}
}
@media(max-width:360px){.ceremony-first .header-inner,.header-inner{padding-inline:16px;gap:8px}.ceremony-first .brand,.brand{font-size:25px;gap:6px}.ceremony-first .brand-leaf,.brand .brand-leaf{width:21px}.ceremony-first .header-tools,.header-tools{gap:8px}.language-picker summary{min-width:44px}.header-shop{font-size:16px}.booking-dock{padding-inline:16px}.journey-intro{bottom:108px}.journey-intro h1{font-size:36px}#booking-dialog h2{font-size:42px}.shop-buy-row{flex-wrap:wrap}.shop-buy-row .button{min-width:180px}.shop-detail h2{font-size:36px}.program-heading h2{font-size:36px}}
/* Short screens show a readable program at a time, with explicit next/back controls. */
@media(max-height:780px) and (max-width:900px){
 .program-heading h2{font-size:36px;margin-bottom:14px}.program-heading p{font-size:16px;line-height:1.5}.program-heading{margin-bottom:24px}.program-row{display:none}.program-row.expanded{display:block;border-bottom:1px solid #89917366}.program-summary{font-size:30px;padding-block:14px}.program-panel .program-description{font-size:16px;line-height:1.5;padding-bottom:16px}.program-profile-note{display:none}.program-pager{display:flex}.program-stage{top:80px;height:calc(100dvh - 180px)}
}
@media(max-height:640px) and (max-width:900px){.program-heading p{display:none}.program-heading h2{font-size:36px}.program-heading{margin-bottom:16px}.program-summary{font-size:30px}.program-pager{margin-top:16px}.program-stage{height:calc(100dvh - 176px)}#booking-dialog .drawer-intro{display:none}.booking-demo-note{font-size:14px}}
@media(max-height:480px) and (min-width:761px){.program-stage{display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;top:80px;height:calc(100dvh - 165px)}.program-summary{font-size:30px}.program-panel .program-description{font-size:16px}.program-pager{margin-top:12px}.journey-intro{bottom:100px}.journey-intro h1{font-size:42px}.cinematic-journey[data-caption] .journey-caption{bottom:96px}.cinematic-journey .journey-caption h2{font-size:30px}.cinematic-journey .journey-caption p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.language-picker summary svg{transition:none}}
.detail-copy>p,.detail-info p,.detail-actions .button,.detail-copy .option,.product-card .price,.back-link,.privacy-dialog .button,.toast{font-size:16px;line-height:1.5}.detail-copy .price{font-size:18px}.detail-copy .field-label{font-size:16px}.product-card .text-link{font-size:16px}

/* A quiet, hand-cut plaque rather than a conventional app button. */
:is(.booking-dock,.shop-notice-copy)>.button{position:relative;isolation:isolate;min-height:64px;background:#2d4133;color:#faf3df;border:0;border-radius:0;box-shadow:none;font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.1;letter-spacing:.005em;padding:16px 24px;--booking-edge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 64' preserveAspectRatio='none'%3E%3Cpath d='M11 5C47 2 87 7 126 4S206 6 246 4S332 6 389 5Q397 4 397 13L399 49Q399 58 389 59C347 62 306 57 266 60S184 58 141 60S54 58 11 60Q2 61 3 51L1 16Q1 6 11 5Z'/%3E%3C/svg%3E");mask-size:100% 100%;mask-image:var(--booking-edge);-webkit-mask-image:var(--booking-edge);-webkit-mask-size:100% 100%;mask-repeat:no-repeat;transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s cubic-bezier(.22,1,.36,1)}
:is(.booking-dock,.shop-notice-copy)>.button::before{content:'';position:absolute;inset:10px 9px;border:1px solid #d3bc827a;border-radius:10px 12px 9px 11px;pointer-events:none}:is(.booking-dock,.shop-notice-copy)>.button::after{content:'';position:absolute;inset:6px;border:1px solid #e0c78b24;border-radius:12px 10px 11px 10px;pointer-events:none}
:is(.booking-dock,.shop-notice-copy)>.button:hover{background:#354d3c;transform:translateY(-1px)}:is(.booking-dock,.shop-notice-copy)>.button:active{transform:translateY(1px)}:is(.booking-dock,.shop-notice-copy)>.button:focus-visible{outline:0;background:#3b5541}:is(.booking-dock,.shop-notice-copy)>.button:focus-visible::before{border-width:2px;border-color:#fff2c7}
.ceremony-first.cinema-active .site-header{background:none;backdrop-filter:none;color:#fff8e8;border:0;isolation:isolate}
.ceremony-first.cinema-active .site-header::before{content:'';position:absolute;z-index:-1;inset:0 0 -28px;background:linear-gradient(180deg,#14251db8 0%,#14251d80 58%,#14251d00 100%);pointer-events:none}
.ceremony-first.cinema-active .site-header .brand,.ceremony-first.cinema-active .site-header .brand-leaf{color:#fff8e8}
.date-field small{font-size:14px;line-height:1.5;color:#5d674f}.date-field input{min-width:0;width:100%;min-height:52px;appearance:none;-webkit-appearance:none}.date-field input::-webkit-date-and-time-value{text-align:left}
.place-section{padding-block:64px}.place-summary{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.place-summary h2{font-size:60px;line-height:1}.place-summary p{font-size:18px;line-height:1.65;color:#515d44;max-width:560px}
.pricing-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px;border-top:1px solid var(--line);padding-block:64px 40px}.pricing-heading h2{font-size:60px;line-height:1.02;margin-bottom:24px}.pricing-heading p{font-size:16px;line-height:1.6;max-width:290px;color:#59634e}.pricing-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.pricing-controls{display:grid;gap:24px}.quote-field{display:grid;gap:8px}.quote-field>span,.quote-guest>label{font-size:16px;line-height:1.5}.quote-field select{width:100%;min-width:0;min-height:52px;padding:12px 28px 12px 0;border:0;border-bottom:1px solid #9ba58b;border-radius:0;background:transparent;font-size:16px;line-height:1.5;color:var(--ink)}.quote-field select:focus-visible{outline:2px solid var(--olive);outline-offset:4px}.quote-guest{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding-block:7px;gap:12px}.quote-guest .guest-counter{gap:0}.quote-result{border-left:1px solid var(--line);padding-left:24px}.quote-result h3{font:30px/1.1 var(--serif);margin-bottom:24px}.quote-result dl{display:grid;gap:14px;margin-bottom:28px}.quote-result dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.quote-result dt,.quote-result dd{font-size:14px;line-height:1.5}.quote-result dt{color:#657057}.quote-result dd{text-align:right}.quote-total{display:block;font:36px/1.05 var(--serif);color:var(--ink)}.quote-result>p{font-size:14px;line-height:1.6;color:#5d674f;margin-top:20px}.compact-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px 40px}.compact-footer p,.compact-footer button{font-size:14px;line-height:1.5;color:#59634e}.compact-footer button{border-bottom:1px solid #a0a78e;padding:5px 0;white-space:nowrap}.has-booking-dock .compact-footer{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
@media(max-width:1100px){.pricing-section{grid-template-columns:1fr;gap:32px}.pricing-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px}.pricing-heading p{max-width:500px;align-self:end}.pricing-heading h2{margin-bottom:0}.pricing-content{gap:48px}.quote-result{padding-left:32px}}
@media(max-width:760px){.booking-dock .button{min-height:62px;padding:14px 18px;font-size:26px}.booking-dock .button::before{inset:10px 8px}.place-section{padding-block:44px}.place-summary{display:block}.place-summary h2{font-size:44px;margin-bottom:24px}.place-summary p{font-size:16px;line-height:1.6}.pricing-section{padding-block:44px 24px;gap:30px}.pricing-heading{display:block}.pricing-heading h2{font-size:48px;margin-bottom:20px}.pricing-heading p{font-size:16px;line-height:1.5}.pricing-content{display:block}.pricing-controls{gap:22px}.quote-result{border-left:0;border-top:1px solid var(--line);padding:28px 0 0;margin-top:32px}.quote-result h3{font-size:30px;margin-bottom:24px}.quote-result dl{gap:16px}.quote-result dt,.quote-result dd{font-size:16px}.quote-total{font-size:36px}.quote-result>p{font-size:14px;line-height:1.6;margin-top:18px}.compact-footer{flex-wrap:wrap;gap:10px;padding-top:24px}.compact-footer p,.compact-footer button{font-size:14px}.guest-counter input{min-height:44px}}
@media(max-width:360px){.booking-dock .button{font-size:24px;padding-inline:16px}.pricing-heading h2{font-size:44px}.quote-result dt,.quote-result dd{font-size:14px}.place-summary h2{font-size:42px}.date-field small{font-size:14px}}
@media(prefers-reduced-motion:reduce){.booking-dock .button{transition:none}.booking-dock .button:hover,.booking-dock .button:active{transform:none}}

.ceremony-first:not(.cinema-active) .site-header{background:#f6f3eb}

/* PARMAJSTER — approved oak venik and outlined wordmark. */
.brand,.ceremony-first .brand{display:inline-flex;flex:none;gap:0;line-height:1;min-width:0;color:var(--ink)}
.brand-logo{display:block;width:250px;height:56px;flex:none;background:currentColor;mask:url('./brand/parmajster-logo.svg?v=ceremony-v62') center/contain no-repeat;-webkit-mask:url('./brand/parmajster-logo.svg?v=ceremony-v62') center/contain no-repeat}
.ceremony-first.cinema-active .site-header .brand{color:#fff8e8}.booking-brand{font-weight:500;letter-spacing:.035em;font-size:25px}
@media(max-width:760px){.brand-logo{width:214px;height:49px}.header-inner,.ceremony-first .header-inner{gap:10px}.header-tools,.ceremony-first .header-tools{gap:10px}.booking-brand{font-size:23px}}
@media(max-width:400px){.brand-logo{width:194px;height:46px}.header-inner,.ceremony-first .header-inner{padding-inline:16px}.header-tools,.ceremony-first .header-tools{gap:6px}}
@media(max-width:360px){.brand-logo{width:177px;height:44px}.header-inner,.ceremony-first .header-inner{gap:6px}.header-tools,.ceremony-first .header-tools{gap:4px}.language-picker summary{min-width:42px}}

/* Header typography follows the approved Roman-serif wordmark. */
.site-header{--header-type:var(--serif);--header-label-size:24px;--header-track:.035em}
.site-header .header-shop,.site-header .language-picker summary{font-family:var(--header-type);font-size:var(--header-label-size);font-weight:500;font-style:normal;line-height:1;letter-spacing:var(--header-track);text-transform:uppercase;color:inherit;min-height:44px}
.site-header .header-shop{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;position:relative}
.site-header .header-shop::after{content:'';position:absolute;left:4px;right:4px;bottom:8px;height:1px;background:currentColor;opacity:0;transform:scaleX(.5);transition:opacity .2s,transform .2s}
.site-header .header-shop:hover::after,.site-header .header-shop:focus-visible::after{opacity:.65;transform:scaleX(1)}
.site-header .language-picker summary{gap:7px;min-width:54px;padding:0 2px}
.site-header .language-picker summary svg{width:11px;height:11px;stroke-width:1.5;opacity:.85;flex:none}
.site-header .language-picker summary span,.site-header .header-shop{translate:0 1px}
.site-header .language-options{min-width:204px;padding:8px 10px;border-radius:2px;border:1px solid #a99a7470;background:#f6f3eb;box-shadow:0 12px 32px #10201824}
.site-header .language-options button{font-family:var(--header-type);font-size:23px;font-weight:500;line-height:1.2;min-height:48px;letter-spacing:0;padding:8px 10px;border-radius:0;color:#394634}
.site-header .language-options button span{font-family:var(--header-type);font-size:18px;line-height:1;letter-spacing:.04em;color:#657057}
.site-header .language-options button[aria-pressed=true]{background:#e7e9de;color:#24382b}
.site-header .cart-button{color:inherit;min-width:44px;min-height:44px;padding:10px;display:grid;place-items:center}
.site-header .cart-button>svg{width:23px;height:23px;stroke-width:1.3}
@media(max-width:760px){.site-header{--header-label-size:22px}.ceremony-first .header-tools,.header-tools{gap:13px}}
@media(max-width:400px){.site-header{--header-label-size:21px;--header-track:.025em}.ceremony-first .header-tools,.header-tools{gap:10px}.site-header .language-picker summary{min-width:48px;gap:5px}}
@media(max-width:360px){.site-header{--header-label-size:20px}.ceremony-first .header-tools,.header-tools{gap:7px}.site-header .language-picker summary{min-width:45px;gap:5px}.site-header .language-picker summary svg{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.site-header .header-shop::after{transition:none}}

/* Program photographs follow the supplied hanging-print reference, independent of page scroll. */
.programs-section.program-gallery{height:auto;position:relative;padding:58px 0 44px;background:var(--paper);scroll-margin-top:0;overflow:hidden}
.program-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:4px}
.program-gallery-heading h2{font:500 clamp(48px,5vw,68px)/.98 var(--serif);margin:0}
.program-gallery-heading h2 br{display:none}.program-gallery-heading h2 em{color:var(--olive)}
.program-gallery-heading>p{max-width:360px;font:18px/1.6 var(--sans);color:#59634e;margin:0 0 4px}
.pl-root{position:relative;overflow:hidden;width:100%;height:452px;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none;cursor:grab;color:#8d8069;isolation:isolate}
.pl-root[data-drag=true]{cursor:grabbing}.pl-root:focus-visible{outline:1px solid var(--olive);outline-offset:-8px}
.pl-string{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 2px 1px #59442822)}
.pl-card{display:block;position:absolute;top:0;left:0;width:var(--pl-cw,280px);padding:0;background:transparent;color:var(--ink);transform-origin:50% 0;cursor:inherit;will-change:transform;text-align:center;touch-action:pan-y;border:0}
.pl-card:focus-visible{outline:none}.pl-card:focus-visible .pl-print{outline:2px solid var(--olive);outline-offset:5px}
.pl-print{display:block;margin-top:14px;padding:10px 10px 0;background:#fffdf7;box-shadow:0 1px 2px #3f39211a,0 16px 28px -18px #372e2366;transition:filter .3s,opacity .3s}
.pl-card[data-on=false] .pl-print{filter:saturate(.72);opacity:.8}.pl-card[data-on=true] .pl-print{filter:none;opacity:1}
.pl-shot{display:block;position:relative;aspect-ratio:1;overflow:hidden;background:#d6c4a2}.pl-shot img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 54%;display:block;pointer-events:none}
.pl-note{display:flex;justify-content:center;align-items:center;min-height:54px;padding:5px 3px 8px;font:500 italic clamp(25px,2.5vw,31px)/1.1 var(--serif)}
.pl-peg{position:absolute;left:calc(50% - 6px);top:0;width:12px;height:29px;border-radius:1px;background:linear-gradient(90deg,#b18b56,#e0c494 45%,#b89058);box-shadow:1px 2px 3px #352c2933;pointer-events:none}.pl-peg::after{content:'';position:absolute;left:5px;top:8px;width:2px;height:10px;background:#765f42aa;border-radius:1px}
.pl-bottom{display:flex;justify-content:space-between;gap:52px;align-items:start;padding-top:8px;min-height:182px}
.pl-details{max-width:620px}.pl-details article[hidden]{display:none}.pl-details article:not([hidden]){animation:program-copy-in .35s ease-out}
.pl-details h3{font:500 30px/1.13 var(--serif);margin:0 0 12px}.pl-details p{font:18px/1.6 var(--sans);color:#515d44;margin:0}
.pl-controls{display:flex;align-items:center;gap:12px;padding-top:2px;flex-shrink:0}.pl-controls>span{font-size:15px;color:#68705b;margin-right:10px;font-variant-numeric:tabular-nums}
.pl-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #929b7f;border-radius:50%;color:var(--olive);transition:background .2s,color .2s}.pl-controls button:hover:not(:disabled){background:var(--olive-dark);color:var(--paper)}.pl-controls button:disabled{opacity:.3;cursor:default}.pl-controls button:focus-visible{outline:2px solid var(--olive);outline-offset:4px}.pl-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.program-gallery-note{font-size:15px;line-height:1.6;color:#657057;margin-top:22px}
@keyframes program-copy-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.place-summary{grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,130px)}.place-summary h2{margin-bottom:28px}.place-summary>div>p{max-width:400px}.venue-list article{padding:24px 0;border-top:1px solid var(--line)}.venue-list article:first-child{padding-top:0;border-top:0}.venue-list h3{font:500 36px/1.1 var(--serif);margin:0 0 12px}.venue-list .venue-address{font-size:15px;line-height:1.5;color:#68705b;margin-bottom:16px}.venue-list p{margin:0 0 16px}.venue-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:16px;color:var(--olive-dark);border-bottom:1px solid #a6ad94;width:fit-content}.venue-link svg{width:15px;height:15px}.venue-link:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
.social-preview{display:flex;align-items:center;gap:14px;margin-left:auto}.social-preview>span:first-child{font:14px/1.4 var(--sans);color:#657057}.social-icon{display:grid;place-items:center;width:32px;height:36px;color:#75806b}.social-icon svg{width:23px;height:23px}
.shop-notice-dialog{width:min(540px,calc(100% - 32px));padding:50px 40px 40px;margin:auto;background:var(--paper);border:1px solid #a8af96;color:var(--ink);box-shadow:0 20px 100px #10201944}.shop-notice-dialog::backdrop{background:#13251bc2;backdrop-filter:blur(5px)}.shop-notice-dialog>.close-button{position:absolute;right:14px;top:14px}.shop-notice-copy h1,.shop-notice-copy h2{font:500 clamp(44px,6vw,60px)/1.02 var(--serif);margin:0 0 26px}.shop-notice-copy em{color:var(--olive)}.shop-notice-copy>p{font:18px/1.65 var(--sans);margin-bottom:30px;color:#515d44}.shop-notice-copy>.button{width:100%;justify-content:center;font-size:26px;min-height:64px;margin-bottom:18px}.shop-notice-copy>.venue-link{display:flex;margin-inline:auto}.shop-notice-page{padding-block:150px 80px;min-height:calc(100svh - 160px)}.shop-notice-page .shop-notice-copy{max-width:500px;margin:auto}
@media(max-width:760px){.programs-section.program-gallery{padding:36px 0 32px;scroll-margin-top:0}.program-gallery-heading{display:block;margin-bottom:4px}.program-gallery-heading h2{font-size:46px;max-width:340px}.program-gallery-heading>p{font-size:16px;line-height:1.6;margin-top:18px;max-width:340px}.pl-bottom{display:flex;flex-direction:column-reverse;justify-content:flex-start;gap:24px;padding-top:0;min-height:0}.pl-controls{align-self:center;padding:0}.pl-controls>span{margin-right:18px}.pl-details h3{font-size:28px;line-height:1.15}.pl-details p{font-size:17px;line-height:1.6}.program-gallery-note{font-size:14px;margin-top:24px}.place-summary>div>p{max-width:none}.venue-list{margin-top:32px}.venue-list h3{font-size:32px}.place-summary p{font-size:17px}.social-preview{margin-left:0}.compact-footer{gap:14px 24px}.compact-footer>p{width:100%;margin-bottom:2px}.compact-footer>button{margin-left:auto}.shop-notice-dialog{padding:54px 26px 30px}.shop-notice-copy>p{font-size:17px}.shop-notice-page{padding-block:120px 50px}}
@media(prefers-reduced-motion:reduce){.pl-details article:not([hidden]){animation:none}.pl-print,.pl-controls button{transition:none}}
/* Once the film is complete, its clipped stage must not trap desktop wheel scroll chaining. */
.cinematic-journey[data-completed=true] .ritual-stage{overscroll-behavior:auto}
/* Reserve the longest description, so browsing programs never shifts the page below them. */
.pl-details{display:grid}.pl-details article{grid-area:1/1}.pl-details article[hidden]{display:block;visibility:hidden;pointer-events:none}
/* The venue band uses the site's dark forest surface, with readable light copy. */
.place-section .place-summary h2,.place-section .venue-list h3{color:#fff8e8}.place-section .place-summary h2 em{color:#d7ddbd}.place-section .place-summary p{color:#e3e7d6}.place-section .venue-list .venue-address{color:#b9c5aa}.place-section .venue-link{color:#f3f0dc;border-color:#aab796}.place-section .venue-list article{border-color:#e6edcf40}

/* A centred counter reads as part of the carousel navigation. */
.pl-controls{display:grid;grid-template-columns:48px minmax(84px,auto) 48px;align-items:center;gap:12px}.pl-controls>[data-program-position]{grid-column:2;grid-row:1;margin:0;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.pl-controls>[data-program-prev]{grid-column:1;grid-row:1}.pl-controls>[data-program-next]{grid-column:3;grid-row:1}
.short-booking-form .field select{appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:52px;border:0;border-bottom:1px solid #9ba58b;border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' fill='none' viewBox='0 0 14 10'%3E%3Cpath d='m2 2 5 5 5-5' stroke='%23515d44' stroke-width='1.3'/%3E%3C/svg%3E") right 4px center/14px 10px no-repeat;padding:12px 24px 12px 0;color:var(--ink);font:18px/1.4 var(--sans)}.short-booking-form .venue-field small{font-size:14px;line-height:1.5;color:#5d674f}.short-booking-form .venue-field{gap:8px}
.compact-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding-top:32px}.compact-footer>p{order:1;width:auto;margin:0}.compact-footer>.social-preview{order:0;margin:0;gap:22px}.compact-footer>button{order:2;margin:0;align-self:center}.social-preview>span.social-icon{width:36px;height:40px;color:#68765b}
@media(max-width:760px){.pl-controls>[data-program-position]{margin:0}.compact-footer>p{width:auto}.compact-footer>button{margin:0}}
/* Booking details can be long on phones; keep the close control within reach. */
#booking-dialog .dialog-top{position:sticky;top:0;z-index:5;background:var(--paper);padding-block:10px;margin-top:-10px;box-shadow:0 8px 0 var(--paper)}

/* Three complete packages, independent of the program's mood. */
.pricing-section.package-menu{display:block;padding-block:64px 54px}
.package-menu .pricing-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:42px}
.package-menu .pricing-heading h2{margin:0;flex:none}.package-menu .pricing-heading>div{max-width:490px}.package-menu .pricing-heading p{font:18px/1.6 var(--sans);color:#515d44;margin:0}
.package-menu .pricing-heading .package-price-caption{font-size:16px;margin-top:16px;color:#657057}
.package-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #9ca58d}
.package-offer{display:flex;flex-direction:column;min-width:0;padding:28px 30px 24px}.package-offer:first-child{padding-left:0}.package-offer:last-child{padding-right:0}.package-offer+.package-offer{border-left:1px solid var(--line)}
.package-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;font:16px/1.5 var(--sans);color:#68735b;margin-bottom:24px;font-variant-numeric:tabular-nums}
.package-name-price h3{font:500 clamp(29px,3vw,38px)/1.1 var(--serif);margin:0 0 14px}.package-price{font:500 52px/1.05 var(--serif);white-space:nowrap;color:var(--olive-dark);margin:0 0 22px}
.package-description{font:17px/1.55 var(--sans);color:#515d44;margin:0 0 24px;min-height:80px}
.package-offer ul{list-style:none;padding:0;margin:0 0 26px;flex:1}.package-offer li{position:relative;padding-left:18px;font:17px/1.55 var(--sans);color:#394932}.package-offer li+li{margin-top:14px}.package-offer li::before{content:'';position:absolute;left:0;top:.68em;width:5px;height:5px;background:#88936d;transform:rotate(45deg)}
.package-book{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-top:1px solid #b1b89e;padding:16px 0 4px;font:18px/1.4 var(--sans);color:var(--olive-dark);text-align:left}.package-book svg{width:26px;height:26px;flex:none;transition:transform .2s}.package-book:hover svg{transform:translateX(4px)}.package-book:focus-visible{outline:2px solid var(--olive);outline-offset:5px}
.package-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;margin-top:28px}.package-notes p{font:16px/1.6 var(--sans);color:#59634e;margin:0}.package-notes .package-profile-note{color:#344b35}
@media(max-width:1100px){.package-offer{padding-inline:22px}.package-description{min-height:106px}.package-name-price h3{font-size:31px}.package-menu .pricing-heading>div{max-width:410px}}
@media(max-width:760px){.pricing-section.package-menu{padding-block:42px 32px}.package-menu .pricing-heading{display:block;margin-bottom:28px}.package-menu .pricing-heading h2{font-size:48px;margin-bottom:20px}.package-menu .pricing-heading>div{max-width:none}.package-menu .pricing-heading p{font-size:17px}.package-offers{grid-template-columns:1fr}.package-offer,.package-offer:first-child,.package-offer:last-child{padding:25px 0 22px}.package-offer+.package-offer{border-left:0;border-top:1px solid var(--line)}.package-topline{margin-bottom:16px}.package-name-price{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.package-name-price h3{font-size:31px;margin:0 0 16px}.package-price{font-size:39px;margin:0 0 16px}.package-description{min-height:0;margin-bottom:20px}.package-offer li{font-size:17px}.package-offer ul{margin-bottom:22px}.package-book{padding-top:13px}.package-notes{grid-template-columns:1fr;gap:13px;margin-top:24px}}
@media(max-width:360px){.package-name-price h3{font-size:27px}.package-price{font-size:34px}.package-offer li,.package-description{font-size:16px}}
@media(prefers-reduced-motion:reduce){.package-book svg{transition:none}}

/* Show the whole guided visit before its three audience formats. */
.ritual-includes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:0 0 32px;margin-bottom:8px}.ritual-includes h3{font:500 27px/1.15 var(--serif);margin:0 0 10px}.ritual-includes p{font:16px/1.6 var(--sans);color:#59634e;margin:0;max-width:340px}
.package-name-price .package-price{margin-bottom:8px}.package-price-unit{font:16px/1.4 var(--sans);color:#59634e;margin:0 0 24px}.package-description{min-height:106px}.short-booking-form .guest-field>small{font:14px/1.5 var(--sans);color:#5d674f;display:block;margin-top:12px;max-width:440px}
@media(max-width:1100px) and (min-width:761px){.package-name-price h3{font-size:28px;overflow-wrap:anywhere}.package-description{min-height:159px}.ritual-includes{gap:24px}}
@media(max-width:760px){.ritual-includes{grid-template-columns:1fr;gap:20px;padding-bottom:22px}.ritual-includes>div{padding-left:16px;border-left:1px solid #a4ad91}.ritual-includes h3{font-size:26px;margin-bottom:7px}.ritual-includes p{max-width:none}.package-name-price{align-items:start}.package-name-price h3{font-size:29px}.package-name-price>div{text-align:right;flex:none}.package-price-unit{font-size:15px;margin-bottom:20px;max-width:140px}.package-description{min-height:0}}
@media(max-width:360px){.package-name-price{display:block}.package-name-price>div{text-align:left}.package-name-price h3{font-size:30px;margin-bottom:14px}.package-price-unit{max-width:none;margin-bottom:20px}}

/* A group has a ceremony minimum; complete care is a compact optional addition. */
.group-price-details{font:16px/1.55 var(--sans);color:#59634e;margin:-8px 0 22px}.care-upgrade{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}.care-upgrade h3{font:500 32px/1.15 var(--serif);margin:0 0 12px}.care-upgrade p{font:17px/1.6 var(--sans);color:#515d44;margin:0;max-width:640px}.care-upgrade-prices>p:first-child{margin-bottom:10px}.care-upgrade-prices strong{font:500 36px/1.1 var(--serif);color:var(--olive-dark);margin-right:7px}
.full-care-choice[hidden]{display:none}.full-care-choice{padding:16px 0;border-block:1px solid var(--line)}.full-care-choice label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;min-height:44px}.full-care-choice input{appearance:auto;-webkit-appearance:checkbox;accent-color:#526947;width:21px;height:21px;min-height:0;padding:0;margin:4px 0 0;flex:none}.full-care-choice strong{display:block;font:500 18px/1.5 var(--sans);color:var(--ink)}.full-care-choice small{display:block;font:15px/1.5 var(--sans);color:#5d674f;margin-top:6px}.booking-price-summary{border-top:1px solid var(--line);padding-top:20px}.booking-price-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 8px;font:17px/1.5 var(--sans)}.booking-price-line strong{font:500 36px/1.1 var(--serif);white-space:nowrap}.booking-price-note,.booking-price-unknown{font:15px/1.6 var(--sans);color:#5d674f;margin:0}
@media(max-width:760px){.care-upgrade{grid-template-columns:1fr;gap:18px;padding-block:24px}.care-upgrade h3{font-size:30px}.care-upgrade p{font-size:16px}.care-upgrade-prices strong{font-size:33px}.group-price-details{margin-top:-8px;margin-bottom:20px}.full-care-choice strong{font-size:17px}.booking-price-line strong{font-size:33px}}
/* Keep the guest explanation below the counter on narrow screens. */
.short-booking-form .guest-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding-block:12px}.short-booking-form .guest-field>small{grid-column:1/-1;max-width:none;margin-top:0}.short-booking-form .guest-field>label{min-width:0}
