/*
Theme Name: I Ching Studio
Description: v0.7.2 — HOME HERO (World A · Taiji × Ink Landscape). THE WEBSITE IS INSIDE THE TAIJI: the full-bleed World-A artwork is the page, and type is reduced to two gallery colophons anchored inside the fish — dark ink on the paper fish (See clearly. / Move with purpose.), warm ivory on the ink fish (Begin a private consultation). No external fonts/media, no JS libraries.
Author: Codex (implementation)
Template: twentytwentyfive
Version: 0.7.2-prototype
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: iching-studio
*/

:root{
	--paper:#EDE3D0;
	--paper-top:#F4ECD9;
	--paper-deep:#E0D2B4;
	--ink:#16130F;
	--text:#201A11;
	--muted:#6E6250;
	--faint:#8A7B64;
	--qun:#33506E;
	--cui:#54705F;
	--dan:#9C4A2C;
	--ivory:#F1E9D6;
	--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman","Songti SC","Noto Serif SC","SimSun",serif;
	--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:rgba(156,74,44,.18);}
a{color:inherit;}
:focus-visible{outline:1px solid rgba(156,74,44,.85);outline-offset:3px;}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--dan);color:#F5ECDA;padding:.6rem 1rem;}
.skip:focus{left:0;}

/* ---------- restrained navigation (quiet, near-invisible) ---------- */
.site-nav{
	position:absolute;z-index:8;top:0;left:0;right:0;
	display:flex;align-items:center;justify-content:space-between;
	padding:clamp(18px,2.6vw,32px) clamp(18px,5vw,64px);
}
.site-nav::before{
	content:"";position:absolute;left:0;right:0;top:0;height:150px;z-index:-1;
	background:linear-gradient(180deg,rgba(244,236,217,.88),rgba(244,236,217,.4) 62%,rgba(244,236,217,0));
	pointer-events:none;
}
.brand{
	display:inline-flex;align-items:center;gap:.7em;
	font:600 10px/1 var(--sans);letter-spacing:.44em;text-transform:uppercase;text-decoration:none;color:#2B2318;
}
.brand .seal{flex:0 0 auto;width:8px;height:8px;background:var(--dan);opacity:.92;}
.nav-links{display:flex;align-items:center;gap:clamp(18px,3vw,38px);}
.nav-links a{
	font:500 9px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;text-decoration:none;color:#3A3122;
	padding-bottom:.45em;border-bottom:1px solid transparent;
	transition:color .3s ease,border-color .3s ease;
}
.nav-links a:hover{color:var(--dan);border-color:rgba(192,101,63,.7);}

