/* Monumental Japanese architecture, clear reading, and a deliberate visual journey. */
.ritual-site .hero{--portrait-height:clamp(640px,56.22vw,1050px);padding-top:calc(var(--portrait-top) + var(--portrait-height)*.79);padding-bottom:130px}
.ritual-site .hero-landscape{background-image:url('assets/gensai-power-prayer.webp');background-position:center top}
.ritual-site .hero-landscape:after{background:linear-gradient(180deg,transparent 44%,#0b0a0810 65%,#0b0a08 100%),linear-gradient(90deg,#0b0a0870,transparent 13%,transparent 90%,#0b0a0870)}
.ritual-site .sanctum-frame{left:2.5%;right:2.5%;height:calc(var(--portrait-height) - 35px);border-color:#efdca26b}
.ritual-site .hero h1{font-size:clamp(54px,5.9vw,94px);line-height:1.55;font-weight:600;letter-spacing:.1em;max-width:1460px}
.ritual-site .hero h1>span+span{margin-top:13px}
.ritual-site .hero h1 em{color:#f5dda0}
.ritual-site .hero-insignia{width:min(650px,88%);margin-bottom:20px}
.ritual-site .hero-insignia img{width:76px;height:76px}
.ritual-site .hero-overline{margin-bottom:26px;font-size:18px}
.ritual-site .hero-bottom{max-width:850px;margin-top:35px}
.ritual-site .hero-bottom>div>p:not(.eyebrow){font-size:22px}
.ritual-site .hero .button{min-width:360px;min-height:68px}
.ritual-site .hero-bottom .hero-side{letter-spacing:.18em}
.ritual-site .hero:after{content:'';position:absolute;left:50%;bottom:0;height:82px;width:1px;background:linear-gradient(transparent,#dfc17e);pointer-events:none}

/* Enter the shrine: an uninterrupted landscape flows into the reading. */
.ritual-site .intro{position:relative;isolation:isolate;background:#080b0b;padding-top:clamp(480px,45vw,760px);padding-bottom:125px;overflow:hidden}
.sanctuary-visual{position:absolute;inset:0 0 auto;height:clamp(760px,67vw,1150px);overflow:hidden;z-index:-2;pointer-events:none}
.sanctuary-visual img{width:100%;height:110%;max-width:none;object-fit:cover;object-position:center 40%;transform:translateY(var(--sanctuary-drift,0px));margin-top:-3%;will-change:transform}
.sanctuary-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#080b0b20,transparent 27%,#080b0b55 55%,#080b0b 97%),linear-gradient(90deg,#080b0b55,transparent 32%,transparent 68%,#080b0b55)}
.ritual-site .intro:before{position:absolute;top:32px;left:50%;transform:translateX(-50%);margin:0;width:min(580px,85%);opacity:.8}
.ritual-site .intro>.eyebrow{font-size:14px;letter-spacing:.24em;margin-bottom:24px;text-shadow:0 2px 12px #000}
.ritual-site .intro-layout{max-width:1150px;gap:60px}
.ritual-site .intro-title .vertical-label{font-size:17px;letter-spacing:.2em;color:#e7d4a6}
.ritual-site .intro h2{font-size:clamp(40px,5.25vw,78px);line-height:1.65;letter-spacing:.09em;color:#f5e8c9;text-shadow:0 2px 30px #000c}
.ritual-site .intro-copy{display:grid;grid-template-columns:.85fr 1.4fr;column-gap:75px;row-gap:30px;max-width:none;text-align:left;margin-top:10px;padding-top:45px;border-top:1px solid #c7ab713d}
.ritual-site .intro-copy p{margin:0}
.ritual-site .intro-copy p:first-child{grid-row:span 2;font-size:29px;line-height:2;color:#efe2c2;align-self:start}
.ritual-site .intro-copy p:not(:first-child){font-size:18px;line-height:2.2}
.ritual-site .intro-copy p:not(:first-child) br{display:none}
.ritual-site .intro-copy .text-link{grid-column:2;justify-self:start;margin-top:0}
.ritual-site .intro-bottom{max-width:1150px;margin-top:70px;justify-content:space-evenly;font-size:21px;letter-spacing:.35em}
.ritual-site .intro-bottom i{width:120px}

/* The portrait remains in view as the practitioner's approach unfolds. */
.ritual-site .study-section{grid-template-columns:1fr 1fr;align-items:start;background:radial-gradient(ellipse at 80% 25%,#5e48251c,transparent 65%),#080807}
.ritual-site .study-image{position:sticky;top:0;align-self:start;height:max(800px,100svh);min-height:0}
.ritual-site .study-image:before{inset:24px;border-color:#e2c48865}
.ritual-site .study-copy{padding:125px 10% 145px}
.ritual-site .practitioner-name strong{font-size:clamp(40px,4.25vw,64px);letter-spacing:.15em}
.ritual-site .study-copy h2{font-size:clamp(38px,3.5vw,52px);line-height:1.7;margin-top:48px}
.ritual-site .study-lead{margin-top:29px;margin-bottom:48px}
.ritual-site .approach-point{padding-top:35px;padding-bottom:35px}
.ritual-site .rite-tableau{height:clamp(720px,85svh,1050px);margin:0;border:0}
.ritual-site .rite-tableau:after{inset:28px;border-color:#e4c89542}
.ritual-site .rite-tableau-copy{left:9%;top:26%;max-width:760px}
.ritual-site .rite-tableau-copy h2{font-size:clamp(46px,5vw,78px);line-height:1.65}
.ritual-site .rite-tableau-copy>p:last-child{font-size:21px}
.ritual-site .rite-image-label{left:auto;right:6%;font-size:16px;letter-spacing:.16em}
.ritual-site .ritual-moments{padding-top:80px;padding-bottom:100px}
.ritual-site .moment-kanji{font-size:68px;line-height:1.3}

/* The divination system takes center stage, with clear selectable pillars. */
.ritual-site .pillars-section{background:radial-gradient(ellipse at 50% 0,#a77c3521,transparent 70%),#12100b}
.ritual-site .pillars-section .section-heading{display:block;text-align:center;margin-bottom:65px}
.ritual-site .pillars-section .section-heading h2{font-size:clamp(36px,4.1vw,60px);line-height:1.7}
.ritual-site .pillars-section .section-heading>p{max-width:750px;margin:28px auto 0}
.ritual-site .pillar-experience{grid-template-columns:1.2fr .85fr;align-items:center;gap:6%}
.ritual-site .pillar{padding-top:32px;padding-bottom:28px;min-height:322px;border-top:2px solid #d8b874;box-shadow:inset 0 0 0 7px #bd9d5710,0 20px 38px #0003}
.ritual-site .pillar strong{font-size:42px;margin:23px 0}
.ritual-site .pillar.active{box-shadow:inset 0 0 0 7px #412f1422,0 16px 55px #d4af6020}
.ritual-site .pillar-explanation{border:0;border-left:1px solid #d5b5745c;padding:20px 0 20px 35px;background:none}
.ritual-site .pillar-explanation h3{font-size:30px;line-height:1.65}
.ritual-site .elements-section{background:radial-gradient(ellipse at 27% 54%,#a5792826,transparent 58%),#070807}
.ritual-site .elements-orbit{isolation:isolate}
.ritual-site .elements-orbit:before{content:'';position:absolute;inset:8%;border:1px solid #d9ba762b;border-radius:50%;box-shadow:0 0 55px #b48b3410,inset 0 0 55px #b48b340c;pointer-events:none;z-index:-1}
.ritual-site .orbit-center strong{font-size:58px;color:#eed7a2}
.ritual-site .element{box-shadow:0 0 0 6px #b3955316}
.ritual-site .element.active{box-shadow:0 0 0 6px #b3955323,0 0 52px #b3955340}
.ritual-site .session-links h3{font-size:34px}
.ritual-site .session-links>a{padding:45px 10px}
.ritual-site .session-symbol{font-size:68px}
.ritual-site .mountain-vista{height:850px}
.ritual-site .vista-copy h2{font-size:clamp(42px,4.5vw,68px);line-height:1.75}

/* Inner-page openings share the scale and depth of the shrine. */
.ritual-site .wisdom-hero{background:linear-gradient(90deg,#080b0bed,#080b0b8a 62%,#080b0b85),url('assets/japanese-sanctuary.webp') center 46%/cover;min-height:850px}
.ritual-site .inner-hero h1{font-size:clamp(45px,4.8vw,72px);line-height:1.65}
.ritual-site .wisdom-title-art span{height:260px;padding:40px 28px;font-size:56px;border-color:#e7ca845c}
.ritual-site .wisdom-title-art span:nth-child(even){margin-top:85px}
.ritual-site .consultation-hero{min-height:900px;grid-template-columns:1.12fr 1fr;gap:4%;background:radial-gradient(ellipse at 70% 35%,#9d793323,transparent 65%),#090907}
.ritual-site .consultation-hero figure{height:760px}
.ritual-site .ritual-context h2{font-size:clamp(36px,4vw,54px)}
.ritual-site .flow-list li{padding:45px}
.ritual-site .flow-list li>span{font-size:54px;color:#dfc389}
.ritual-site .closing,.ritual-site .reception{background:linear-gradient(#080b0bbf,#080b0bed),url('assets/japanese-sanctuary.webp') center 46%/cover;padding-top:130px;padding-bottom:140px}
.ritual-site .closing h2,.ritual-site .reception h2{font-size:clamp(38px,4vw,62px);line-height:1.8}
.ritual-site .closing:before,.ritual-site .reception:before{width:105px;height:105px}
.ritual-site .sacred-sky{opacity:.5}
.ritual-site .scene-visible>.scene-light{opacity:.8;box-shadow:0 0 16px #e0ba7229}
.ritual-site .scene-light{transition-duration:2.1s}

@media(max-width:1100px){
 .ritual-site .pillar-experience{grid-template-columns:1fr;gap:45px}.ritual-site .pillar-explanation{padding:30px 0 0;border:0;border-top:1px solid #d5b5744a}
 .ritual-site .study-copy{padding:100px 8%}.ritual-site .practitioner-name strong{font-size:40px}
 .ritual-site .wisdom-title-art{gap:12px}.ritual-site .wisdom-title-art span{height:220px;padding:35px 20px;font-size:44px}
 .ritual-site .intro-copy{column-gap:45px}
}
@media(max-width:800px){
 .ritual-site .hero{--portrait-height:540px;padding-top:calc(var(--portrait-top) + var(--portrait-height)*.86);padding-bottom:123px}
 .ritual-site .hero h1{font-size:clamp(34px,9.3vw,48px);line-height:1.6;letter-spacing:.085em}
 .ritual-site .hero-insignia img{width:58px;height:58px}.ritual-site .hero-overline{font-size:14px}
 .ritual-site .hero-bottom{margin-top:28px}.ritual-site .hero-bottom>div>p:not(.eyebrow){font-size:18px;line-height:2}
 .ritual-site .hero .button{min-width:0;min-height:64px}.ritual-site .sanctum-frame{left:12px;right:12px}
 .ritual-site .intro{padding-top:460px;padding-bottom:85px}
 .sanctuary-visual{height:760px}.sanctuary-visual img{object-position:center top;height:100%;margin:0;transform:none;will-change:auto}
 .sanctuary-visual:after{background:linear-gradient(180deg,#080b0b10,transparent 36%,#080b0b8c 60%,#080b0b 97%)}
 .ritual-site .intro:before{top:22px}.ritual-site .intro>.eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:25px}
 .ritual-site .intro-title .vertical-label{font-size:15px}.ritual-site .intro h2{font-size:clamp(32px,8.8vw,44px);line-height:1.7;letter-spacing:.04em}
 .ritual-site .intro-layout{gap:33px}.ritual-site .intro-copy{display:block;padding-top:30px;text-align:left;margin-top:0}
 .ritual-site .intro-copy p:first-child{font-size:23px;line-height:1.9;margin-bottom:27px}.ritual-site .intro-copy p:not(:first-child){font-size:17px;line-height:2.15;margin-top:23px}
 .ritual-site .intro-copy .text-link{margin-top:26px}.ritual-site .intro-bottom{font-size:17px;letter-spacing:.2em;margin-top:45px;gap:16px}.ritual-site .intro-bottom i{width:32px}
 .ritual-site .study-section{display:block}.ritual-site .study-image{position:relative;top:auto;height:730px;min-height:0}
 .ritual-site .study-copy{padding:85px 7%}.ritual-site .practitioner-name strong{font-size:38px}.ritual-site .study-copy h2{font-size:35px;margin-top:32px}
 .ritual-site .study-lead{margin-bottom:30px}.ritual-site .approach-point{padding:27px 0}
 .ritual-site .rite-tableau{height:680px}.ritual-site .rite-tableau:after{inset:13px}.ritual-site .rite-tableau-copy{left:8%;right:8%;top:23%}
 .ritual-site .rite-tableau-copy h2{font-size:42px}.ritual-site .rite-tableau-copy>p:last-child{font-size:18px}.ritual-site .rite-image-label{font-size:14px;left:8%;right:8%;text-align:left}
 .ritual-site .moment-kanji{font-size:56px}.ritual-site .ritual-moments{padding-top:35px;padding-bottom:75px}
 .ritual-site .pillars-section .section-heading{text-align:left;margin-bottom:40px}.ritual-site .pillars-section .section-heading h2{font-size:34px;line-height:1.7}
 .ritual-site .pillars-section .section-heading>p{margin:25px 0 0}
 .ritual-site .pillar{min-height:250px;padding-top:22px;padding-bottom:22px}.ritual-site .pillar strong{font-size:35px;margin:16px 0}
 .ritual-site .pillar-explanation h3{font-size:28px}.ritual-site .orbit-center strong{font-size:44px}
 .ritual-site .session-links h3{font-size:27px}.ritual-site .session-links>a{padding:32px 0}
 .ritual-site .mountain-vista{height:700px}.ritual-site .vista-copy h2{font-size:39px}
 .ritual-site .inner-hero h1{font-size:39px;line-height:1.65;letter-spacing:.04em}
 .ritual-site .wisdom-hero{min-height:0;background-position:50% center}.ritual-site .wisdom-title-art span{flex:1;min-width:0;max-width:95px;height:145px;padding:28px 0;font-size:35px}
 .ritual-site .wisdom-title-art span:nth-child(even){margin-top:32px}
 .ritual-site .consultation-hero{min-height:0}.ritual-site .consultation-hero figure{height:590px}
 .ritual-site .ritual-context h2{font-size:34px}.ritual-site .flow-list li{padding:35px 25px}.ritual-site .flow-list li>span{font-size:44px}
 .ritual-site .closing,.ritual-site .reception{padding-top:95px;padding-bottom:105px}.ritual-site .closing h2,.ritual-site .reception h2{font-size:34px;line-height:1.8}
 .ritual-site .closing:before,.ritual-site .reception:before{width:82px;height:82px}.ritual-site .sacred-sky{opacity:.3}
}
@media(max-width:370px){
 .ritual-site .hero{--portrait-height:475px}.ritual-site .hero h1{font-size:31px;letter-spacing:.07em}.ritual-site .hero-overline{font-size:13px}
 .ritual-site .intro{padding-top:430px}.ritual-site .intro h2{font-size:29px;letter-spacing:.015em}.ritual-site .intro-copy p:first-child{font-size:22px}
 .ritual-site .intro-bottom{font-size:16px;gap:12px;letter-spacing:.12em}.ritual-site .intro-bottom i{width:22px}
 .ritual-site .study-image{height:650px}.ritual-site .practitioner-name strong{font-size:32px}.ritual-site .study-copy h2{font-size:32px}
 .ritual-site .rite-tableau-copy h2{font-size:36px}.ritual-site .pillars-section .section-heading h2{font-size:30px}
 .ritual-site .pillar-explanation h3{font-size:26px}.ritual-site .session-links h3{font-size:24px}
 .ritual-site .inner-hero h1{font-size:32px;letter-spacing:.035em}.ritual-site .wisdom-title-art{gap:10px}.ritual-site .wisdom-title-art span{padding:25px 14px;font-size:29px}
 .ritual-site .ritual-context h2,.ritual-site .closing h2,.ritual-site .reception h2{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.sanctuary-visual img{transform:none!important;will-change:auto}}
