/* Three compositions; motion and generated art live outside practice stimuli. */
#oko-root .oko-concept-page { padding-top:0; }
#oko-root .oko-concept-switch { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:1px solid var(--oko-line); }
#oko-root .oko-concept-switch-label { color:#afa591; font-size:11px; letter-spacing:.08em; }
#oko-root .oko-concept-options { display:flex; align-items:center; gap:8px; }
#oko-root .oko-concept-options button { min-height:43px; padding:10px 19px; border:1px solid transparent; border-radius:4px; background:transparent; color:#a6a0ae; font-size:13px; transition:border-color .2s,color .2s,background .2s; }
#oko-root .oko-concept-options button > span { color:#9a8257; margin-right:10px; font:500 16px var(--oko-serif); }
#oko-root .oko-concept-options button[aria-pressed=true] { border-color:#d3b98455; color:#ead9b5; background:#d3b98409; }
#oko-root .oko-concept-options button:hover { color:#ead9b5; border-color:#d3b98435; }
#oko-root .oko-concept-switch > a { color:#c7b48e; text-decoration:none; font-size:12px; padding:9px 0; }
#oko-root .oko-v-hero { position:relative; min-height:700px; display:flex; align-items:center; isolation:isolate; border-bottom:1px solid var(--oko-line); }
#oko-root .oko-v-hero-art { position:absolute; inset:0 -56px; margin:0; z-index:-1; overflow:hidden; }
#oko-root .oko-v-hero-art > img { width:100%; height:100%; display:block; object-fit:cover; object-position:70% 50%; }
#oko-root .oko-v-hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0c0d16 1%,#0c0d16ed 23%,#0c0d1650 43%,transparent 67%),linear-gradient(0deg,#0c0d16 0%,transparent 28%,transparent 80%,#0c0d1660); pointer-events:none; }
#oko-root .oko-v-hero-copy { position:relative; max-width:565px; padding:56px 0 65px; z-index:1; }
#oko-root .oko-v-wordmark { font:500 clamp(125px,12.6vw,185px)/.86 var(--oko-serif); letter-spacing:.08em; margin:27px 0 24px; background:linear-gradient(110deg,#f3e4c6,#dfc697 50%,#a7864e); background-clip:text; -webkit-text-fill-color:transparent; }
#oko-root .oko-v-hero h2 { font-size:45px; line-height:1.08; margin:0 0 23px; letter-spacing:-.02em; }
#oko-root .oko-v-description { font-size:16px; line-height:1.9; color:#b9b2c0; max-width:450px; margin:0 0 29px; }
#oko-root .oko-v-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
#oko-root .oko-v-hero-actions .oko-primary { min-width:215px; }
#oko-root .oko-v-hero-meta { display:flex; flex-wrap:wrap; align-items:center; gap:21px; margin-top:31px; font-size:11px; color:#aea493; }
#oko-root .oko-v-hero-meta b { font-family:var(--oko-serif); font-size:22px; font-weight:500; color:#e7cea0; margin-right:3px; }
#oko-root .oko-v-hero-meta > span + span { border-left:1px solid #d3b98435; padding-left:21px; }
#oko-root .oko-v-hero-art figcaption { position:absolute; right:35px; bottom:65px; display:flex; flex-direction:column; gap:13px; align-items:flex-end; z-index:1; color:#c6bca7; font:italic 21px/1.4 var(--oko-serif); }
#oko-root .oko-v-hero-art figcaption > span:first-child { font:500 9px/1.8 var(--oko-sans); letter-spacing:.24em; color:#ad956e; }
#oko-root .oko-v-hero-rail { position:absolute; inset:auto 0 18px; display:flex; justify-content:space-between; gap:20px; font-size:9px; color:#a18a65; letter-spacing:.15em; }
#oko-root .oko-v-art-line { position:absolute; top:6%; right:4%; width:46%; aspect-ratio:1; border:1px solid #d3b98419; border-radius:50%; z-index:1; pointer-events:none; }
#oko-root .oko-v-art-line::after { content:''; position:absolute; left:11%; top:11%; width:78%; height:78%; border:1px dashed #d3b98420; border-radius:50%; animation:okoConceptOrbit 90s linear infinite; }
#oko-root .oko-concept-page .oko-dashboard { padding:32px 0; border-bottom-color:#d3b98435; }
#oko-root .oko-concept-page .oko-dashboard-title h2 { font-size:28px; }
#oko-root .oko-directions { padding:72px 0 0; scroll-margin-top:100px; }
#oko-root .oko-directions .oko-section-head h2 { max-width:780px; font-size:57px; }
#oko-root .oko-directions .oko-section-head > p { font-size:14px; }
#oko-root .oko-direction-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; }
#oko-root .oko-direction-card { grid-column:span 2; position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; padding:0; background:linear-gradient(130deg,#191820,#10121a); color:var(--oko-text); border:1px solid #d3b98435; border-radius:5px; text-align:left; transition:transform .35s,border-color .35s,box-shadow .35s; }
#oko-root .oko-direction-card:nth-child(-n+2) { grid-column:span 3; }
#oko-root .oko-direction-card:hover { transform:translateY(-5px); border-color:#d3b98480; box-shadow:0 20px 45px #0003; }
#oko-root .oko-direction-card[aria-pressed=true] { border-color:#e3c78b; }
#oko-root .oko-direction-image { position:relative; width:100%; height:245px; overflow:hidden; background:#101119; }
#oko-root .oko-direction-card:nth-child(-n+2) .oko-direction-image { height:315px; }
#oko-root .oko-direction-image > img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 47%; transition:transform .7s cubic-bezier(.2,.6,.3,1); }
#oko-root .oko-direction-card:hover .oko-direction-image > img { transform:scale(1.035); }
#oko-root .oko-direction-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#0c0d1620,transparent 30%,transparent 65%,#15141c); pointer-events:none; }
#oko-root .oko-direction-index { position:absolute; top:19px; left:22px; border:1px solid #d3b98445; background:#0b0d16b0; padding:8px 10px; color:#e0c58e; font:500 18px/1 var(--oko-serif); z-index:1; }
#oko-root .oko-direction-emblem { position:absolute; bottom:16px; right:22px; width:55px; height:55px; color:#d5bd88; z-index:1; opacity:.85; }
#oko-root .oko-direction-copy { display:flex; flex-direction:column; flex:1; padding:15px 28px 28px; }
#oko-root .oko-direction-copy > .oko-eyebrow { font-size:10px; letter-spacing:.15em; color:#c2a777; }
#oko-root .oko-direction-copy h3 { font-size:37px; line-height:1.12; letter-spacing:-.01em; margin:11px 0 13px; }
#oko-root .oko-direction-copy p { font-size:14px; line-height:1.8; color:#aaa5b4; margin:0 0 23px; max-width:420px; flex:1; }
#oko-root .oko-direction-open { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding-top:15px; border-top:1px solid #d3b98422; font-size:12px; color:#d4bd91; }
#oko-root .oko-direction-open > i { font-size:20px; font-style:normal; }
#oko-root .oko-concept-page .oko-entry-route { margin-block:45px 80px; background:linear-gradient(110deg,#d3b9840a,#12131d); }
#oko-root .oko-concept-page .oko-companion { background:linear-gradient(130deg,#27221c70,#11121b); }
#oko-root .oko-concept-page .oko-companion .oko-eyebrow,
#oko-root .oko-concept-page .oko-companion-symbol { color:#c2ab80; }
#oko-root .oko-concept-page .oko-exercise-card { background:linear-gradient(125deg,#1c1b2590,#10121b); }
#oko-root .oko-concept-page .oko-card-art { width:135px; height:145px; margin-top:15px; }
#oko-root .oko-concept-page .oko-card-copy h3 { font-size:34px; }
#oko-root .oko-v-method { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:75px; margin-top:75px; padding-block:30px 40px; border-block:1px solid var(--oko-line); }
#oko-root .oko-v-method > figure { margin:0; overflow:hidden; border:1px solid #d3b98425; border-radius:4px; }
#oko-root .oko-v-method img { width:100%; height:auto; display:block; }
#oko-root .oko-v-method h2 { font-size:48px; line-height:1.08; margin:15px 0 24px; }
#oko-root .oko-v-method p { font-size:15px; color:#aaa5b4; line-height:1.9; margin:0 0 25px; max-width:490px; }
#oko-root .oko-v-method .oko-text-link { border:0; border-bottom:1px solid #d3b98440; background:transparent; padding:10px 0; font-size:13px; }
/* I · A panoramic optical observatory. */
#oko-root [data-concept=observatory] .oko-v-hero-art > img { animation:okoConceptBreathe 18s ease-in-out infinite alternate; transform-origin:72% 50%; }
#oko-root [data-concept=observatory] .oko-v-hero h2 { font-size:44px; }
/* II · Editorial atelier: the artifact becomes an exhibition object. */
#oko-root [data-concept=atelier] .oko-v-hero { display:grid; grid-template-columns:1.04fr .96fr; gap:70px; padding-block:42px 60px; min-height:730px; }
#oko-root [data-concept=atelier] .oko-v-hero-copy { grid-column:1; grid-row:1; padding:12px 0 38px; max-width:610px; }
#oko-root [data-concept=atelier] .oko-v-wordmark { font-size:205px; margin:25px 0 29px; letter-spacing:.04em; }
#oko-root [data-concept=atelier] .oko-v-hero h2 { font-size:47px; }
#oko-root [data-concept=atelier] .oko-v-hero-art { position:relative; grid-column:2; grid-row:1; inset:auto; z-index:0; height:545px; border:1px solid #d3b98450; border-radius:220px 220px 5px 5px; align-self:center; }
#oko-root [data-concept=atelier] .oko-v-hero-art > img { object-position:50% 50%; }
#oko-root [data-concept=atelier] .oko-v-hero-art::after { background:linear-gradient(0deg,#0c0d16,transparent 45%),linear-gradient(180deg,#0c0d1620,transparent 30%); }
#oko-root [data-concept=atelier] .oko-v-art-line { display:none; }
#oko-root [data-concept=atelier] .oko-v-hero-art figcaption { right:0; left:0; bottom:30px; align-items:center; font-size:19px; padding-inline:20px; text-align:center; }
#oko-root [data-concept=atelier] .oko-direction-card { grid-column:span 3; }
#oko-root [data-concept=atelier] .oko-direction-card:first-child { grid-column:1/-1; display:grid; grid-template-columns:1.15fr 1fr; align-items:center; }
#oko-root [data-concept=atelier] .oko-direction-card:first-child .oko-direction-image { height:390px; }
#oko-root [data-concept=atelier] .oko-direction-card:first-child .oko-direction-copy { padding:35px 45px; }
#oko-root [data-concept=atelier] .oko-direction-card:first-child h3 { font-size:58px; }
#oko-root [data-concept=atelier] .oko-direction-image { height:310px; }
#oko-root [data-concept=atelier] .oko-direction-copy { padding:15px 30px 30px; }
#oko-root [data-concept=atelier] .oko-exercise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#oko-root [data-concept=atelier] .oko-exercise-card:not(.oko-companion) { display:grid; grid-template-columns:minmax(0,1fr) 160px; grid-template-rows:auto 1fr auto; min-height:260px; gap:20px; padding:27px 30px; }
#oko-root [data-concept=atelier] .oko-card-top { grid-column:1/-1; }
#oko-root [data-concept=atelier] .oko-card-art { grid-column:2; grid-row:2; margin:0; width:155px; height:155px; }
#oko-root [data-concept=atelier] .oko-card-copy { grid-column:1; grid-row:2; align-self:center; }
#oko-root [data-concept=atelier] .oko-card-copy h3 { font-size:32px; }
#oko-root [data-concept=atelier] .oko-card-bottom { grid-column:1/-1; }
#oko-root [data-concept=atelier] .oko-companion { min-height:290px; }
/* III · Monumental portal and five doors into the practice. */
#oko-root [data-concept=portal] .oko-v-hero { min-height:750px; margin-top:18px; padding-inline:45px; border:1px solid #d3b98440; border-radius:5px; overflow:hidden; }
#oko-root [data-concept=portal] .oko-v-hero-art { inset:0; }
#oko-root [data-concept=portal] .oko-v-hero-art > img { object-position:72% 50%; }
#oko-root [data-concept=portal] .oko-v-hero-art::after { background:linear-gradient(90deg,#0c0d16dc,#0c0d16ba 24%,#0c0d1620 58%,transparent),linear-gradient(0deg,#0c0d16a0,transparent 30%); }
#oko-root [data-concept=portal] .oko-v-hero-copy { max-width:580px; padding-block:70px; }
#oko-root [data-concept=portal] .oko-v-wordmark { font-size:173px; margin-block:34px 30px; }
#oko-root [data-concept=portal] .oko-v-hero h2 { font-size:46px; }
#oko-root [data-concept=portal] .oko-v-hero-art figcaption { bottom:75px; right:35px; max-width:270px; text-align:right; }
#oko-root [data-concept=portal] .oko-v-hero-rail { inset:auto 45px 25px; }
#oko-root [data-concept=portal] .oko-v-art-line { display:none; }
#oko-root [data-concept=portal] .oko-direction-card:nth-child(-n+3) { grid-column:span 2; }
#oko-root [data-concept=portal] .oko-direction-card:nth-child(n+4) { grid-column:span 3; }
#oko-root [data-concept=portal] .oko-direction-image { height:340px; margin:18px 18px 0; width:calc(100% - 36px); border:1px solid #d3b98440; border-radius:180px 180px 2px 2px; }
#oko-root [data-concept=portal] .oko-direction-image::after { background:linear-gradient(0deg,#16151d,transparent 30%); }
#oko-root [data-concept=portal] .oko-direction-card:nth-child(n+4) .oko-direction-image { height:340px; border-radius:250px 250px 2px 2px; }
#oko-root [data-concept=portal] .oko-direction-index { top:27px; left:calc(50% - 19px); border-radius:4px; }
#oko-root [data-concept=portal] .oko-direction-emblem { display:none; }
#oko-root [data-concept=portal] .oko-direction-copy { padding-top:22px; }
#oko-root [data-concept=portal] .oko-direction-copy h3 { font-size:35px; }
#oko-root [data-concept=portal] .oko-exercise-grid { gap:22px; }
#oko-root [data-concept=portal] .oko-exercise-card { background:radial-gradient(ellipse at 50% 0,#d3b98413,transparent 70%),linear-gradient(125deg,#191720,#11131c); }
#oko-root [data-concept=portal] .oko-card-art { width:145px; height:155px; }
@keyframes okoConceptOrbit { to { transform:rotate(360deg); } }
@keyframes okoConceptBreathe { from { transform:scale(1); } to { transform:scale(1.025); } }
@media(max-width:1150px) {
 #oko-root .oko-concept-switch-label { display:none; }
 #oko-root .oko-v-hero { min-height:675px; }
 #oko-root .oko-v-hero-art { inset-inline:-36px; }
 #oko-root .oko-v-hero-copy { max-width:490px; }
 #oko-root .oko-v-wordmark { font-size:155px; }
 #oko-root .oko-v-hero h2, #oko-root [data-concept=observatory] .oko-v-hero h2 { font-size:39px; }
 #oko-root .oko-v-description { font-size:15px; max-width:400px; }
 #oko-root .oko-v-hero-art figcaption { max-width:280px; font-size:18px; text-align:right; }
 #oko-root .oko-directions .oko-section-head h2 { font-size:49px; }
 #oko-root .oko-direction-copy { padding-inline:24px; }
 #oko-root .oko-direction-copy h3 { font-size:32px; }
 #oko-root .oko-direction-image { height:230px; }
 #oko-root .oko-direction-card:nth-child(-n+2) .oko-direction-image { height:275px; }
 #oko-root [data-concept=atelier] .oko-v-hero { gap:40px; }
 #oko-root [data-concept=atelier] .oko-v-wordmark { font-size:165px; }
 #oko-root [data-concept=atelier] .oko-v-hero h2 { font-size:39px; }
 #oko-root [data-concept=atelier] .oko-v-hero-art { height:480px; }
 #oko-root [data-concept=atelier] .oko-v-hero-meta { gap:14px; }
 #oko-root [data-concept=atelier] .oko-v-hero-meta > span + span { padding-left:14px; }
 #oko-root [data-concept=atelier] .oko-exercise-card:not(.oko-companion) { grid-template-columns:minmax(0,1fr) 110px; padding:25px; gap:18px; }
 #oko-root [data-concept=atelier] .oko-card-art { width:110px; height:125px; }
 #oko-root [data-concept=atelier] .oko-card-copy h3 { font-size:29px; }
 #oko-root [data-concept=portal] .oko-v-hero { padding-inline:30px; min-height:700px; }
 #oko-root [data-concept=portal] .oko-v-wordmark { font-size:160px; }
 #oko-root [data-concept=portal] .oko-v-hero h2 { font-size:40px; }
 #oko-root [data-concept=portal] .oko-v-hero-rail { inset-inline:30px; }
 #oko-root [data-concept=portal] .oko-direction-image { height:265px; }
 #oko-root [data-concept=portal] .oko-direction-copy h3 { font-size:31px; }
 #oko-root .oko-v-method { gap:45px; }
 #oko-root .oko-v-method h2 { font-size:41px; }
 #oko-root .oko-concept-page .oko-exercise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #oko-root .oko-concept-page .oko-card-copy h3 { font-size:32px; }
 #oko-root [data-concept=atelier] .oko-card-copy h3 { font-size:29px; }
}
@media(max-width:900px) {
 #oko-root .oko-concept-options button { padding-inline:14px; }
 #oko-root .oko-v-hero-art > img { object-position:65% 50%; }
 #oko-root .oko-v-hero-art::after { background:linear-gradient(90deg,#0c0d16fa,#0c0d16cc 42%,#0c0d1640),linear-gradient(0deg,#0c0d16,transparent 30%); }
 #oko-root .oko-v-hero-art figcaption { display:none; }
 #oko-root .oko-v-hero-copy { max-width:580px; }
 #oko-root .oko-direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 #oko-root .oko-direction-card, #oko-root .oko-direction-card:nth-child(-n+2), #oko-root [data-concept=atelier] .oko-direction-card, #oko-root [data-concept=portal] .oko-direction-card:nth-child(-n+3), #oko-root [data-concept=portal] .oko-direction-card:nth-child(n+4) { grid-column:span 1; }
 #oko-root .oko-direction-card:last-child { grid-column:1/-1; }
 #oko-root .oko-direction-card:last-child .oko-direction-image { height:300px; }
 #oko-root .oko-direction-card:nth-child(-n+2) .oko-direction-image { height:250px; }
 #oko-root .oko-direction-card:last-child .oko-direction-copy h3 { font-size:38px; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child { grid-column:1/-1; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child .oko-direction-copy { padding:28px; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child h3 { font-size:42px; }
 #oko-root [data-concept=atelier] .oko-direction-image { height:250px; }
 #oko-root [data-concept=atelier] .oko-v-hero { gap:25px; grid-template-columns:1.1fr .9fr; min-height:660px; }
 #oko-root [data-concept=atelier] .oko-v-wordmark { font-size:145px; }
 #oko-root [data-concept=atelier] .oko-v-hero h2 { font-size:35px; }
 #oko-root [data-concept=atelier] .oko-v-description { font-size:14px; }
 #oko-root [data-concept=atelier] .oko-v-hero-art { height:460px; }
 #oko-root [data-concept=atelier] .oko-v-hero-actions { gap:12px; }
 #oko-root [data-concept=atelier] .oko-v-hero-meta > span:last-child { border:0; padding:0; }
 #oko-root [data-concept=atelier] .oko-exercise-grid { grid-template-columns:1fr; }
 #oko-root [data-concept=atelier] .oko-exercise-card:not(.oko-companion) { grid-template-columns:minmax(0,1fr) 145px; min-height:240px; }
 #oko-root [data-concept=atelier] .oko-card-art { width:145px; height:145px; }
 #oko-root [data-concept=portal] .oko-direction-card:last-child .oko-direction-image { width:calc(100% - 50px); margin-inline:25px; }
 #oko-root .oko-v-method { gap:30px; }
 #oko-root .oko-v-method h2 { font-size:37px; }
}
@media(max-width:640px) {
 #oko-root .oko-concept-switch { flex-wrap:wrap; justify-content:center; gap:10px; padding:15px 0; }
 #oko-root .oko-concept-options { width:100%; justify-content:space-between; gap:4px; }
 #oko-root .oko-concept-options button { padding:10px 9px; font-size:12px; flex:1; white-space:nowrap; }
 #oko-root .oko-concept-options button > span { margin-right:6px; font-size:14px; }
 #oko-root .oko-concept-switch > a { font-size:11px; padding:4px 0; }
 #oko-root .oko-v-hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; }
 #oko-root .oko-v-hero-copy { order:0; max-width:none; padding:35px 0 25px; }
 #oko-root .oko-v-wordmark { font-size:clamp(103px,24vw,155px); letter-spacing:.055em; margin-block:26px 21px; }
 #oko-root .oko-v-hero h2, #oko-root [data-concept=observatory] .oko-v-hero h2 { font-size:35px; line-height:1.12; }
 #oko-root .oko-v-hero .oko-eyebrow { font-size:10px; letter-spacing:.1em; }
 #oko-root .oko-v-description { max-width:none; font-size:15px; }
 #oko-root .oko-v-hero-actions { gap:16px 20px; }
 #oko-root .oko-v-hero-actions .oko-primary { min-width:210px; }
 #oko-root .oko-v-hero-meta { gap:14px; margin-top:25px; font-size:11px; }
 #oko-root .oko-v-hero-meta > span + span { padding-left:14px; }
 #oko-root .oko-v-hero-art { position:relative; z-index:0; inset:auto; order:1; margin:0 -23px 44px; height:310px; }
 #oko-root .oko-v-hero-art > img { object-position:72% 50%; }
 #oko-root .oko-v-hero-art::after { background:linear-gradient(0deg,#0c0d16,transparent 25%,transparent 83%,#0c0d16),linear-gradient(90deg,#0c0d1630,transparent); }
 #oko-root .oko-v-art-line { display:none; }
 #oko-root .oko-v-hero-rail { font-size:8px; inset:auto 0 17px; letter-spacing:.08em; }
 #oko-root .oko-concept-page .oko-dashboard-title h2 { font-size:28px; }
 #oko-root .oko-directions { padding-top:45px; }
 #oko-root .oko-directions .oko-section-head h2 { font-size:40px; line-height:1.1; }
 #oko-root .oko-directions .oko-section-head > p { font-size:14px; }
 #oko-root .oko-direction-grid { grid-template-columns:1fr; gap:22px; }
 #oko-root .oko-direction-card, #oko-root .oko-direction-card:nth-child(-n+2), #oko-root .oko-direction-card:last-child, #oko-root [data-concept=atelier] .oko-direction-card:first-child { grid-column:1; }
 #oko-root .oko-direction-image, #oko-root .oko-direction-card:nth-child(-n+2) .oko-direction-image, #oko-root .oko-direction-card:last-child .oko-direction-image { height:auto; aspect-ratio:1.5; }
 #oko-root .oko-direction-copy { padding:13px 24px 25px; }
 #oko-root .oko-direction-copy h3, #oko-root .oko-direction-card:last-child .oko-direction-copy h3 { font-size:34px; }
 #oko-root .oko-direction-copy p { font-size:14px; }
 #oko-root .oko-direction-emblem { width:45px; height:45px; bottom:13px; }
 #oko-root .oko-direction-index { top:16px; left:19px; }
 #oko-root .oko-concept-page .oko-entry-route { margin-block:30px 50px; padding:24px; }
 #oko-root .oko-concept-page .oko-section-head h2 { font-size:39px; }
 #oko-root .oko-concept-page .oko-exercise-grid { grid-template-columns:1fr; }
 #oko-root .oko-concept-page .oko-card-copy h3 { font-size:33px; }
 #oko-root [data-concept=atelier] .oko-v-hero { display:flex; gap:0; padding:0; }
 #oko-root [data-concept=atelier] .oko-v-hero-copy { padding:35px 0 30px; }
 #oko-root [data-concept=atelier] .oko-v-wordmark { font-size:clamp(113px,27vw,155px); margin-block:26px 25px; }
 #oko-root [data-concept=atelier] .oko-v-hero h2 { font-size:34px; }
 #oko-root [data-concept=atelier] .oko-v-description { font-size:15px; }
 #oko-root [data-concept=atelier] .oko-v-hero-art { width:100%; height:365px; margin:0 0 55px; border-radius:160px 160px 4px 4px; align-self:stretch; }
 #oko-root [data-concept=atelier] .oko-v-hero-art figcaption { display:flex; font-size:18px; bottom:25px; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child { display:flex; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child .oko-direction-image { height:auto; aspect-ratio:1.5; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child .oko-direction-copy { padding:13px 24px 25px; }
 #oko-root [data-concept=atelier] .oko-direction-card:first-child h3 { font-size:34px; }
 #oko-root [data-concept=atelier] .oko-direction-image { height:auto; aspect-ratio:1.5; }
 #oko-root [data-concept=atelier] .oko-exercise-card:not(.oko-companion) { display:flex; min-height:315px; padding:24px; gap:0; }
 #oko-root [data-concept=atelier] .oko-card-art { width:110px; height:115px; margin:10px 0 20px; }
 #oko-root [data-concept=atelier] .oko-card-copy h3 { font-size:33px; }
 #oko-root [data-concept=atelier] .oko-card-copy p { font-size:14px; margin-bottom:22px; }
 #oko-root [data-concept=atelier] .oko-card-top { font-size:8px; gap:10px; }
 #oko-root [data-concept=portal] .oko-v-hero { min-height:0; padding:30px 24px 310px; margin-top:16px; display:block; }
 #oko-root [data-concept=portal] .oko-v-hero-copy { padding:0; max-width:none; }
 #oko-root [data-concept=portal] .oko-v-wordmark { font-size:clamp(94px,23vw,145px); margin-block:27px 25px; }
 #oko-root [data-concept=portal] .oko-v-hero h2 { font-size:33px; }
 #oko-root [data-concept=portal] .oko-v-description { font-size:14px; }
 #oko-root [data-concept=portal] .oko-v-hero-art { position:absolute; inset:0; height:auto; width:auto; margin:0; z-index:-1; }
 #oko-root [data-concept=portal] .oko-v-hero-art > img { object-fit:cover; object-position:75% 50%; }
 #oko-root [data-concept=portal] .oko-v-hero-art::after { background:linear-gradient(180deg,#0c0d16fa 0%,#0c0d16e0 45%,#0c0d1620 76%,#0c0d1690),linear-gradient(90deg,#0c0d1670,transparent); }
 #oko-root [data-concept=portal] .oko-v-hero-rail { inset:auto 24px 20px; font-size:7px; }
 #oko-root [data-concept=portal] .oko-v-hero-actions .oko-primary { min-width:190px; }
 #oko-root [data-concept=portal] .oko-v-hero-meta { gap:10px; font-size:10px; }
 #oko-root [data-concept=portal] .oko-v-hero-meta > span + span { padding-left:10px; }
 #oko-root [data-concept=portal] .oko-direction-image, #oko-root [data-concept=portal] .oko-direction-card:nth-child(n+4) .oko-direction-image, #oko-root [data-concept=portal] .oko-direction-card:last-child .oko-direction-image { width:calc(100% - 36px); margin:18px 18px 0; height:auto; aspect-ratio:1.15; border-radius:180px 180px 2px 2px; }
 #oko-root [data-concept=portal] .oko-direction-image > img { object-position:50% 43%; }
 #oko-root [data-concept=portal] .oko-direction-index { top:20px; left:calc(50% - 19px); }
 #oko-root [data-concept=portal] .oko-direction-copy { padding:23px 24px 25px; }
 #oko-root [data-concept=portal] .oko-direction-copy h3 { font-size:33px; }
 #oko-root .oko-v-method { grid-template-columns:1fr; gap:27px; margin-top:50px; padding:25px 0 40px; }
 #oko-root .oko-v-method h2 { font-size:37px; }
 #oko-root .oko-v-method p { font-size:14px; }
}
@media(max-width:360px) {
 #oko-root .oko-concept-options button { padding-inline:5px; font-size:11px; }
 #oko-root .oko-concept-options button > span { margin-right:5px; }
 #oko-root .oko-v-hero-meta { gap:10px; }
 #oko-root .oko-v-hero-meta > span + span { padding-left:10px; }
 #oko-root .oko-concept-page .oko-exercise-card, #oko-root [data-concept=atelier] .oko-exercise-card:not(.oko-companion) { padding:20px; }
 #oko-root .oko-concept-page .oko-card-copy h3, #oko-root [data-concept=atelier] .oko-card-copy h3 { font-size:26px; }
 #oko-root .oko-concept-page .oko-direction-copy { padding-inline:20px; }
 #oko-root .oko-concept-page .oko-direction-card .oko-direction-copy h3,
 #oko-root .oko-concept-page .oko-direction-card:first-child .oko-direction-copy h3 { font-size:31px; }
 #oko-root [data-concept=portal] .oko-v-hero { padding-inline:19px; }
}
@media(prefers-reduced-motion:reduce) {
 #oko-root .oko-v-hero-art > img, #oko-root .oko-v-art-line::after { animation:none !important; }
 #oko-root .oko-direction-card, #oko-root .oko-direction-image > img, #oko-root .oko-concept-options button { transition:none; }
 #oko-root .oko-direction-card:hover, #oko-root .oko-direction-card:hover .oko-direction-image > img { transform:none; }
}