/* ---------- hero: the artwork IS the page ---------- */
.hero{
	position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;color:var(--text);
	background:
		radial-gradient(rgba(46,37,25,.045) .6px,transparent 1.1px) 0 0/7px 7px,
		linear-gradient(160deg, rgba(47,64,88,.34), transparent 52%),
		linear-gradient(20deg, rgba(77,106,91,.30), transparent 52%),
		radial-gradient(ellipse 120% 105% at 46% 50%, #E8DEC8 0%, #D9CBB0 34%, #7E7B6B 60%, #43536A 82%, #171D27 100%);
}
.art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.art-defs{position:absolute;width:0;height:0;overflow:hidden;}
.art-m{display:none;}

/* ---------- inscription layer: type is a small gallery colophon on the taiji ----------
   World-A canvas is 1600x1000; the Taiji (centre 1000/690, r~580) has the
   paper fish on the upper-left and the ink fish on the lower-right.
   The artwork uses preserveAspectRatio="xMidYMax slice", reproduced in CSS:
     wide stage (aspect >= 8/5): x = X/1600*100vw ; bottom = (1000-Y)/1600*100vw
     tall stage (aspect <  8/5): top = Y/1000*100vh ; left = (X-800)/1000*100vh + 50vw
   Text therefore stays inside the same fish at any viewport. */
.motto,.consult{position:absolute;z-index:6;margin:0;}

/* paper fish (light) -> dark ink motto — reads like an inscription, not a headline */
.motto{
	left:calc(470/1600*100vw);
	bottom:calc(445/1600*100vw);      /* block bottom sits at canvas y ~555 (paper fish) */
	display:flex;flex-direction:column;gap:.6em;
	pointer-events:none;
}
.motto span{
	display:block;
	font:400 clamp(12px,.85vw,16px)/1.4 var(--serif);
	letter-spacing:.09em;color:rgba(36,28,17,.92);white-space:nowrap;
}

/* ink fish (dark) -> warm ivory CTA — a text link with a subtle line */
.consult{
	left:calc(1055/1600*100vw);
	bottom:calc(350/1600*100vw);      /* block bottom sits at canvas y ~650 (ink fish) */
	pointer-events:auto;
}
.consult a{
	display:inline-block;
	font:500 8.5px/1 var(--sans);letter-spacing:.27em;text-transform:uppercase;text-decoration:none;
	color:rgba(246,238,219,.9);padding-bottom:.85em;
	border-bottom:1px solid rgba(246,238,219,.45);
	transition:color .35s ease,border-color .35s ease;
}
.consult a:hover{color:#E8C7A0;border-color:rgba(232,199,160,.85);}

/* tall / portrait-ish desktop: keep the colophons on the same fish via the vh mapping */
@media (max-aspect-ratio:8/5){
	.motto{
		left:calc((470 - 800)/1000*100vh + 50vw);
		bottom:auto;top:calc(505/1000*100vh);
	}
	.consult{
		left:calc((950 - 800)/1000*100vh + 50vw);
		bottom:auto;top:calc(640/1000*100vh);
	}
}

/* ---------- very slow breath (20-40s), disabled under reduced motion ---------- */
.a-flow{animation:aflow 26s ease-in-out infinite;}
@keyframes aflow{0%,100%{opacity:.3;}50%{opacity:.42;}}
.a-mist{animation:amist 34s ease-in-out infinite;}
@keyframes amist{0%,100%{opacity:.1;}50%{opacity:.18;}}
.a-moon{animation:amoon 40s ease-in-out infinite;}
@keyframes amoon{0%,100%{opacity:.14;}50%{opacity:.2;}}

/* ---------- responsive ---------- */
@media (max-width:900px){
	.nav-links{display:none;}
}

/* Portrait phones: the artwork becomes the screen. The whole taiji is shown
   huge and centred; the colophons turn dark ink and sit on the paper — the
   motto as a small inscription low on the left, the CTA as a quiet caption
   beneath the circle. No "text panel": type is a gallery label. */
@media (max-width:720px) and (orientation:portrait){
	.site-nav{padding:14px 18px;}
	.brand{font-size:9px;letter-spacing:.32em;}
	.hero{min-height:100svh;}
	.art{display:none;}
	.art-m{
		display:block;position:absolute;left:50%;top:51%;
		width:132vw;max-width:none;height:auto;margin:0;
		transform:translate(-50%,-50%);
	}
	.motto{
		left:6.5vw;bottom:auto;top:42.5vh;transform:none;
		gap:.5em;color:#241C11;
	}
	.motto span{font-size:clamp(11px,3.4vw,14px);letter-spacing:.07em;color:rgba(36,28,17,.92);}
	.consult{
		left:50%;bottom:auto;top:80vh;transform:translateX(-50%);
		width:max-content;
	}
	.consult a{
		color:#241C11;border-bottom-color:rgba(36,28,17,.42);font-size:8px;letter-spacing:.26em;
	}
	.consult a:hover{color:var(--dan);border-color:var(--dan);}
}

/* Landscape phones: keep the desktop full-bleed art and fish-anchored type,
   only compress the type. */
@media (max-width:720px) and (orientation:landscape){
	.nav-links{display:none;}
	.motto{left:calc(620/1600*100vw);bottom:calc(320/1600*100vw);}
	.motto span{font-size:12px;}
	.consult{left:calc(1300/1600*100vw);bottom:calc(210/1600*100vw);}
	.consult a{font-size:8px;letter-spacing:.26em;}
}



/* ---------- 02 PAUSE: Taiji x Cloud / Mist ---------- */
.ic-pause{
	position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;color:#211B13;
	background:linear-gradient(180deg,#EFE6D4 0%,#E4D8C0 48%,#C4CBC0 100%);
}
.ic-pause::before{
	content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
	background:
		linear-gradient(90deg,rgba(246,238,221,.56) 0%,rgba(246,238,221,.14) 36%,transparent 58%),
		linear-gradient(180deg,rgba(237,227,208,.34) 0%,transparent 24%,transparent 76%,rgba(31,35,35,.14) 100%);
}
.ic-pause__art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.ic-pause__copy{
	position:absolute;z-index:3;left:clamp(24px,20vw,420px);top:50%;transform:translateY(-50%);
	width:min(440px,42vw);color:#201A11;
}
.ic-pause__eyebrow{
	margin:0 0 1.15em;display:flex;align-items:center;gap:.8em;
	font:500 9px/1 var(--sans);letter-spacing:.38em;text-transform:uppercase;color:#8A3F2A;
}
.ic-pause__eyebrow::before{content:"";width:7px;height:7px;background:#9C4A2C;opacity:.9;flex:0 0 auto;}
.ic-pause__title{
	margin:0;display:flex;flex-direction:column;gap:.08em;
	font:400 clamp(30px,3.15vw,48px)/1.06 var(--serif);letter-spacing:.015em;
}
.ic-pause__title span{display:block;}
.ic-pause__lede{
	margin:1.55em 0 0;max-width:31em;
	font:400 clamp(13px,1.05vw,17px)/1.62 var(--serif);letter-spacing:.015em;color:rgba(32,26,17,.78);
}
.ic-pause__note{
	position:absolute;z-index:3;right:clamp(24px,24vw,460px);bottom:20vh;width:min(310px,28vw);
	margin:0;text-align:right;
	font:400 clamp(14px,1.15vw,18px)/1.45 var(--serif);letter-spacing:.04em;color:rgba(246,238,219,.94);
	text-shadow:0 1px 2px rgba(10,9,7,.62),0 0 16px rgba(10,9,7,.34);
}

.p-cloud--a{animation:p-cloud-a 38s ease-in-out infinite;}
.p-cloud--b{animation:p-cloud-b 44s ease-in-out infinite;}
.p-mist--one{animation:p-mist-one 32s ease-in-out infinite;}
.p-mist--two{animation:p-mist-two 40s ease-in-out infinite;}
.p-mist--three{animation:p-mist-three 36s ease-in-out infinite;}
.p-breathe{animation:p-breathe 40s ease-in-out infinite;transform-origin:800px 540px;}
@keyframes p-cloud-a{0%,100%{transform:translateX(0);}50%{transform:translateX(-22px);}}
@keyframes p-cloud-b{0%,100%{transform:translateX(0);}50%{transform:translateX(18px);}}
@keyframes p-mist-one{0%,100%{stroke-opacity:.18;}50%{stroke-opacity:.30;}}
@keyframes p-mist-two{0%,100%{stroke-opacity:.08;}50%{stroke-opacity:.18;}}
@keyframes p-mist-three{0%,100%{opacity:.06;}50%{opacity:.14;}}
@keyframes p-breathe{0%,100%{opacity:.92;}50%{opacity:1;}}

@media (max-width:900px){
	.ic-pause__copy{left:clamp(24px,12vw,140px);width:min(440px,68vw);}
	.ic-pause__note{right:clamp(24px,12vw,160px);width:min(300px,40vw);}
}

@media (max-width:720px) and (orientation:portrait){
	.ic-pause__art{left:-50%;top:0;right:auto;width:200%;height:100%;}
	.ic-pause::before{
		background:
			linear-gradient(180deg,rgba(246,238,221,.50) 0%,transparent 34%,transparent 66%,rgba(21,18,14,.12) 100%),
			linear-gradient(90deg,rgba(246,238,221,.28) 0%,transparent 58%);
	}
	.ic-pause__copy{left:7vw;top:27%;transform:none;width:76vw;max-width:360px;}
	.ic-pause__title{font-size:clamp(27px,8vw,38px);}
	.ic-pause__lede{margin-top:1.25em;font-size:13px;max-width:86%;}
	.ic-pause__note{right:7vw;left:auto;bottom:12%;width:72vw;max-width:300px;text-align:right;font-size:14px;}
}



/* ---------- 03 CHANGE: Taiji x Bagua / Hexagrams / Six Lines ---------- */
.ic-change{
	position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;color:#211B13;
	background:linear-gradient(180deg,#EFE6D4 0%,#E4D8C0 46%,#BFC7BC 100%);
}
.ic-change::after{
	content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
	background:radial-gradient(rgba(46,37,25,.035) .55px,transparent 1px) 0 0/6px 6px;
	opacity:.62;mix-blend-mode:multiply;
}
.ic-change__art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.ic-change__inner{
	position:relative;z-index:3;min-height:100vh;min-height:100svh;
	display:flex;flex-direction:column;justify-content:space-between;
	padding:clamp(34px,6vw,92px) clamp(24px,6vw,120px);
}
.ic-change__copy{position:relative;max-width:430px;}
.ic-change__copy::before{
	content:"";position:absolute;inset:-1.4rem -2rem -1.6rem -1.6rem;z-index:-1;pointer-events:none;
	background:radial-gradient(ellipse at 24% 32%,rgba(244,236,217,.86) 0%,rgba(244,236,217,.46) 56%,transparent 80%);
}
.ic-change__eyebrow{
	margin:0 0 1.15em;display:flex;align-items:center;gap:.8em;
	font:500 9px/1 var(--sans);letter-spacing:.38em;text-transform:uppercase;color:#8A3F2A;
}
.ic-change__eyebrow::before{content:"";width:7px;height:7px;background:#9C4A2C;opacity:.9;flex:0 0 auto;}
.ic-change__title{
	margin:0;font:400 clamp(32px,3.3vw,54px)/1.02 var(--serif);letter-spacing:.01em;
}
.ic-change__lede{
	margin:1.5em 0 0;max-width:33em;
	font:400 clamp(13px,1.06vw,17px)/1.65 var(--serif);letter-spacing:.015em;color:rgba(32,26,17,.78);
}
.ic-change__legend{
	list-style:none;margin:0;padding:0;width:max-content;
	display:flex;flex-direction:column;gap:.34rem;
	font:500 9px/1.1 var(--sans);letter-spacing:.30em;text-transform:uppercase;color:rgba(36,28,17,.72);
}
.ic-change__legend li{position:relative;display:flex;align-items:center;gap:.8em;}
.ic-change__legend li span{font:500 8px/1 var(--sans);letter-spacing:.18em;color:#8A3F2A;}
.ic-change__legend li+li::before{
	content:"↓";position:absolute;left:0;top:-.72rem;
	font-size:8px;color:rgba(36,28,17,.38);
}

.l-field{animation:l-field-drift 44s ease-in-out infinite;}
.l-origin{animation:l-origin-breathe 40s ease-in-out infinite;transform-origin:700px 720px;}
.l-bagua{animation:l-bagua-breathe 42s ease-in-out infinite;}
.l-hex-focus{animation:l-hex-breathe 38s ease-in-out infinite;transform-origin:980px 820px;}
.l-six-lines{animation:l-six-breathe 36s ease-in-out infinite;}
@keyframes l-field-drift{0%,100%{opacity:.84;}50%{opacity:.98;}}
@keyframes l-origin-breathe{0%,100%{opacity:.94;}50%{opacity:1;}}
@keyframes l-bagua-breathe{0%,100%{opacity:.78;}50%{opacity:.96;}}
@keyframes l-hex-breathe{0%,100%{opacity:.82;}50%{opacity:1;}}
@keyframes l-six-breathe{0%,100%{opacity:.9;}50%{opacity:1;}}

@media (max-width:900px){
	.ic-change__inner{padding:28px clamp(20px,5vw,40px);}
	.ic-change__copy{max-width:min(430px,70vw);}
	.ic-change__lede{max-width:28em;}
}

@media (max-width:720px) and (orientation:portrait){
	.ic-change__inner{padding:24px 20px 22px;}
	.ic-change__copy{max-width:82vw;}
	.ic-change__title{font-size:clamp(28px,8vw,40px);}
	.ic-change__lede{margin-top:1.25em;font-size:13px;max-width:90%;}
	.ic-change__legend{gap:.24rem;font-size:8px;letter-spacing:.24em;}
	.ic-change__legend li span{font-size:7px;}
}



/* ---------- 04 CONSULTATION: private study, inkstone, quiet invitation ---------- */
.ic-consult{
	position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;color:#211B13;
	background:linear-gradient(180deg,#EFE6D4 0%,#E7DCC7 52%,#C7CEC4 100%);
}
.ic-consult::after{
	content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
	background:radial-gradient(rgba(46,37,25,.035) .55px,transparent 1px) 0 0/6px 6px;
	opacity:.58;mix-blend-mode:multiply;
}
.ic-consult__art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.ic-consult__inner{
	position:relative;z-index:3;min-height:100vh;min-height:100svh;
	display:flex;flex-direction:column;justify-content:center;
	padding:clamp(34px,6vw,92px) clamp(24px,6vw,120px);
}
.ic-consult__copy{position:relative;max-width:520px;}
.ic-consult__copy::before{
	content:"";position:absolute;inset:-1.5rem -2.2rem -1.8rem -1.8rem;z-index:-1;pointer-events:none;
	background:radial-gradient(ellipse at 24% 28%,rgba(244,236,217,.88) 0%,rgba(244,236,217,.48) 56%,transparent 80%);
}
.ic-consult__eyebrow{
	margin:0 0 1.15em;display:flex;align-items:center;gap:.8em;
	font:500 9px/1 var(--sans);letter-spacing:.38em;text-transform:uppercase;color:#8A3F2A;
}
.ic-consult__eyebrow::before{content:"";width:7px;height:7px;background:#9C4A2C;opacity:.9;flex:0 0 auto;}
.ic-consult__title{
	margin:0;font:400 clamp(34px,3.45vw,56px)/1.02 var(--serif);letter-spacing:.01em;
}
.ic-consult__lede{
	margin:1.5em 0 0;max-width:33em;
	font:400 clamp(13px,1.06vw,17px)/1.68 var(--serif);letter-spacing:.015em;color:rgba(32,26,17,.78);
}
.ic-consult__invite{
	margin:1.45em 0 0;
	font:400 clamp(14px,1.12vw,19px)/1.5 var(--serif);font-style:italic;letter-spacing:.02em;color:rgba(32,26,17,.82);
}
.ic-consult__cta{margin:2.35em 0 0;}
.ic-consult__cta a{
	display:inline-block;font:500 9px/1 var(--sans);letter-spacing:.29em;text-transform:uppercase;text-decoration:none;
	color:#241C11;padding-bottom:.85em;border-bottom:1px solid rgba(36,28,17,.42);
	transition:color .35s ease,border-color .35s ease;
}
.ic-consult__cta a:hover{color:var(--dan);border-color:var(--dan);}
.ic-consult__flow{
	position:absolute;left:clamp(24px,6vw,120px);bottom:clamp(28px,6vh,64px);z-index:3;
	list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;
	font:500 8.5px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:rgba(36,28,17,.62);
}
.ic-consult__flow li{display:flex;align-items:center;gap:1.2rem;}
.ic-consult__flow li+li::before{content:"→";font-size:10px;color:#9C4A2C;opacity:.7;letter-spacing:0;}

.c-mist--a{animation:c-mist-a 44s ease-in-out infinite;}
.c-mist--b{animation:c-mist-b 38s ease-in-out infinite;}
.c-sweep{animation:c-sweep 42s ease-in-out infinite;}
.c-object{animation:c-object 40s ease-in-out infinite;transform-origin:890px 730px;}
@keyframes c-mist-a{0%,100%{transform:translateX(0);}50%{transform:translateX(-18px);}}
@keyframes c-mist-b{0%,100%{transform:translateX(0);}50%{transform:translateX(14px);}}
@keyframes c-sweep{0%,100%{opacity:.9;}50%{opacity:1;}}
@keyframes c-object{0%,100%{opacity:.94;}50%{opacity:1;}}

@media (max-width:900px){
	.ic-consult__inner{padding:28px clamp(20px,5vw,40px);}
	.ic-consult__copy{max-width:min(520px,68vw);}
}

@media (max-width:720px) and (orientation:portrait){
	.ic-consult__inner{justify-content:flex-start;padding:24px 20px 22px;}
	.ic-consult__copy{max-width:82vw;}
	.ic-consult__title{font-size:clamp(30px,8.5vw,42px);}
	.ic-consult__lede{margin-top:1.25em;font-size:13px;max-width:90%;}
	.ic-consult__invite{margin-top:1.2em;font-size:14px;}
	.ic-consult__cta{margin-top:1.8em;}
	.ic-consult__flow{left:20px;bottom:18px;flex-direction:column;align-items:flex-start;gap:.38rem;font-size:8px;letter-spacing:.24em;}
	.ic-consult__flow li+li::before{content:"↓";}
}



/* ---------- 05 FINAL: last page, brushstroke, quiet close ---------- */
.ic-final{
	position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;color:#211B13;
	background:linear-gradient(180deg,#F1E8D6 0%,#EDE3D0 52%,#E3D8C2 100%);
}
.ic-final::after{
	content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
	background:radial-gradient(rgba(46,37,25,.03) .5px,transparent 1px) 0 0/6px 6px;
	opacity:.5;mix-blend-mode:multiply;
}
.ic-final__art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.ic-final__inner{
	position:relative;z-index:3;min-height:100vh;min-height:100svh;
	display:flex;flex-direction:column;justify-content:center;
	padding:clamp(34px,6vw,92px) clamp(24px,6vw,120px);
}
.ic-final__copy{position:relative;max-width:560px;}
.ic-final__copy::before{
	content:"";position:absolute;inset:-1.6rem -2.4rem -1.8rem -2rem;z-index:-1;pointer-events:none;
	background:radial-gradient(ellipse at 24% 28%,rgba(246,238,221,.9) 0%,rgba(246,238,221,.5) 56%,transparent 82%);
}
.ic-final__eyebrow{
	margin:0 0 1.2em;display:flex;align-items:center;gap:.8em;
	font:500 9px/1 var(--sans);letter-spacing:.38em;text-transform:uppercase;color:#8A3F2A;
}
.ic-final__eyebrow::before{content:"";width:7px;height:7px;background:#9C4A2C;opacity:.9;flex:0 0 auto;}
.ic-final__title{
	margin:0;display:flex;flex-direction:column;gap:.1em;
	font:400 clamp(34px,3.55vw,58px)/1.04 var(--serif);letter-spacing:.01em;
}
.ic-final__title span{display:block;}
.ic-final__lede{
	margin:1.6em 0 0;max-width:33em;
	font:400 clamp(14px,1.08vw,18px)/1.72 var(--serif);letter-spacing:.015em;color:rgba(32,26,17,.78);
}
.ic-final__invite{
	margin:1.35em 0 0;font:400 clamp(14px,1.1vw,18px)/1.5 var(--serif);font-style:italic;letter-spacing:.02em;color:rgba(32,26,17,.84);
}
.ic-final__cta{margin:2.25em 0 0;}
.ic-final__cta a{
	display:inline-block;font:500 9px/1 var(--sans);letter-spacing:.29em;text-transform:uppercase;text-decoration:none;
	color:#241C11;padding-bottom:.85em;border-bottom:1px solid rgba(36,28,17,.42);
	transition:color .35s ease,border-color .35s ease;
}
.ic-final__cta a:hover{color:var(--dan);border-color:var(--dan);}
.ic-final__mark{
	position:absolute;left:clamp(24px,6vw,120px);bottom:clamp(28px,6vh,64px);z-index:3;
	display:flex;align-items:center;gap:.8em;
	font:500 8.5px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:rgba(36,28,17,.55);
}
.ic-final__seal{width:8px;height:8px;background:#9C4A2C;opacity:.86;flex:0 0 auto;}

.f-final-stroke{animation:f-final-breathe 42s ease-in-out infinite;}
.f-final-dot{animation:f-final-dot 38s ease-in-out infinite;}
@keyframes f-final-breathe{0%,100%{opacity:.86;}50%{opacity:1;}}
@keyframes f-final-dot{0%,100%{opacity:.1;}50%{opacity:.18;}}

@media (max-width:900px){
	.ic-final__inner{padding:28px clamp(20px,5vw,40px) 112px;}
	.ic-final__copy{max-width:min(560px,70vw);}
}

@media (max-width:720px) and (orientation:portrait){
	.ic-final__inner{padding:24px 20px 112px;}
	.ic-final__copy{max-width:82vw;}
	.ic-final__title{font-size:clamp(30px,8.5vw,42px);}
	.ic-final__lede{margin-top:1.25em;font-size:13px;max-width:90%;}
	.ic-final__invite{margin-top:1.2em;font-size:14px;}
	.ic-final__cta{margin-top:1.8em;}
	.ic-final__mark{left:20px;bottom:20px;font-size:8px;letter-spacing:.28em;}
}



/* ---------- Consultation page: independent page template ---------- */
body.ic-consult-page{background:var(--paper);color:var(--text);}
.ic-page-hero{
	position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;
	background:linear-gradient(180deg,#F4ECD9 0%,#EDE3D0 58%,#D8D2C0 100%);
}
.ic-page-hero__art{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.ic-page-hero__inner{
	position:relative;z-index:3;min-height:100vh;min-height:100svh;
	display:flex;flex-direction:column;justify-content:center;
	padding:clamp(40px,7vw,120px) clamp(24px,9vw,180px);
}
.ic-page__eyebrow{
	margin:0 0 1.2em;display:flex;align-items:center;gap:.8em;
	font:500 9px/1 var(--sans);letter-spacing:.38em;text-transform:uppercase;color:#8A3F2A;
}
.ic-page__eyebrow::before{content:"";width:7px;height:7px;background:#9C4A2C;opacity:.9;flex:0 0 auto;}
.ic-page-hero h1{
	margin:0;max-width:760px;
	font:400 clamp(42px,5vw,86px)/1.02 var(--serif);letter-spacing:-.01em;
}
.ic-page__subtitle{
	margin:1.35em 0 0;max-width:32em;
	font:400 clamp(16px,1.35vw,24px)/1.5 var(--serif);font-style:italic;color:rgba(32,26,17,.76);
}
.ic-page__intro{
	margin:1.2em 0 0;max-width:38em;
	font:400 clamp(13px,1.05vw,17px)/1.7 var(--serif);color:rgba(32,26,17,.72);
}
.ic-page-hero__cue{
	position:absolute;left:clamp(24px,9vw,180px);bottom:clamp(28px,6vh,64px);z-index:3;margin:0;
}
.ic-page-hero__cue a{
	font:500 8.5px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;text-decoration:none;
	color:rgba(36,28,17,.62);padding-bottom:.7em;border-bottom:1px solid rgba(36,28,17,.28);
	transition:color .35s ease,border-color .35s ease;
}
.ic-page-hero__cue a:hover{color:var(--dan);border-color:var(--dan);}
.ic-page-hero__cue span{display:inline-block;margin-left:.6em;color:#9C4A2C;}

.cp-stroke{animation:cp-stroke 42s ease-in-out infinite;}
.cp-dot{animation:cp-dot 38s ease-in-out infinite;}
@keyframes cp-stroke{0%,100%{opacity:.86;}50%{opacity:1;}}
@keyframes cp-dot{0%,100%{opacity:.1;}50%{opacity:.18;}}

.ic-page-section{position:relative;overflow:hidden;}
.ic-page-section__inner{max-width:1240px;margin:0 auto;padding:clamp(72px,10vw,160px) clamp(24px,6vw,88px);}
.ic-page-section h2{
	margin:0;max-width:15em;
	font:400 clamp(30px,3.1vw,50px)/1.1 var(--serif);letter-spacing:.005em;
}
.ic-page-process{background:linear-gradient(180deg,#EDE3D0 0%,#F1E9D6 100%);}
.ic-page-process__list{
	list-style:none;margin:clamp(44px,6vw,80px) 0 0;padding:0;position:relative;
}
.ic-page-process__list::before{
	content:"";position:absolute;left:28px;top:12px;bottom:12px;width:1px;
	background:linear-gradient(180deg,rgba(36,28,17,.24),rgba(36,28,17,.06));
}
.ic-page-process__list li{
	position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:clamp(18px,3vw,42px);
	padding:0 0 clamp(44px,6vw,72px);margin:0;
}
.ic-page-process__list li:last-child{padding-bottom:0;}
.ic-page-process__num{
	position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;
	width:58px;height:58px;border:1px solid rgba(36,28,17,.26);border-radius:50%;
	background:#EDE3D0;font:400 16px/1 var(--serif);color:#8A3F2A;
}
.ic-page-process__body h3{
	margin:.35em 0 .55em;font:400 clamp(20px,2vw,30px)/1.2 var(--serif);letter-spacing:.005em;
}
.ic-page-process__body p{margin:0;max-width:38em;font:400 clamp(13px,1.05vw,17px)/1.7 var(--serif);color:rgba(32,26,17,.74);}
.ic-page-ethics{background:linear-gradient(180deg,#E4D8C0 0%,#D8D2C0 100%);}
.ic-page-ethics__inner{max-width:1120px;}
.ic-page-ethics h2{max-width:16em;font-size:clamp(30px,3.4vw,56px);}
.ic-page-ethics__columns{
	display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,84px);
	margin-top:clamp(42px,6vw,76px);padding-top:clamp(28px,4vw,48px);border-top:1px solid rgba(36,28,17,.18);
}
.ic-page-ethics__label{
	margin:0 0 .65em;font:500 9px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:#8A3F2A;
}
.ic-page-ethics__columns p:last-child{
	margin:0;font:400 clamp(13px,1.08vw,17px)/1.72 var(--serif);color:rgba(32,26,17,.76);
}
.ic-page-ethics__note{
	margin:clamp(34px,5vw,60px) 0 0;max-width:48em;
	font:400 clamp(12px,1vw,16px)/1.7 var(--serif);color:rgba(32,26,17,.62);
}
.ic-page-faq{background:linear-gradient(180deg,#F1E9D6 0%,#EDE3D0 100%);}
.ic-page-faq__list{margin-top:clamp(40px,5vw,68px);border-top:1px solid rgba(36,28,17,.18);}
.ic-page-faq details{border-bottom:1px solid rgba(36,28,17,.18);}
.ic-page-faq summary{
	list-style:none;cursor:pointer;position:relative;
	padding:clamp(20px,2.5vw,30px) 44px clamp(20px,2.5vw,30px) 0;
	font:400 clamp(17px,1.5vw,22px)/1.35 var(--serif);color:rgba(32,26,17,.9);
}
.ic-page-faq summary::-webkit-details-marker{display:none;}
.ic-page-faq summary::after{
	content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);
	font:400 20px/1 var(--serif);color:#8A3F2A;transition:transform .3s ease;
}
.ic-page-faq details[open] summary::after{content:"−";}
.ic-page-faq details p{
	margin:0;max-width:52em;padding:0 44px 1.7em 0;
	font:400 clamp(13px,1.05vw,17px)/1.72 var(--serif);color:rgba(32,26,17,.72);
}
.ic-page-begin{
	position:relative;overflow:hidden;background:linear-gradient(180deg,#26364A 0%,#151D28 100%);color:var(--ivory);
}
.ic-page-begin__stroke{
	position:absolute;right:-4%;top:50%;width:min(760px,70vw);height:auto;transform:translateY(-50%);opacity:.9;z-index:1;
}
.ic-page-begin__inner{position:relative;z-index:3;max-width:1120px;}
.ic-page-begin .ic-page__eyebrow{color:#D9A27E;}
.ic-page-begin .ic-page__eyebrow::before{background:#9C4A2C;}
.ic-page-begin h2{max-width:13em;color:var(--ivory);}
.ic-page-begin__copy{
	margin:1.35em 0 0;max-width:32em;
	font:400 clamp(14px,1.1vw,19px)/1.6 var(--serif);font-style:italic;color:rgba(246,238,219,.76);
}
.ic-page-begin__cta-wrap{margin-top:2.2em;}
.ic-page__cta{
	display:inline-block;font:500 9px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;text-decoration:none;
	color:var(--ivory);padding-bottom:.85em;border-bottom:1px solid rgba(246,238,219,.45);
	transition:color .35s ease,border-color .35s ease;
}
.ic-page__cta:hover{color:#E8C7A0;border-color:rgba(232,199,160,.85);}
.ic-page__cta.is-placeholder{color:rgba(246,238,219,.6);border-bottom-color:rgba(246,238,219,.24);cursor:default;}
.ic-page__cta-note{
	margin:.9em 0 0;font:400 12px/1.5 var(--serif);color:rgba(246,238,219,.46);
}
.ic-page-begin__mark{
	position:absolute;left:clamp(24px,6vw,88px);bottom:clamp(28px,6vh,64px);
	display:flex;align-items:center;gap:.8em;
	font:500 8.5px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:rgba(246,238,219,.5);
}
.ic-page-begin__seal{width:8px;height:8px;background:#9C4A2C;opacity:.9;flex:0 0 auto;}
.ic-page-begin__stroke{animation:cp-close 44s ease-in-out infinite;}
@keyframes cp-close{0%,100%{opacity:.78;}50%{opacity:1;}}

@media (max-width:900px){
	.ic-page-hero__inner{padding:32px clamp(20px,6vw,48px);}
	.ic-page-hero h1{font-size:clamp(40px,7vw,68px);}
	.ic-page-section__inner{padding:clamp(64px,9vw,110px) clamp(20px,6vw,48px);}
	.ic-page-ethics__columns{gap:clamp(24px,5vw,48px);}
}

@media (max-width:720px) and (orientation:portrait){
	.ic-page-hero__inner{padding:24px 20px 92px;justify-content:center;}
	.ic-page-hero h1{font-size:clamp(34px,10.5vw,48px);}
	.ic-page__subtitle{font-size:16px;margin-top:1.15em;}
	.ic-page__intro{font-size:13px;max-width:92%;}
	.ic-page-hero__cue{left:20px;bottom:24px;}
	.ic-page-section__inner{padding:58px 20px 70px;}
	.ic-page-section h2{font-size:clamp(27px,8vw,38px);}
	.ic-page-process__list{margin-top:38px;}
	.ic-page-process__list::before{left:22px;}
	.ic-page-process__list li{grid-template-columns:46px minmax(0,1fr);gap:16px;padding-bottom:42px;}
	.ic-page-process__num{width:46px;height:46px;font-size:14px;}
	.ic-page-process__body h3{font-size:20px;margin-top:.25em;}
	.ic-page-process__body p{font-size:13px;}
	.ic-page-ethics__columns{grid-template-columns:1fr;gap:28px;margin-top:36px;padding-top:28px;}
	.ic-page-ethics__note{font-size:12px;}
	.ic-page-faq__list{margin-top:34px;}
	.ic-page-faq summary{padding:18px 36px 18px 0;font-size:17px;}
	.ic-page-faq details p{padding-right:36px;font-size:13px;}
	.ic-page-begin__inner{padding:64px 20px 120px;}
	.ic-page-begin h2{font-size:clamp(30px,9vw,42px);}
	.ic-page-begin__stroke{right:-30%;top:42%;width:130%;opacity:.74;}
	.ic-page-begin__mark{left:20px;bottom:20px;font-size:8px;letter-spacing:.28em;}
}



/* ---------- About / Story page: additional page-specific layers ---------- */
body.ic-about-page{background:var(--paper);color:var(--text);}
.ic-about-beyond{
	background:linear-gradient(180deg,#1F2C3D 0%,#121923 100%);
	color:var(--ivory);
}
.ic-about-beyond__inner{max-width:1120px;}
.ic-about-beyond h2{max-width:17em;color:var(--ivory);}
.ic-about-beyond__statement{
	margin:clamp(36px,5vw,64px) 0 0;max-width:18em;
	font:400 clamp(30px,3.5vw,56px)/1.12 var(--serif);letter-spacing:.005em;color:var(--ivory);
}
.ic-about-beyond__promise{
	margin:clamp(40px,5vw,70px) 0 0;padding-top:1.4em;max-width:34em;
	border-top:1px solid rgba(246,238,219,.22);
	font:400 clamp(17px,1.45vw,26px)/1.45 var(--serif);font-style:italic;color:#E8C7A0;
}
.ic-about-tradition{background:linear-gradient(180deg,#EDE3D0 0%,#E4D8C0 100%);}
.ic-about-tradition__intro{
	margin:1.35em 0 0;max-width:38em;
	font:400 clamp(15px,1.2vw,21px)/1.6 var(--serif);color:rgba(32,26,17,.76);
}
.ic-about-tradition__list{margin-top:clamp(42px,6vw,76px);border-top:1px solid rgba(36,28,17,.18);}
.ic-about-tradition__item{
	display:grid;grid-template-columns:minmax(170px,.55fr) 1fr;gap:clamp(24px,5vw,72px);
	padding:clamp(22px,3vw,36px) 0;border-bottom:1px solid rgba(36,28,17,.18);
}
.ic-about-tradition__item h3{
	margin:0;font:400 clamp(21px,2.1vw,34px)/1.15 var(--serif);letter-spacing:.005em;
}
.ic-about-tradition__item p{
	margin:0;max-width:34em;font:400 clamp(13px,1.05vw,17px)/1.7 var(--serif);color:rgba(32,26,17,.72);
}
.ic-about-tradition__note{
	margin:clamp(34px,5vw,58px) 0 0;max-width:44em;
	font:400 clamp(15px,1.25vw,22px)/1.55 var(--serif);font-style:italic;color:rgba(32,26,17,.72);
}
.ic-about-practice{background:linear-gradient(180deg,#F1E9D6 0%,#EDE3D0 100%);}
.ic-about-practice__inner{max-width:1080px;}
.ic-about-practice__statement{max-width:18em;font-size:clamp(31px,3.35vw,54px);}
.ic-about-practice__copy{
	margin:1.5em 0 0;max-width:36em;
	font:400 clamp(14px,1.1vw,18px)/1.72 var(--serif);color:rgba(32,26,17,.74);
}

.ic-about-taiji{
	position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;
	opacity:.16;pointer-events:none;mix-blend-mode:multiply;
}
@media (max-width:720px) and (orientation:portrait){
	.ic-about-taiji{opacity:.13;}
}

@media (max-width:720px) and (orientation:portrait){
	.ic-about-beyond__statement{font-size:clamp(27px,8vw,38px);}
	.ic-about-beyond__promise{font-size:16px;}
	.ic-about-tradition__item{grid-template-columns:1fr;gap:8px;padding:20px 0;}
	.ic-about-tradition__item h3{font-size:21px;}
	.ic-about-tradition__item p{font-size:13px;}
	.ic-about-practice__statement{font-size:clamp(28px,8vw,40px);}
	.ic-about-practice__copy{font-size:13px;}
}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto;}
	*,*::before,*::after{animation:none!important;transition:none!important;}
}

/* ---------- Phase 1 performance pass: lower continuous SVG compositing cost ---------- */
/* Keep one primary atmosphere animation per section; pause secondary loops. */
.a-mist,
.a-moon,
.p-cloud--a,
.p-cloud--b,
.p-mist--one,
.p-mist--two,
.p-mist--three,
.l-field,
.l-bagua,
.l-hex-focus,
.l-six-lines,
.c-mist--a,
.c-mist--b,
.c-sweep,
.f-final-dot,
.cp-dot,
.ic-page-begin__stroke,
.ic-about-taiji .a-flow,
.ic-about-taiji .a-mist,
.ic-about-taiji .a-moon {
	animation:none;
}
.ic-about-taiji .a-flow,
.ic-about-taiji .a-mist,
.ic-about-taiji .a-moon { will-change:auto; }

/* Remove full-width multiply compositing; keep the paper grain subtle. */
.ic-change::after,
.ic-consult::after,
.ic-final::after { mix-blend-mode:normal; }
.ic-change::after { opacity:.34; }
.ic-consult::after { opacity:.30; }
.ic-final::after { opacity:.26; }
.ic-about-taiji { mix-blend-mode:normal; opacity:.13; }

/* Skip offscreen rendering for full-height narrative sections while preserving scroll height. */
.ic-pause,
.ic-change,
.ic-consult,
.ic-final {
	content-visibility:auto;
	contain-intrinsic-size:auto 100vh;
	contain-intrinsic-size:auto 100svh;
	contain:layout paint;
}
.ic-page-hero,
.ic-page-section { contain:layout paint; }

/* Promote only the two most important animated layers on desktop. */
.a-flow,
.p-breathe { will-change:opacity; }

/* Mobile keeps one slow hero motion; all other art remains static. */
@media (max-width:720px) and (orientation:portrait) {
	.p-breathe,
	.l-origin,
	.c-object,
	.f-final-stroke { animation:none; }
	.a-flow,
	.p-breathe { will-change:auto; }
	.ic-about-taiji { opacity:.11; }
}