@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:wght@400;500&family=EB+Garamond:ital,wght@1,400&family=Montserrat:wght@300;400;500;600&display=swap');
@import url('mobile-animations.css');
:root{--ink:#282923;--cream:#f8f6f0;--pink:#f1dcdf;--blue:#dce9e7;--lime:#e8edcc;--line:#292a2529}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:300 16px/1.5 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:106px;padding:14px 4vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand,.footbrand{display:flex;flex-direction:column;align-items:center;width:210px}.brand img,.footbrand img{width:185px;mix-blend-mode:multiply}.brand em,.footbrand em{font:italic 12px Georgia;margin-top:3px}header nav{display:flex;align-items:center;gap:28px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}header nav a{padding:8px 0;border-bottom:1px solid transparent}header nav a:hover,header nav .current{border-color:var(--ink)}header nav button,.navbook,.dark,.cta button{border:1px solid var(--ink);border-radius:30px;padding:12px 20px;background:transparent}.navbook,.dark,.cta button{background:var(--ink);color:white;display:inline-block}.menu{display:none;border:0;background:none}.hero{min-height:calc(100vh - 106px);display:grid;grid-template-columns:57% 43%;background:var(--pink)}.hero-img{background:url('assets/studio.jpg') center/cover;min-height:650px}.hero-text{padding:7vw 6vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}small{font-size:10px;letter-spacing:.15em}.hero h1,.subhero h1{font-size:clamp(64px,8vw,128px);font-weight:300;line-height:.83;letter-spacing:-.055em;margin:34px 0}.hero h1 i,.subhero h1 i{font-family:'Newsreader',Georgia,serif}.hero-text p,.subhero p{font-size:18px;line-height:1.65;max-width:500px}.hero-text>a{margin-top:28px;padding:9px 0;border-bottom:1px solid;font-size:12px;letter-spacing:.1em}.intro{max-width:900px;margin:auto;text-align:center;padding:145px 30px 90px}.intro h2,.paths h2,.story h2,.cta h2,.sectionhead h2,.soft h2,.schoolnote h2{font-size:clamp(42px,5.7vw,80px);line-height:.98;letter-spacing:-.045em;font-weight:300;margin:22px 0}.intro p{max-width:710px;margin:35px auto;font-size:18px;line-height:1.75}.paths{display:grid;grid-template-columns:1fr 1fr;margin:0 4vw 130px}.paths>a{min-height:500px;padding:58px;display:flex;flex-direction:column;transition:.25s}.paths>a:hover{transform:translateY(-8px)}.public{background:var(--lime)}.school{background:var(--blue)}.paths h2{margin-top:65px}.paths p{max-width:390px}.paths b{margin-top:auto;font-size:38px;font-weight:300}.story{padding:130px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story>div>p{font-size:19px;line-height:1.7}.story ol{list-style:none;padding:25px 0}.story li{border-top:1px solid var(--line);padding:18px 0}.gallery{height:78vh;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 4vw}.gallery img{width:100%;height:100%;object-fit:cover}.cta{text-align:center;background:var(--pink);padding:140px 20px}.cta button{margin-top:25px}footer{background:var(--ink);color:var(--cream);padding:65px 4vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}footer small{opacity:.55}.footbrand{align-items:center!important}.footbrand img{filter:invert(1);mix-blend-mode:screen}.subhero{min-height:72vh;padding:8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.subhero.public{background:var(--pink)}.subhero.school{background:var(--blue)}.subhero .dark{margin-top:25px}.listing{padding:120px 4vw}.sectionhead{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-bottom:65px}.sectionhead>p{font-size:18px;line-height:1.7;max-width:500px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cards article{background:white}.cards img{width:100%;height:350px;object-fit:cover}.cards article>div{padding:28px}.cards h3,.programs h3{font-size:30px;font-weight:300;margin:18px 0}.cards article>div>p{min-height:75px}.cards footer{background:none;color:var(--ink);display:flex;justify-content:space-between;padding:22px 0 0;border-top:1px solid var(--line);font-size:13px}.soft{padding:110px 12vw;background:var(--lime)}.soft p{font-size:18px;line-height:1.7;max-width:760px}.programs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.programs article{padding:42px 32px;border-right:1px solid var(--line)}.programs p{min-height:135px;line-height:1.7}.programs a{font-size:13px;border-bottom:1px solid}.schoolnote{padding:115px 8vw;background:var(--pink);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.schoolnote ol{list-style:none;padding:0}.schoolnote li{border-top:1px solid var(--line);padding:24px 0;font-size:18px}.schoolnote li b{display:inline-grid;place-items:center;border:1px solid;border-radius:50%;width:31px;height:31px;margin-right:14px;font-size:12px}.modal{display:none;position:fixed;inset:0;background:#16171299;z-index:50;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.dialog{background:var(--cream);width:min(750px,100%);max-height:92vh;overflow:auto;padding:45px;position:relative}.x{position:absolute;right:20px;top:12px;border:0;background:none;font-size:34px}.dots{display:flex;align-items:center;margin:28px 0}.dots b{width:30px;height:30px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:11px}.dots b.on{background:var(--ink);color:white}.dots i{height:1px;background:var(--line);flex:1}.step{display:none}.step.active{display:block}.step h2,.success h2{font-size:38px;font-weight:300}.step>label{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:17px 4px}.step>label span{display:flex;flex:1;flex-direction:column}.step>label small{letter-spacing:0;opacity:.6}.dates{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.dates label input{position:absolute;opacity:0}.dates label span{padding:25px 5px;text-align:center;border:1px solid var(--line);display:flex;flex-direction:column;font-size:19px}.dates input:checked+span{background:var(--ink);color:white}.note{font-size:12px;opacity:.6}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{font-size:10px;letter-spacing:.12em}.fields input,.fields select{display:block;width:100%;border:0;border-bottom:1px solid;background:none;padding:10px 0;font-size:16px}.summary{padding:18px;background:var(--blue);margin-top:25px}.controls{display:flex;justify-content:space-between;margin-top:30px}.controls button,.done{border:0;padding:12px 18px;background:none}.controls .next,.controls .send,.done{background:var(--ink);color:white;border-radius:30px}.back,.send{display:none}.success{display:none;text-align:center;padding:40px}.success .done{margin-top:15px}
@media(max-width:800px){header{height:85px}.brand{width:155px}.brand img{width:145px}.menu{display:block}header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--cream);padding:28px;flex-direction:column}header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-img{min-height:52vh}.hero-text{padding:65px 7vw}.paths,.story,.sectionhead,.schoolnote{grid-template-columns:1fr}.paths{margin:0 20px 75px}.paths>a{padding:38px;min-height:410px}.gallery{height:auto;grid-template-columns:1fr;padding:0 20px}.gallery img{height:65vh}.cards,.programs{grid-template-columns:1fr}.cards{gap:25px}.programs article{border-right:0;border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr 1fr}.footbrand{grid-column:1/-1}.subhero{padding:80px 7vw}.fields{grid-template-columns:1fr}.dates{grid-template-columns:1fr}.dialog{padding:35px 20px}}

/* New workshop-first homepage */
.topka-hero{min-height:78vh;background:#eadfe9;padding:9vw 8vw 7vw;position:relative;overflow:hidden}.topka-hero>*:not(.glass-shape){position:relative;z-index:2}.topka-hero h1{font-size:clamp(68px,10vw,150px);font-weight:300;line-height:.78;letter-spacing:-.065em;margin:38px 0;max-width:950px}.topka-hero h1 i{font-family:'Newsreader',Georgia,serif}.topka-hero>p{font-size:18px;line-height:1.65;max-width:590px}.topka-hero>div:last-child{display:flex;gap:25px;align-items:center;margin-top:35px}.under{font-size:12px;letter-spacing:.09em;border-bottom:1px solid;padding:10px 0;text-transform:uppercase}.glass-shape{position:absolute;border-radius:48% 52% 60% 40%;filter:blur(1px);opacity:.72}.shape-a{width:36vw;height:36vw;right:-5vw;top:4vw;background:radial-gradient(circle at 35% 30%,#fff9 0 8%,#b5d7d8cc 28%,#718ea088 65%,transparent 67%);transform:rotate(22deg)}.shape-b{width:17vw;height:17vw;right:24vw;bottom:-5vw;background:radial-gradient(circle at 35% 30%,#fff8,#e9bd8ecc 45%,#d57f7188 70%,transparent 72%)}.nearest{padding:120px 4vw;background:var(--cream)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:-20px 0 45px}.filters button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:10px 19px}.filters button.active{background:var(--ink);color:white}.datecards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.datecards article{background:#fff;transition:.2s}.datecards article.hidden{display:none}.datecards article>div:last-child{padding:23px}.datecards h3{font-size:26px;font-weight:300;margin:14px 0}.datecards p{font-size:14px}.datecards footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0 0;background:none;color:var(--ink)}.datecards footer button{border:0;background:none;font-size:12px}.card-art{height:280px;display:grid;place-items:center;overflow:hidden;position:relative}.card-art:before,.card-art:after{content:"";position:absolute}.card-art span{font-size:11px;letter-spacing:.18em;z-index:2}.tiffany-art{background:#c8dcdd}.tiffany-art:before{width:150px;height:190px;background:conic-gradient(from 20deg,#e5a0a7,#f5e9c0,#73a7ab,#d7b4cf,#e5a0a7);clip-path:polygon(50% 0,100% 42%,78% 100%,20% 92%,0 37%);border:7px solid #3f4846}.tiffany-art:after{width:7px;height:220px;background:#3f4846;transform:rotate(43deg)}.fusing-art{background:#f0d9d1}.fusing-art:before{width:175px;height:175px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff8 0 8%,#e78b6c 9% 27%,#f2c656 28% 44%,#79afb2 45% 61%,#b77f9a 62%)}.kahany-art{background:#d9e3ca}.kahany-art:before{width:180px;height:70px;border-radius:50%;background:repeating-radial-gradient(circle at 20%,#fff 0 9px,#5d9eaa 10px 20px,#d98275 21px 31px);transform:rotate(-18deg);box-shadow:80px -70px 0 -12px #e8a24c}.mosaic-art{background:#ddd8eb}.mosaic-art:before{width:190px;height:190px;background:conic-gradient(#74a8ae 0 10%,#e4ab9c 0 20%,#e4ce78 0 33%,#96af78 0 48%,#b795c3 0 63%,#dc7e72 0 78%,#86b8be 0);clip-path:polygon(50% 0,61% 34%,100% 50%,65% 61%,50% 100%,38% 64%,0 50%,36% 38%)}.all-link{display:block;width:max-content;margin:45px auto 0;border-bottom:1px solid;padding:9px 0;text-transform:uppercase;font-size:12px;letter-spacing:.1em}.choose{background:#e7eccf;padding:125px 4vw}.choose>h2{font-size:clamp(48px,7vw,96px);font-weight:300;line-height:.9;letter-spacing:-.05em;margin:25px 0 70px}.techgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.techgrid a{padding:35px 25px;border-right:1px solid var(--line);min-height:340px;display:flex;flex-direction:column}.techgrid h3{font-size:38px;font-weight:300;margin:45px 0 15px}.techgrid p{line-height:1.65}.techgrid span{margin-top:auto;font-size:12px;text-transform:uppercase}.firsttime{padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#f7f5ef}.firsttime h2{font-size:clamp(50px,7vw,92px);font-weight:300;letter-spacing:-.05em;margin:22px 0}.firsttime p{font-size:18px;line-height:1.7}.firsttime ul{list-style:none;padding:25px 0}.firsttime li{border-top:1px solid var(--line);padding:22px 0;font-size:18px}.split-entry{display:grid;grid-template-columns:1fr 1fr}.split-entry a{min-height:430px;padding:55px;display:flex;flex-direction:column}.split-entry a:first-child{background:#f1dcdf}.split-entry a:last-child{background:#dce9e7}.split-entry h2{font-size:clamp(44px,5vw,76px);font-weight:300;line-height:.92;letter-spacing:-.045em;margin:55px 0}.split-entry b{margin-top:auto;font-size:35px;font-weight:300}
@media(max-width:1000px){.datecards,.techgrid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.topka-hero{padding:90px 7vw 70px}.topka-hero h1{font-size:66px}.topka-hero>div:last-child{align-items:flex-start;flex-direction:column}.glass-shape{opacity:.35}.shape-a{width:80vw;height:80vw;right:-35vw}.datecards,.techgrid,.firsttime,.split-entry{grid-template-columns:1fr}.card-art{height:230px}.techgrid a{min-height:280px;border-bottom:1px solid var(--line)}.split-entry a{min-height:360px;padding:38px}.nearest,.choose{padding:85px 20px}}

/* Restrained Driketa palette and unified typography */
:root{--ink:#29302e;--cream:#f5f2eb;--pink:#e5ece9;--blue:#d7e2df;--lime:#edf1ef;--line:#38544d24}
body,button,input,select,textarea{font-family:'Montserrat',sans-serif}
i,em{font-family:'Montserrat',sans-serif!important;font-style:normal!important}
.brand em,.footbrand em{font:400 10px/1.3 'Montserrat',sans-serif;letter-spacing:.015em}
.hero h1 i,.subhero h1 i,.topka-hero h1 i{font-family:'Montserrat',sans-serif;font-style:normal;font-weight:300}
.topka-hero{background:#f5f2eb}
.shape-a{background:radial-gradient(circle at 35% 30%,#fff 0 8%,#b9cfca 29%,#779c93 62%,transparent 64%);opacity:.58}
.shape-b{background:radial-gradient(circle at 35% 30%,#fff 0 8%,#dce7e4 32%,#8eaaa3 66%,transparent 68%);opacity:.55}
.nearest{background:#fff}.choose{background:#e8eeec}.firsttime{background:#f5f2eb}
.split-entry a:first-child{background:#eef2f0}.split-entry a:last-child{background:#d9e4e1}
.tiffany-art,.fusing-art,.kahany-art,.mosaic-art{background:#e4ebe9}
.tiffany-art:before{background:conic-gradient(from 20deg,#6e9890,#dce8e5,#9bb8b1,#527b73,#6e9890);border-color:#38534d}
.tiffany-art:after{background:#38534d}
.fusing-art:before{background:radial-gradient(circle at 30% 28%,#fff 0 8%,#cbdeda 9% 27%,#95b6ae 28% 44%,#688f87 45% 61%,#395f58 62%)}
.kahany-art:before{background:repeating-radial-gradient(circle at 20%,#edf3f1 0 9px,#7fa49c 10px 20px,#416a62 21px 31px);box-shadow:80px -70px 0 -12px #a9c2bc}
.mosaic-art:before{background:conic-gradient(#395f58 0 12%,#70968e 0 25%,#b3cac5 0 38%,#537b73 0 52%,#dbe6e3 0 67%,#88aaa3 0 82%,#2f5951 0)}
.subhero.public,.soft{background:#e8eeec}.subhero.school,.schoolnote{background:#d9e4e1}
.dialog{background:#f8f6f1}.summary{background:#dce7e4}
.topka-hero h1,.subhero h1,.choose>h2,.intro h2,.paths h2,.story h2,.cta h2,.sectionhead h2,.soft h2,.schoolnote h2,.firsttime h2,.split-entry h2{letter-spacing:-.045em}

/* Final neutral palette */
:root{--ink:#242424;--cream:#fff;--pink:#f2f2f2;--blue:#e7e7e7;--lime:#f7f7f7;--line:#0000001f}
body,header,.nearest{background:#fff}
.topka-hero{background:#f3f3f3;padding-top:8vw}
.topka-hero h1{font-size:clamp(48px,7vw,102px);line-height:.9;letter-spacing:-.04em;max-width:1100px;margin-top:0}
.shape-a{background:radial-gradient(circle at 35% 30%,#fff 0 8%,#d9d9d9 29%,#969696 62%,transparent 64%);opacity:.42}
.shape-b{background:radial-gradient(circle at 35% 30%,#fff 0 8%,#e9e9e9 32%,#b8b8b8 66%,transparent 68%);opacity:.4}
.choose,.subhero.public,.soft{background:#f4f4f4}.firsttime,.dialog{background:#fff}.split-entry a:first-child{background:#f5f5f5}.split-entry a:last-child,.subhero.school,.schoolnote{background:#e9e9e9}
.tiffany-art,.fusing-art,.kahany-art,.mosaic-art{background:#ededed}
.tiffany-art:before{background:conic-gradient(from 20deg,#777,#e6e6e6,#aaa,#555,#777);border-color:#444}.tiffany-art:after{background:#444}
.fusing-art:before{background:radial-gradient(circle at 30% 28%,#fff 0 8%,#ddd 9% 27%,#bbb 28% 44%,#888 45% 61%,#555 62%)}
.kahany-art:before{background:repeating-radial-gradient(circle at 20%,#eee 0 9px,#aaa 10px 20px,#666 21px 31px);box-shadow:80px -70px 0 -12px #ccc}
.mosaic-art:before{background:conic-gradient(#555 0 12%,#888 0 25%,#ccc 0 38%,#777 0 52%,#e5e5e5 0 67%,#aaa 0 82%,#444 0)}
.summary{background:#ededed}
.private-events{display:grid;grid-template-columns:58% 42%;background:#fff;min-height:720px}.private-copy{padding:115px 8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.private-copy h2{font-size:clamp(42px,5.3vw,76px);font-weight:300;line-height:.96;letter-spacing:-.045em;margin:28px 0;max-width:900px}.private-copy>p{font-size:18px;line-height:1.7;max-width:720px}.private-copy ul{list-style:none;padding:18px 0 28px;margin:0;width:100%;max-width:650px}.private-copy li{padding:16px 0;border-top:1px solid var(--line);font-size:14px;font-weight:500}.private-visual{background:#e9e9e9;position:relative;overflow:hidden}.private-glass{position:absolute;border:1px solid #aaa;background:linear-gradient(145deg,#fff9,#aaa6);box-shadow:inset 10px 12px 30px #fff8,0 20px 50px #0002}.private-glass.one{width:270px;height:330px;left:15%;top:15%;clip-path:polygon(50% 0,100% 35%,83% 100%,15% 91%,0 32%);transform:rotate(-12deg)}.private-glass.two{width:190px;height:190px;border-radius:50%;right:10%;bottom:12%;background:radial-gradient(circle at 35% 28%,#fff 0 8%,#ddd 30%,#888 75%)}.private-glass.three{width:120px;height:250px;right:15%;top:8%;border-radius:50% 45% 55% 40%;transform:rotate(25deg);background:linear-gradient(120deg,#f8f8f8,#aaa)}
@media(max-width:650px){.topka-hero h1{font-size:44px;line-height:.96}}
@media(max-width:850px){.private-events{grid-template-columns:1fr}.private-copy{padding:85px 7vw}.private-visual{min-height:480px}}

/* Balanced type scale */
body{font-size:16px;line-height:1.6}
small{font-size:11px;line-height:1.4;letter-spacing:.14em}
.topka-hero h1{font-size:clamp(44px,6vw,84px);line-height:.98;letter-spacing:.035em;max-width:1050px}
.topka-hero>p{font-size:17px;line-height:1.7;max-width:650px}
.sectionhead h2,.choose>h2,.firsttime h2,.split-entry h2,.soft h2,.schoolnote h2{font-size:clamp(38px,4.7vw,64px);line-height:1.04}
.private-copy h2{font-size:clamp(36px,4.2vw,58px);line-height:1.08;letter-spacing:.035em}
.subhero h1{font-size:clamp(46px,6.2vw,82px);line-height:.96}
.datecards h3,.programs h3{font-size:clamp(22px,2vw,28px);line-height:1.2}
.techgrid h3{font-size:clamp(28px,3vw,36px);line-height:1.15}
.private-copy>p,.sectionhead>p,.firsttime p,.soft p,.subhero p{font-size:17px;line-height:1.72}
.private-copy li,.firsttime li{font-size:16px}
.topka-hero h1,.private-copy h2{text-wrap:balance}
@media(max-width:650px){.topka-hero h1{font-size:40px;letter-spacing:.025em}.private-copy h2{font-size:34px;letter-spacing:.025em}.sectionhead h2,.choose>h2,.firsttime h2,.split-entry h2,.soft h2,.schoolnote h2{font-size:38px}}

.split-entry.compact{max-width:1180px;margin:38px auto 80px;gap:14px;padding:0 24px;background:#fff}
.split-entry.compact a{min-height:160px;padding:28px 34px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:end}
.split-entry.compact small{grid-column:1/-1;align-self:start}
.split-entry.compact h2{font-size:clamp(23px,2.7vw,36px);line-height:1.1;letter-spacing:-.025em;margin:25px 0 0}
.split-entry.compact b{grid-column:2;grid-row:2;margin:0 0 2px 25px;font-size:26px}
@media(max-width:650px){.split-entry.compact{margin:20px auto 60px;gap:8px}.split-entry.compact a{min-height:135px;padding:23px}.split-entry.compact h2{font-size:24px}}

/* Consistent page grid */
header,footer{padding-left:6vw;padding-right:6vw}
.topka-hero,.nearest,.choose,.firsttime,.listing,.soft,.schoolnote{padding-left:6vw;padding-right:6vw}
.private-copy{padding-left:6vw;padding-right:6vw}
.split-entry.compact{max-width:none;margin:26px 0 70px;padding:0 6vw;gap:12px}
.split-entry.compact a{min-height:118px;padding:20px 28px;grid-template-rows:auto 1fr}
.split-entry.compact h2{font-size:clamp(21px,2.25vw,31px);margin-top:16px}
.split-entry.compact b{font-size:23px}
.sectionhead{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:6vw}
.datecards,.techgrid,.programs{width:100%}
.firsttime,.schoolnote{gap:6vw}
@media(max-width:800px){header,footer,.topka-hero,.nearest,.choose,.firsttime,.listing,.soft,.schoolnote,.private-copy{padding-left:24px;padding-right:24px}.split-entry.compact{padding:0 24px}.sectionhead{grid-template-columns:1fr;gap:20px}}
@media(max-width:650px){.split-entry.compact{margin:16px 0 52px;gap:7px}.split-entry.compact a{min-height:105px;padding:18px 20px}.split-entry.compact h2{font-size:21px;margin-top:12px}.split-entry.compact b{font-size:20px}}

/* Full-bleed opening inspired by editorial photography layouts */
.home-body header{position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 58%,transparent 100%);height:120px}
.media-hero{height:min(900px,100vh);min-height:720px;background:#191919;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.media-hero::before{content:"";position:absolute;inset:-2%;background:url('assets/hero-tools.jpeg') center 54%/cover no-repeat;opacity:0;transform:scale(1.045);animation:heroReveal 3.2s cubic-bezier(.22,.61,.36,1) .15s forwards;will-change:opacity,transform}
.media-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(15,15,15,.05) 15%,rgba(15,15,15,.12) 48%,rgba(15,15,15,.7) 100%)}
.media-copy{position:relative;z-index:2;width:100%;padding:0 6vw 7vw}.media-copy h1{font-size:clamp(42px,5.6vw,78px);line-height:1.01;letter-spacing:.035em;font-weight:300;max-width:950px;margin:0 0 24px}.media-copy>p{font-size:16px;line-height:1.72;max-width:650px;margin:0}.media-copy>div{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-button{display:inline-block;border:1px solid #fff;border-radius:30px;padding:12px 21px;background:#fff;color:#222;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.hero-link{border-bottom:1px solid #fff;padding:9px 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.manifest{min-height:440px;padding:85px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:#fff}.manifest>div{min-height:230px;display:flex;align-items:center;justify-content:center;padding:35px 6vw;text-align:center}.manifest>div+div{border-left:1px solid var(--line)}.manifest-title{font-size:clamp(26px,3vw,42px);line-height:1.08;letter-spacing:.055em;font-weight:300}.manifest-quote{font-size:16px;line-height:1.85}.manifest-art{position:relative}.manifest-art span{width:130px;height:175px;border:1px solid #555;clip-path:polygon(50% 0,90% 28%,100% 72%,55% 100%,10% 78%,0 32%);background:linear-gradient(145deg,#fff,#ddd)}.manifest-art i,.manifest-art b{position:absolute;display:block;border:1px solid #777;border-radius:50%}.manifest-art i{width:46px;height:46px;transform:translate(-62px,-65px)}.manifest-art b{width:28px;height:28px;transform:translate(65px,72px)}
@media(max-width:800px){.home-body header{height:100px}.media-hero{min-height:680px}.media-copy{padding:0 24px 60px}.manifest{grid-template-columns:1fr;padding:45px 24px}.manifest>div{min-height:190px;padding:35px 20px}.manifest>div+div{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:650px){.media-copy h1{font-size:38px;letter-spacing:.025em}.media-copy>div{align-items:flex-start;flex-direction:column;gap:12px}.manifest-title{font-size:30px}}
.manifest .manifest-title{text-align:left;justify-content:flex-start}
@keyframes heroReveal{0%{opacity:0;transform:scale(1.045)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.media-hero::before{animation:none;opacity:1;transform:none}}
.media-copy h1{font-size:clamp(40px,5.2vw,70px)}
@media(max-width:650px){.media-copy h1{font-size:35px}}

/* Transparent typographic logo and roomier navigation */
header{height:118px}
.home-body header{height:132px;background:linear-gradient(rgba(255,255,255,.72) 0%,rgba(255,255,255,.42) 52%,transparent 100%)}
header nav{font-size:13px;gap:30px}
.brand,.footbrand{width:235px}
.brand-mark{display:flex;align-items:baseline;justify-content:center;gap:7px;white-space:nowrap;background:transparent;color:var(--ink);line-height:1}
.brand-mark strong{font-size:29px;font-weight:500;letter-spacing:.16em}
.brand-mark small{font-size:17px;font-weight:400;font-style:italic;letter-spacing:.035em;text-transform:lowercase}
.brand em,.footbrand em{font-size:11px;margin-top:7px}
.footbrand .brand-mark{color:#fff}
@media(max-width:800px){header{height:98px}.home-body header{height:108px}.brand{width:195px}.brand-mark strong{font-size:24px}.brand-mark small{font-size:14px}.brand em{font-size:9px;margin-top:5px}header nav{top:98px}}
.brand em,.footbrand em{font-family:'EB Garamond',Georgia,serif!important;font-size:17px!important;font-style:italic!important;font-weight:400;margin-top:7px;letter-spacing:0}
@media(max-width:800px){.brand em,.footbrand em{font-size:14px!important;margin-top:5px}}
.brand,.footbrand{width:270px}
.brand-mark strong{font-size:33px}
.brand em,.footbrand em{font-size:19px!important}
@media(max-width:800px){.brand{width:220px}.brand-mark strong{font-size:27px}.brand em,.footbrand em{font-size:15px!important}}
.split-entry.compact.reveal-ready a{opacity:0;transform:translateX(-58px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.split-entry.compact.reveal-ready a:first-child{transition-delay:.7s}
.split-entry.compact.reveal-ready a:nth-child(2){transition-delay:0s}
.split-entry.compact a{grid-template-rows:1fr;align-items:center}
.split-entry.compact h2{grid-column:1;grid-row:1;margin:0}
.split-entry.compact b{grid-column:2;grid-row:1;margin:0 0 0 25px}
.datecards.reveal-ready article{opacity:0;transform:translateX(58px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.datecards.reveal-ready article:nth-child(2){transition-delay:.55s}
.datecards.reveal-ready article:nth-child(3){transition-delay:1.1s}
.datecards.reveal-ready article:nth-child(4){transition-delay:1.65s}
.datecards.reveal-ready.is-visible article{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.datecards.reveal-ready article{opacity:1;transform:none;transition:none}}
.sectionhead .section-intro{max-width:520px;margin:20px 0 0;font-size:16px;line-height:1.7}
.datecards article{display:flex;flex-direction:column}
.datecards article>div:last-child{display:flex;flex:1;flex-direction:column}
.datecards article footer{margin-top:auto}
.datecards article.bookable-card{cursor:pointer}
.datecards article.bookable-card>div:last-child{padding-top:17px}
.datecards article.bookable-card h3{margin-top:6px}
.datecards article.bookable-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.datecards article.bookable-card .card-art img,.datecards article.bookable-card .card-art::before{transition:transform .45s ease}
.datecards article.bookable-card:hover .card-art img,.datecards article.bookable-card:hover .card-art::before{transform:scale(1.018)}
.datecards footer b{white-space:nowrap;display:inline-flex;align-items:baseline;gap:.22em;flex-shrink:0}.datecards footer{gap:12px;flex-wrap:nowrap}.datecards footer .reservation-link,.datecards footer button{white-space:nowrap;flex-shrink:0}
@media(max-width:1450px) and (min-width:1201px){.datecards article>div:last-child{padding-left:17px;padding-right:17px}.datecards footer{align-items:flex-start;flex-direction:column;gap:9px}}
@media(max-width:800px){.datecards footer{align-items:center;flex-direction:row;justify-content:space-between}.datecards footer b{white-space:nowrap}}
.manifest-art img{display:block;width:100%;max-width:390px;height:auto;object-fit:contain;mix-blend-mode:multiply}
.manifest-art,.manifest-art img{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
.home-body::before{content:"";position:absolute;width:1px;height:1px;overflow:hidden;pointer-events:none;background:url('assets/manifest-butterfly.png') no-repeat -9999px -9999px}
.manifest-art img{width:auto;max-width:100%;height:230px;max-height:230px}
@media(max-width:800px){.manifest-art img{height:210px;max-height:210px}}
.nearest .sectionhead{grid-template-columns:1fr}
.choose-intro{max-width:560px;margin:18px 0 55px}

/* Slightly denser rhythm and more legible section labels */
main small{font-size:12px;line-height:1.5;letter-spacing:.13em}
.nearest .sectionhead small{font-size:13px}
.nearest{padding-top:90px;padding-bottom:90px}
.choose{padding-top:95px;padding-bottom:95px}
.manifest{min-height:360px;padding-top:60px;padding-bottom:60px}
.manifest>div{min-height:200px}
.private-copy{padding-top:90px;padding-bottom:90px}
.firsttime,.soft,.schoolnote,.listing{padding-top:90px;padding-bottom:90px}
.split-entry.compact{margin-bottom:50px}
.sectionhead{margin-bottom:50px}
.choose-intro{margin-bottom:42px}
@media(max-width:800px){.nearest,.choose,.private-copy,.firsttime,.soft,.schoolnote,.listing{padding-top:70px;padding-bottom:70px}.manifest{padding-top:35px;padding-bottom:35px}.split-entry.compact{margin-bottom:40px}}
.home-body .choose{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);column-gap:6vw;align-items:end}
.home-body .choose>h2{grid-column:1;margin-bottom:0}
.home-body .choose-intro{grid-column:2;margin:0 0 5px;max-width:520px}
.home-body .choose .techgrid{grid-column:1/-1;margin-top:48px}
@media(max-width:800px){.home-body .choose{grid-template-columns:1fr}.home-body .choose>h2,.home-body .choose-intro{grid-column:1}.home-body .choose-intro{margin-top:15px}.home-body .choose .techgrid{margin-top:35px}}

/* Warm white to light-cream palette */
:root{--cream:#fbfaf6;--pink:#f8f5ed;--blue:#f2eee4;--lime:#fcfbf7;--line:#4d45351f}
body,header,.nearest,.manifest,.private-events{background:#fff}
.choose,.soft,.subhero.public{background:#faf8f2}
.firsttime,.dialog,.listing{background:#fdfcf8}
.split-entry.compact{background:#fff}
.split-entry.compact a:first-child{background:#fbfaf6}
.split-entry.compact a:last-child,.subhero.school,.schoolnote{background:#f4f0e8}
.private-visual{background:#f4f1e9}
.tiffany-art,.fusing-art,.kahany-art,.mosaic-art{background:#f3f0e9}
.summary{background:#f4f0e8}
.home-body header{background:linear-gradient(rgba(255,255,255,.88) 0%,rgba(255,253,248,.58) 55%,transparent 100%)}
.datecards article>div:last-child>small{text-transform:none;letter-spacing:.02em;font-weight:400;line-height:1.55}
.datecards,.techgrid{grid-template-columns:repeat(5,minmax(0,1fr))}
.painting-art{background:#f3f0e9}
.painting-art:before{width:175px;height:175px;border-radius:50%;border:1px solid #777;background:radial-gradient(circle at 35% 32%,#fff 0 7%,#ddd 8% 27%,#aaa 28% 44%,#777 45% 60%,#eee 61%)}
.painting-art:after{width:8px;height:205px;background:#555;border-radius:5px;transform:rotate(38deg);box-shadow:0 -25px 0 -2px #bbb}
.photo-art:before,.photo-art:after{display:none}
.photo-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-art span{position:absolute;left:0;right:0;bottom:0;padding:32px 18px 16px;color:#fff;text-align:center;background:linear-gradient(transparent,rgba(27,28,25,.72));text-shadow:0 1px 10px rgba(0,0,0,.35)}
.photo-art.mosaic-art img{object-position:center 48%}
.photo-art.fusing-art img{object-position:center 55%}
.datecards.reveal-ready article:nth-child(5){transition-delay:2.2s}
.home-body .techgrid.reveal-ready a:nth-child(1){transition-delay:2.2s}
.home-body .techgrid.reveal-ready a:nth-child(2){transition-delay:1.65s}
.home-body .techgrid.reveal-ready a:nth-child(3){transition-delay:1.1s}
.home-body .techgrid.reveal-ready a:nth-child(4){transition-delay:0s}
.home-body .techgrid.reveal-ready a:nth-child(5){transition-delay:.55s}
@media(max-width:1200px){.datecards,.techgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.datecards,.techgrid{grid-template-columns:1fr}}

/* On stacked mobile layouts, reveal cards from top to bottom. */
@media(max-width:800px){
  .split-entry.compact.reveal-ready a:first-child{transition-delay:0s}
  .split-entry.compact.reveal-ready a:nth-child(2){transition-delay:.7s}
  .home-body .techgrid.reveal-ready a:nth-child(1){transition-delay:0s}
  .home-body .techgrid.reveal-ready a:nth-child(2){transition-delay:.55s}
  .home-body .techgrid.reveal-ready a:nth-child(3){transition-delay:1.1s}
  .home-body .techgrid.reveal-ready a:nth-child(4){transition-delay:1.65s}
  .home-body .techgrid.reveal-ready a:nth-child(5){transition-delay:2.2s}
}


/* About-page principles echo the airy Your hands / Your story strip. */
.about-values{
  min-height:390px;
  margin:0;
  padding:64px 6vw;
  align-items:stretch;
  border:0;
  background:#fff
}
.about-values article{
  position:relative;
  min-height:245px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:38px 6vw;
  border:0;
  text-align:center
}
.about-values article+article::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:170px;
  background:var(--line);
  transform:translateY(-50%)
}
.about-values b{margin-bottom:27px;font-size:10px;font-weight:500;letter-spacing:.19em}
.about-values h3{margin:0 0 20px;font-size:clamp(28px,3vw,41px);font-weight:300;line-height:1.1;letter-spacing:.01em}
.about-values p{max-width:330px;margin:0;font-size:15px;line-height:1.8}
@media(max-width:800px){
  .about-values{min-height:0;grid-template-columns:1fr;margin:0;padding:48px 24px 54px}
  .about-values article{min-height:205px;padding:38px 20px;border:0}
  .about-values article+article::before{
    left:50%;
    top:0;
    width:76px;
    height:1px;
    transform:translateX(-50%)
  }
  .about-values b{margin-bottom:23px}
  .about-values h3{margin:0 0 16px;font-size:30px}
.about-values p{max-width:305px}
}

/* Final centering after all responsive principle styles. */
.about-values article{box-sizing:border-box;gap:20px;text-align:center}
.about-values h3{width:100%;max-width:360px;margin:0 auto;font-size:clamp(29px,3vw,41px);text-align:center}
.about-values p{width:100%;max-width:330px;margin:0 auto;text-align:center;text-wrap:balance}
@media(min-width:801px){.about-values article{padding-top:44px;padding-bottom:44px}}
@media(max-width:800px){
  .about-values article{gap:16px;padding-top:50px;padding-bottom:50px}
  .about-values h3{margin:0 auto;font-size:30px}
}

/* Tighter hand-off from the story ending to the three principles. */
.about-story{padding-bottom:76px}
.about-values{padding-top:42px;padding-bottom:42px}
@media(max-width:800px){
  .about-story{padding-bottom:56px}
  .about-values{padding-top:28px;padding-bottom:36px}
}

/* Equal visual breathing room above and below the principle strip. */
.about-story{padding-bottom:40px}
.about-values{min-height:0;padding-top:0;padding-bottom:0}
.about-values article{min-height:220px;padding-top:36px;padding-bottom:36px}
.about-workshops{padding-top:40px}
@media(max-width:800px){
  .about-story{padding-bottom:28px}
  .about-values{padding-top:0;padding-bottom:0}
  .about-values article{min-height:180px;padding-top:32px;padding-bottom:32px}
  .about-workshops{padding-top:28px}
}

/* Definitive compact closing invitation. */
.about-cta{padding-top:62px;padding-bottom:66px}
.about-cta small{margin-bottom:20px}
.about-cta h2{max-width:660px;margin-bottom:30px;font-size:clamp(28px,3.2vw,40px);line-height:1.16;letter-spacing:-.015em}
@media(max-width:800px){
  .about-cta{padding-top:52px;padding-bottom:58px}
  .about-cta small{margin-bottom:18px}
  .about-cta h2{max-width:440px;margin-bottom:27px;font-size:28px;line-height:1.2}
}

/* Mobile scroll reveals: wait until roughly one third of each item is visible,
   then travel farther from the side without slowing the established rhythm. */
@media(max-width:800px){
  html body .split-entry.compact.reveal-ready.mobile-split-reveal a{
    opacity:0!important;
    transform:translateX(-112px)!important;
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important
  }
  html body .split-entry.compact.reveal-ready.mobile-split-reveal a.is-entry-visible{
    opacity:1!important;
    transform:translateX(0)!important
  }
  html body .techgrid.reveal-ready.mobile-item-reveal a:not(.is-card-visible){
    transform:translateX(-108px)!important
  }
  html body .datecards.reveal-ready.mobile-date-reveal article:not(.is-card-visible){
    transform:translateX(108px)!important
  }
  html body .about-values.principles-mobile-reveal article:not(.is-principle-visible){
    transform:translateX(-100px)!important
  }
  html body .tiffany-gallery:not(.is-visible),
  html body .kahany-gallery:not(.is-visible){
    transform:translateX(-92px)!important
  }
}

@keyframes workshopDetailSideInMobileWide{
  from{opacity:0;transform:translateX(112px)}
  to{opacity:1;transform:translateX(0)}
}
@media(max-width:800px){
  html body:not(.home-body) .workshop-detail.is-open{
    animation-name:workshopDetailSideInMobileWide!important;
    animation-duration:1.15s!important;
    animation-delay:0s!important;
    animation-timing-function:cubic-bezier(.22,.61,.36,1)!important
  }
}

/* Clean technique navigation without decorative numbering. */
.techgrid>a>b{display:none}
.techgrid h3{margin-top:8px}

/* Keep workshop titles on one horizontal axis in the desktop date grid. */
@media(min-width:1201px){.datecards article>div:last-child>small{display:block;min-height:96px}}
@media(min-width:801px) and (max-width:1200px){.datecards article>div:last-child>small{display:block;min-height:76px}}

/* Unified mobile reveals: immediate start, longer and clearly visible motion. */
@media(max-width:800px){
  html body .techgrid.reveal-ready.mobile-item-reveal a:nth-child(n),
  html body .datecards.reveal-ready.mobile-date-reveal article:nth-child(n),
  html body .about-values.principles-reveal-ready.principles-mobile-reveal article:nth-child(n){
    transition-delay:0s!important;
    transition-duration:1.45s!important;
    transition-timing-function:ease,cubic-bezier(.22,.61,.36,1)!important
  }
  html body.home-body .split-entry.compact.reveal-ready a{
    transition-duration:1.45s!important;
    transition-timing-function:ease,cubic-bezier(.22,.61,.36,1)!important
  }
  html body.home-body .split-entry.compact.reveal-ready a:nth-child(1){transition-delay:0s!important}
  html body.home-body .split-entry.compact.reveal-ready a:nth-child(2){transition-delay:.22s!important}
  html body .tiffany-gallery,
  html body .kahany-gallery{transition-duration:1.45s!important;transition-delay:0s!important}
  html body .workshop-detail.is-open{animation-duration:.8s!important;animation-delay:0s!important}
  html body .about-photo img{animation-duration:2.15s!important;animation-delay:0s!important}
  html body:not(.home-body) .techgrid.reveal-ready.mobile-item-reveal a:nth-child(n){
    transition-delay:0s!important;
    transition-duration:1.45s!important;
    transition-timing-function:ease,cubic-bezier(.22,.61,.36,1)!important
  }
  html body:not(.home-body) .tiffany-gallery,
  html body:not(.home-body) .kahany-gallery{transition-delay:0s!important;transition-duration:1.45s!important}
html body:not(.home-body) .workshop-detail.is-open{animation-delay:0s!important;animation-duration:1.1s!important}
}

/* A more legible side movement on phones, while keeping the calm timing. */
@media(max-width:800px){
  html body.home-body .split-entry.compact.reveal-ready:not(.is-visible) a{transform:translateX(-76px)!important}
  html body .techgrid.reveal-ready.mobile-item-reveal a:not(.is-card-visible){transform:translateX(-72px)!important}
  html body .datecards.reveal-ready.mobile-date-reveal article:not(.is-card-visible){transform:translateX(72px)!important}
  html body .about-values.principles-mobile-reveal article:not(.is-principle-visible){transform:translateX(-68px)!important}
  html body .tiffany-gallery:not(.is-visible),
  html body .kahany-gallery:not(.is-visible){transform:translateX(-58px)!important}
}

/* Match every workshop-page animation to the stronger mobile side reveal. */
@keyframes workshopDetailSideInMobile{
  from{opacity:0;transform:translateX(76px)}
  to{opacity:1;transform:translateX(0)}
}
@media(max-width:800px){
  html body:not(.home-body) .techgrid.reveal-ready.mobile-item-reveal a:not(.is-card-visible){transform:translateX(-76px)!important}
  html body:not(.home-body) .workshop-detail.is-open{
    animation-name:workshopDetailSideInMobile!important;
    animation-duration:1.45s!important;
    animation-delay:0s!important;
    animation-timing-function:cubic-bezier(.22,.61,.36,1)!important
  }
  html body:not(.home-body) .tiffany-gallery:not(.is-visible),
  html body:not(.home-body) .kahany-gallery:not(.is-visible){transform:translateX(-64px)!important}
}

/* Mobile cards reveal individually without the desktop's cumulative delays. */
@media(max-width:800px){
  .techgrid.reveal-ready.mobile-item-reveal a.is-card-visible,
  .datecards.reveal-ready.mobile-date-reveal article.is-card-visible{
    transition-delay:0s!important;
    transition-duration:1.15s!important
  }
}

/* Final home-entry rhythm: children first, workshops second; trigger is earlier on phones. */
@media(min-width:801px){
  .home-body .split-entry.compact.reveal-ready a:nth-child(1){transition-delay:.45s!important}
  .home-body .split-entry.compact.reveal-ready a:nth-child(2){transition-delay:0s!important}
}

@media(max-width:800px){
  .home-body .split-entry.compact.reveal-ready a{transition-duration:1.15s!important}
  .home-body .split-entry.compact.reveal-ready a:nth-child(1){transition-delay:0s!important}
  .home-body .split-entry.compact.reveal-ready a:nth-child(2){transition-delay:.38s!important}
}

/* A quiet personal signature, separate from the opening copy. */
.about-signature{width:max-content;margin:30px 0 0;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:13px;font-weight:500;letter-spacing:.11em;text-transform:uppercase}
.about-signature+.about-scroll{margin-top:42px}
@media(max-width:800px){
  .about-signature{margin-top:26px;font-size:12px}
  .about-signature+.about-scroll{margin-top:36px}
}

/* Without the duplicate signature, restore the intended breathing room. */
.about-lead+.about-scroll{margin-top:50px}
@media(max-width:800px){.about-lead+.about-scroll{margin-top:42px}}

/* A touch more separation before the Driketa Studio block. */
.about-workshops{padding-top:58px}
@media(max-width:800px){.about-workshops{padding-top:44px}}

/* A quieter closing call-to-action, aligned with the site's heading scale. */
.about-cta{padding-top:88px;padding-bottom:92px}
.about-cta h2{max-width:760px;margin-bottom:38px;font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.02em}
@media(max-width:800px){
  .about-cta{padding-top:70px;padding-bottom:76px}
  .about-cta h2{max-width:540px;margin-bottom:32px;font-size:34px;line-height:1.14}
}

/* Principles reveal with the same calm rhythm as the other card groups. */
.about-values.principles-reveal-ready article{opacity:0;transform:translateX(-54px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.about-values.principles-reveal-ready article:nth-child(1){transition-delay:0s}
.about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s}
.about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s}
.about-values.principles-reveal-ready.is-visible article{opacity:1;transform:translateX(0)}
@media(max-width:800px){
  .about-values.principles-mobile-reveal article{opacity:0;transform:translateX(-44px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1);transition-delay:0s}
  .about-values.principles-mobile-reveal article.is-principle-visible{opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){.about-values.principles-reveal-ready article{opacity:1;transform:none;transition:none}}

/* Desktop sequence starts with Tvořit; mobile still reveals each item on arrival. */
@media(min-width:801px){
  .about-values.principles-reveal-ready article:nth-child(1){transition-delay:.9s}
  .about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s}
  .about-values.principles-reveal-ready article:nth-child(3){transition-delay:0s}
}

/* The portrait gently emerges from the page background like the home hero. */
.about-photo{background:#eeeae2}
.about-photo img{animation:aboutPhotoReveal 1.9s cubic-bezier(.22,.61,.36,1) .12s both;transform-origin:center center}
@keyframes aboutPhotoReveal{
  0%{opacity:0;transform:scale(1.035);filter:saturate(.72) brightness(1.06)}
  100%{opacity:1;transform:scale(1);filter:none}
}
@media(prefers-reduced-motion:reduce){.about-photo img{animation:none}}

/* Compact final invitation — supportive rather than dominant. */
.about-cta{padding-top:62px;padding-bottom:66px}
.about-cta small{margin-bottom:20px}
.about-cta h2{max-width:660px;margin-bottom:30px;font-size:clamp(28px,3.2vw,40px);line-height:1.16;letter-spacing:-.015em}
@media(max-width:800px){
  .about-cta{padding-top:52px;padding-bottom:58px}
  .about-cta small{margin-bottom:18px}
  .about-cta h2{max-width:440px;margin-bottom:27px;font-size:28px;line-height:1.2}
}

/* Number-free, optically centered principle strip. */
.about-values article{box-sizing:border-box;gap:20px;text-align:center}
.about-values h3{width:100%;max-width:360px;margin:0 auto;font-size:clamp(29px,3vw,41px);text-align:center}
.about-values p{width:100%;max-width:330px;margin:0 auto;text-align:center;text-wrap:balance}
@media(min-width:801px){.about-values article{padding-top:44px;padding-bottom:44px}}
@media(max-width:800px){
  .about-values article{gap:16px;padding-top:50px;padding-bottom:50px}
  .about-values h3{margin:0 auto;font-size:30px}
}

/* Prevent horizontal drifting and white edges on touch devices. */
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{position:relative}
@supports(overflow:clip){html,body{overflow-x:clip}}
@media(max-width:800px){
  body{touch-action:pan-y}
  main,header,footer,section{max-width:100%}
  .split-entry,.datecards,.techgrid{overflow-x:clip}
}

/* Minimal mobile hamburger icon. */
@media(max-width:800px){
  .menu{display:flex;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.72);align-items:center;justify-content:center;flex-direction:column;gap:5px;position:relative;z-index:22}
  .menu span{display:block;width:21px;height:1px;background:var(--ink);transform-origin:center;transition:transform .3s ease,opacity .22s ease,width .3s ease}
  .menu.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu.active span:nth-child(2){opacity:0;width:0}
  .menu.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  header nav{z-index:21}
}

.home-body .techgrid.reveal-ready a{opacity:0;transform:translateX(-58px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.home-body .techgrid.reveal-ready a:nth-child(2){transition-delay:.55s}
.home-body .techgrid.reveal-ready a:nth-child(3){transition-delay:1.1s}
.home-body .techgrid.reveal-ready a:nth-child(4){transition-delay:1.65s}
.home-body .techgrid.reveal-ready.is-visible a{opacity:1;transform:translateX(0)}
.home-body .techgrid.reveal-ready a:nth-child(1){transition-delay:1.65s}
.home-body .techgrid.reveal-ready a:nth-child(2){transition-delay:1.1s}
.home-body .techgrid.reveal-ready a:nth-child(3){transition-delay:.55s}
.home-body .techgrid.reveal-ready a:nth-child(4){transition-delay:0s}
@media(prefers-reduced-motion:reduce){.home-body .techgrid.reveal-ready a{opacity:1;transform:none;transition:none}}

/* Unified Martina-inspired typography */
body{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:400;line-height:1.75}
h1,h2,h3,h4,h5,h6,.media-copy h1,.topka-hero h1,.subhero h1,.sectionhead h2,.choose>h2,.private-copy h2,.firsttime h2,.split-entry h2,.soft h2,.schoolnote h2,.datecards h3,.techgrid h3,.programs h3,.manifest-title{font-family:'Montserrat',sans-serif;font-style:normal;font-weight:300;text-transform:none}
.media-copy h1{font-size:clamp(38px,4.8vw,64px);line-height:1.08;letter-spacing:.015em}
.subhero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.04;letter-spacing:-.025em}
.sectionhead h2,.choose>h2,.private-copy h2,.firsttime h2,.soft h2,.schoolnote h2{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.02em}
.private-copy h2{letter-spacing:.005em}
.manifest-title{font-size:clamp(26px,2.8vw,38px);line-height:1.15;letter-spacing:.025em}
.split-entry.compact h2{font-size:clamp(21px,2.2vw,29px);letter-spacing:-.01em}
.datecards h3,.programs h3{font-size:24px;line-height:1.25}.techgrid h3{font-size:30px;line-height:1.2}
p,.topka-hero>p,.media-copy>p,.subhero p,.sectionhead>p,.sectionhead .section-intro,.private-copy>p,.firsttime p,.soft p,.manifest-quote{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:400;line-height:1.8;letter-spacing:0;text-transform:none}
small,.eyebrow,.filters button,.hero-button,.hero-link,.all-link,header nav{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.private-copy li,.firsttime li{font-size:15px;font-weight:400}.datecards p{font-size:14px}
@media(max-width:650px){.media-copy h1{font-size:34px}.sectionhead h2,.choose>h2,.private-copy h2,.firsttime h2,.soft h2,.schoolnote h2{font-size:34px}.manifest-title{font-size:28px}.techgrid h3{font-size:27px}}

/* Compact editorial opening for the public workshops page. */
.workshop-hero{min-height:0;padding:46px 6vw 52px;background:#f4f0e8!important;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:6vw;align-items:center}
.workshop-hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.workshop-hero h1{margin:0 0 22px;font-size:clamp(42px,5.2vw,68px)}
.workshop-hero p{margin:0;max-width:590px}
.workshop-hero .dark{margin-top:26px}
.workshop-hero-media{margin:0;height:auto;aspect-ratio:4/3;padding:0;background:transparent;overflow:hidden;display:grid;grid-template-columns:1fr}
.workshop-hero-media img{display:block;width:100%;height:100%;min-width:0;object-fit:cover}
.workshop-hero-media img:first-child{object-position:center 46%}
.workshop-hero-media img:last-child{object-position:center 54%}
@media (min-width:801px){.workshop-hero,.subhero.school{min-height:610px}}
.workshop-hero+.choose{background:#fdfcf8;padding-top:72px;padding-bottom:78px;border-top:1px solid var(--line)}
.workshop-hero+.choose>h2{margin-top:16px;margin-bottom:52px}
@media(max-width:800px){
  .workshop-hero{padding:34px 24px 42px;grid-template-columns:1fr;gap:32px}
  .workshop-hero-media{height:auto;padding:0;gap:6px}
  .workshop-hero+.choose{padding-top:56px;padding-bottom:60px}
  .workshop-hero+.choose>h2{margin-bottom:38px}
}

.brand,.footbrand{width:360px}
.brand-mark strong{font-family:'Cinzel',serif;font-size:28px;font-weight:400;letter-spacing:.18em;white-space:nowrap}
@media(max-width:800px){.brand{width:285px}.brand-mark strong{font-size:22px;letter-spacing:.14em}}
.brand-mark{position:relative;display:block;width:230px;padding-bottom:20px;text-align:center}
.brand-mark strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:500;letter-spacing:.16em;line-height:1;text-transform:uppercase}
.studio-script{position:absolute;left:54%;bottom:-3px;transform:translateX(-10%);font-family:'Allura',cursive;font-size:31px;font-weight:400;letter-spacing:0;line-height:1;text-transform:none}
.brand em,.footbrand em{margin-top:3px}
@media(max-width:800px){.brand-mark{width:195px;padding-bottom:16px}.brand-mark strong{font-size:27px;letter-spacing:.14em}.studio-script{font-size:26px;bottom:-2px}}

/* Logo variant based on the spaced PHOTOGRAPHY line */
.brand-mark{position:static;display:flex;width:auto;padding:0;flex-direction:column;align-items:center;gap:6px}
.brand-mark strong{font-family:'Montserrat',sans-serif;font-size:27px;font-weight:400;letter-spacing:.28em;line-height:1;text-transform:uppercase;padding-left:.28em}
.studio-script{position:static;transform:none;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:400;letter-spacing:.48em;line-height:1;text-transform:uppercase;padding-left:.48em}
.brand em,.footbrand em{margin-top:8px}
@media(max-width:800px){.brand-mark{width:auto;padding:0;gap:5px}.brand-mark strong{font-size:23px;letter-spacing:.24em;padding-left:.24em}.studio-script{position:static;font-size:9px;letter-spacing:.42em;padding-left:.42em}.brand em,.footbrand em{margin-top:6px}}
.brand em,.footbrand em{font-family:'Allura',cursive!important;font-size:23px!important;font-style:normal!important;letter-spacing:0;line-height:1;margin-top:8px}
@media(max-width:800px){.brand em,.footbrand em{font-size:19px!important;margin-top:6px}}
.brand em,.footbrand em{font-family:'EB Garamond',Georgia,serif!important;font-size:18px!important;font-style:italic!important;font-weight:400;letter-spacing:.025em;line-height:1.15;margin-top:8px}
@media(max-width:800px){.brand em,.footbrand em{font-size:15px!important;margin-top:6px}}
.split-entry.compact.reveal-ready.is-visible a{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.split-entry.compact.reveal-ready a{opacity:1;transform:none;transition:none}}
/* Manifest: equal dividers on desktop, short vertical rhythm on mobile */
.manifest>div{position:relative}
.manifest>div+div{border-left:0}
@media(min-width:801px){
  .manifest>div:nth-child(2)::before,
  .manifest>div:nth-child(3)::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:200px;
    background:var(--line);
    transform:translateY(-50%)
  }
}

/* Za sklem — a quiet editorial portrait and story page. */
.about-main{overflow:hidden;background:#fbfaf6}
.about-hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:stretch;border-bottom:1px solid var(--line)}
.about-photo{min-height:760px;overflow:hidden;background:#d8d5cc}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.about-opening{display:flex;flex-direction:column;justify-content:center;padding:9vw 8vw 8vw}
.about-opening small,.about-story small,.about-workshops small,.about-cta small{display:block;margin-bottom:30px;letter-spacing:.19em}
.about-opening h1{max-width:650px;margin:0 0 38px;font-size:clamp(48px,5.2vw,78px);font-weight:300;line-height:1.02;letter-spacing:-.045em}
.about-lead{max-width:570px;margin:0;font-size:19px;line-height:1.78}
.about-scroll{width:max-content;margin-top:58px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:12px;letter-spacing:.13em;text-transform:uppercase}
.about-story{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:9vw;padding:120px 8vw 130px;background:#fff}
.about-story-title h2,.about-workshops h2{max-width:560px;margin:0;font-size:clamp(38px,4.4vw,64px);font-weight:300;line-height:1.08;letter-spacing:-.035em}
.about-story-copy{max-width:700px;padding-top:55px}
.about-story-copy p,.about-workshops>div:last-child p{margin:0 0 28px;font-size:18px;line-height:1.85}
.about-story-copy p:last-child,.about-workshops>div:last-child p:last-child{margin-bottom:0}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);margin:0 6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfaf6}
.about-values article{min-height:330px;padding:48px 44px;border-right:1px solid var(--line)}
.about-values article:last-child{border-right:0}
.about-values b{font-size:11px;letter-spacing:.18em;font-weight:500}
.about-values h3{margin:94px 0 20px;font-size:30px;font-weight:300;letter-spacing:-.025em}
.about-values p{max-width:330px;margin:0;font-size:15px;line-height:1.75}
.about-workshops{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,.9fr);gap:10vw;padding:135px 8vw;background:#fbfaf6}
.about-workshops>div:last-child{max-width:650px;padding-top:62px}
@media(min-width:801px){.about-workshops>div:first-child h2{transform:translateY(16px)}}
.about-cta{padding:130px 8vw;text-align:center;background:#e8e3d8}
.about-cta h2{max-width:890px;margin:0 auto 46px;font-size:clamp(42px,5.2vw,76px);font-weight:300;line-height:1.06;letter-spacing:-.04em}
.about-cta .dark{display:inline-block}
@media(max-width:800px){
  .about-hero{min-height:0;grid-template-columns:1fr}
  .about-photo{min-height:0;height:118vw;max-height:650px;order:1}
  .about-photo img{object-position:center 28%}
  .about-opening{order:2;padding:72px 24px 76px}
  .about-opening small,.about-story small,.about-workshops small,.about-cta small{margin-bottom:22px}
  .about-opening h1{margin-bottom:28px;font-size:45px;line-height:1.04}
  .about-lead{font-size:17px;line-height:1.72}
  .about-scroll{margin-top:42px}
  .about-story{grid-template-columns:1fr;gap:38px;padding:82px 24px 88px}
  .about-story-title h2,.about-workshops h2{font-size:39px}
  .about-story-copy{padding-top:0}
  .about-story-copy p,.about-workshops>div:last-child p{font-size:16px;line-height:1.78}
  .about-values{grid-template-columns:1fr;margin:0 24px}
  .about-values article{min-height:0;padding:36px 4px 38px;border-right:0;border-bottom:1px solid var(--line)}
  .about-values article:last-child{border-bottom:0}
  .about-values h3{margin:38px 0 14px;font-size:27px}
  .about-workshops{grid-template-columns:1fr;gap:38px;padding:92px 24px}
  .about-workshops>div:last-child{padding-top:0}
  .about-cta{padding:92px 24px 100px}
  .about-cta h2{margin-bottom:38px;font-size:41px}
}

/* Quiet social links in the contact footer. */
.social-links{gap:12px}
.social-link{display:inline-flex;align-items:center;gap:10px;width:max-content}
.social-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;opacity:.8;transition:opacity .25s,transform .25s}
.social-link:hover svg{opacity:1;transform:translateY(-1px)}
@media(max-width:800px){
  .manifest{min-height:0;padding:54px 28px 58px;row-gap:0}
  .manifest>div{width:min(100%,280px);min-height:0;margin:0 auto;padding:34px 0;border-top:0}
  .manifest>div+div{padding-top:84px}
  .manifest>div:nth-child(2)::before,
  .manifest>div:nth-child(3)::before{
    content:"";
    position:absolute;
    top:18px;
    left:50%;
    width:1px;
    height:36px;
    background:var(--line);
    transform:translateX(-50%)
  }
  .manifest .manifest-title{display:block;width:max-content;max-width:100%;margin-right:auto;margin-left:auto;padding-bottom:30px;text-align:left}
  .manifest-art{width:190px;height:210px;padding-right:0;padding-left:0;overflow:hidden}
  .manifest-art img{width:190px;height:210px;max-width:none;max-height:none;object-fit:cover;object-position:center 52%}
  .manifest-quote{max-width:300px;padding-bottom:10px}
}

/* Slightly clearer hero copy on small screens */
@media(max-width:650px){
  .media-overlay{background:linear-gradient(to bottom,rgba(15,15,15,.08) 12%,rgba(15,15,15,.2) 43%,rgba(15,15,15,.78) 100%)}
  .media-copy>p{font-size:16px;font-weight:500;line-height:1.72;text-shadow:0 1px 10px rgba(0,0,0,.2)}
  .hero-button,.hero-link{font-size:11.5px;font-weight:600;letter-spacing:.11em}
  .hero-button{padding:13px 22px}
  .hero-link{padding:10px 0}
  header nav{font-size:11.5px;font-weight:600;letter-spacing:.13em}
  header nav a,header nav button{padding-top:14px;padding-bottom:14px}
}


/* Mobile techniques: reveal in reading order, horizontally from the left. */
@media(max-width:800px){
  .home-body .techgrid.reveal-ready a{transform:translateX(-58px) translateY(0)}
  .home-body .techgrid.reveal-ready:not(.is-visible) a{transition:none}
  .home-body .techgrid.reveal-ready a:nth-child(1){transition-delay:0s}
  .home-body .techgrid.reveal-ready a:nth-child(2){transition-delay:.55s}
  .home-body .techgrid.reveal-ready a:nth-child(3){transition-delay:1.1s}
  .home-body .techgrid.reveal-ready a:nth-child(4){transition-delay:1.65s}
  .home-body .techgrid.reveal-ready a:nth-child(5){transition-delay:2.2s}
  .home-body .techgrid.reveal-ready.is-visible a{transform:translateX(0) translateY(0);transition-property:opacity,transform;transition-duration:1.15s;transition-timing-function:ease,cubic-bezier(.22,.61,.36,1)}
}

/* Tighter mobile rhythm around the two main entry links. */
@media(max-width:650px){
  .home-body .manifest{padding-bottom:40px}
  .home-body .split-entry.compact{margin-top:8px;margin-bottom:22px}
  .home-body .nearest{padding-top:52px}
}

@media(min-width:651px){
  .home-body .manifest{padding-bottom:45px}
  .home-body .split-entry.compact{margin-top:12px;margin-bottom:30px}
  .home-body .nearest{padding-top:65px}
}

/* Mobile scroll reveals: start only in the viewport and keep the sequence brisk. */
@media(max-width:800px){
  .split-entry.compact.reveal-ready:not(.is-visible) a,
  .datecards.reveal-ready:not(.is-visible) article,
  .home-body .techgrid.reveal-ready:not(.is-visible) a{transition:none}

  .split-entry.compact.reveal-ready a:first-child{transition-delay:0s}
  .split-entry.compact.reveal-ready a:nth-child(2){transition-delay:.35s}
  .split-entry.compact.reveal-ready.is-visible a{transition-duration:.8s}

  .datecards.reveal-ready article:nth-child(1),
  .home-body .techgrid.reveal-ready a:nth-child(1){transition-delay:0s}
  .datecards.reveal-ready article:nth-child(2),
  .home-body .techgrid.reveal-ready a:nth-child(2){transition-delay:.3s}
  .datecards.reveal-ready article:nth-child(3),
  .home-body .techgrid.reveal-ready a:nth-child(3){transition-delay:.6s}
  .datecards.reveal-ready article:nth-child(4),
  .home-body .techgrid.reveal-ready a:nth-child(4){transition-delay:.9s}
  .datecards.reveal-ready article:nth-child(5),
  .home-body .techgrid.reveal-ready a:nth-child(5){transition-delay:1.2s}
  .datecards.reveal-ready.is-visible article,
  .home-body .techgrid.reveal-ready.is-visible a{transition-duration:.8s}
}

/* On phones, reveal every technique only when that individual card enters view. */
@media(max-width:800px){
  .home-body .techgrid.mobile-item-reveal a{
    opacity:0!important;
    transform:translateX(-48px) translateY(0)!important;
    transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important
  }
  .home-body .techgrid.mobile-item-reveal a.is-card-visible{
    opacity:1!important;
    transform:translateX(0) translateY(0)!important
  }
}

/* On phones, reveal every nearest-date card only when it enters view. */
@media(max-width:800px){
  .datecards.mobile-date-reveal article{
    opacity:0!important;
    transform:translateX(48px) translateY(0)!important;
    transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important
  }
  .datecards.mobile-date-reveal article.is-card-visible{
    opacity:1!important;
    transform:translateX(0) translateY(0)!important
  }
}

/* Workshop page: clearer practical information and a dedicated Tiffany guide. */
.workshop-meta{display:block;margin:0 0 15px;font-size:10px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}
.workshop-detail{background:#fff;border-top:1px solid var(--line)}
.workshop-detail.is-open{animation:workshopDetailIn .55s cubic-bezier(.22,.61,.36,1) both}
#tiffany[aria-expanded="true"]{background:#f7f5ef}
#tiffany[aria-expanded="true"] span:last-child{font-weight:600}
@keyframes workshopDetailIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.workshop-detail-intro{padding:105px 6vw 90px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);column-gap:8vw;align-items:start}
.workshop-detail-intro small{grid-column:1/-1;margin-bottom:28px}
.workshop-detail-intro h2{margin:0;font-size:clamp(38px,4.5vw,62px);font-weight:300;line-height:1.08;letter-spacing:-.025em}
.workshop-detail-intro>p{margin:6px 0 0;font-size:16px;line-height:1.85;max-width:620px}
.workshop-detail-intro .dark{grid-column:2;width:max-content;margin-top:28px}
.workshop-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0 6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.workshop-facts>div{min-height:245px;padding:32px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.workshop-facts>div:last-child{border-right:0}
.workshop-facts span{font-size:11px;letter-spacing:.12em}
.workshop-facts strong{display:block;margin:50px 0 12px;font-size:18px;font-weight:500;line-height:1.35}
.workshop-facts p{margin:0;font-size:14px;line-height:1.7}
.tiffany-process{padding:100px 6vw 110px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);gap:8vw}
.tiffany-process h2{margin:22px 0 0;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.1;letter-spacing:-.025em}
.tiffany-process ol{list-style:none;margin:0;padding:0}
.tiffany-process li{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line)}
.tiffany-process li:last-child{border-bottom:1px solid var(--line)}
.tiffany-process li b{width:32px;height:32px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:500}
.tiffany-process li span{font-size:14px;line-height:1.7}
.tiffany-process li strong{display:block;margin-bottom:3px;font-size:17px;font-weight:500}
@media(max-width:900px){
  .workshop-detail-intro{grid-template-columns:1fr;gap:24px;padding-top:75px;padding-bottom:65px}
  .workshop-detail-intro>p,.workshop-detail-intro .dark{grid-column:1}
  .workshop-detail-intro .dark{margin-top:4px}
  .workshop-facts{grid-template-columns:1fr 1fr}
  .workshop-facts>div{min-height:210px;border-bottom:1px solid var(--line)}
  .workshop-facts>div:nth-child(2){border-right:0}
  .workshop-facts>div:nth-child(3),.workshop-facts>div:nth-child(4){border-bottom:0}
  .tiffany-process{grid-template-columns:1fr;gap:50px;padding-top:75px;padding-bottom:80px}
}
@media(max-width:600px){
  .workshop-detail-intro{padding:65px 24px 55px}
  .workshop-detail-intro h2{font-size:35px}
  .workshop-detail-intro>p{font-size:15px}
  .workshop-facts{grid-template-columns:1fr;margin:0 24px}
  .workshop-facts>div{min-height:0;padding:26px 4px;border-right:0;border-bottom:1px solid var(--line)!important}
  .workshop-facts>div:last-child{border-bottom:0!important}
  .workshop-facts strong{margin:28px 0 8px;font-size:17px}
  .tiffany-process{padding:70px 24px 80px;gap:42px}
  .tiffany-process h2{font-size:34px}
}

/* Editorial Tiffany detail, revealed from the 01 card. */
.workshop-article{width:100%;max-width:none;margin:0;padding:100px 6vw 110px;display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);column-gap:6vw;align-items:start}
.workshop-article-lead{grid-column:1;grid-row:1 / span 7;max-width:520px;margin:0;position:sticky;top:24px;align-self:start}
.workshop-article-lead small{display:block;margin-bottom:28px}
.workshop-article-lead h2{margin:0 0 32px;font-size:clamp(38px,4.2vw,58px);font-weight:300;line-height:1.04;letter-spacing:-.035em}
.workshop-article-lead p{max-width:440px;margin:0;font-size:18px;line-height:1.75}
.workshop-article>section{grid-column:2;display:block;padding:38px 0;border-top:1px solid var(--line)}
.workshop-article>section h3{margin:0 0 20px;font-size:clamp(25px,2.5vw,34px);font-weight:300;line-height:1.18;letter-spacing:-.02em}
.workshop-article>section p{margin:0;font-size:16px;line-height:1.85}
.workshop-article ul{margin:0;padding:0 0 0 20px}
.workshop-article li{margin:0 0 15px;padding-left:8px;font-size:15px;line-height:1.75}
.workshop-article li:last-child{margin-bottom:0}
.workshop-article li strong{font-weight:600}
.workshop-place .dark{width:max-content;margin-top:26px}
@media(max-width:750px){
  .workshop-article{padding:70px 24px 80px;display:block}
  .workshop-article-lead{margin-bottom:52px}
  .workshop-article-lead{position:static;max-width:none}
  .workshop-article-lead h2{margin-bottom:28px;font-size:38px}
  .workshop-article-lead p{font-size:17px;line-height:1.75}
  .workshop-article>section{grid-template-columns:1fr;gap:24px;padding:40px 0}
  .workshop-article>section h3{font-size:29px}
  .workshop-article>section>p,.workshop-article>section>ul,.workshop-article>section>a{grid-column:1}
  .workshop-article>section p{font-size:15px;line-height:1.8}
  .workshop-article li{font-size:15px;line-height:1.7}
}

/* Technique cards on both pages: reveal from left to right. */
.techgrid.reveal-ready a{opacity:0;transform:translateX(-54px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.techgrid.reveal-ready a:nth-child(1){transition-delay:0s}
.techgrid.reveal-ready a:nth-child(2){transition-delay:.25s}
.techgrid.reveal-ready a:nth-child(3){transition-delay:.5s}
.techgrid.reveal-ready a:nth-child(4){transition-delay:.75s}
.techgrid.reveal-ready a:nth-child(5){transition-delay:1s}
.techgrid.reveal-ready.is-visible a{opacity:1;transform:translateX(0)}
@media(max-width:800px){
  .techgrid.mobile-item-reveal a{opacity:0!important;transform:translateX(-44px)!important;transition:opacity .68s ease,transform .68s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s!important}
  .techgrid.mobile-item-reveal a.is-card-visible{opacity:1!important;transform:translateX(0)!important}
}

/* A quiet, horizontally moving Tiffany inspiration gallery. */
.tiffany-gallery{width:100%;min-width:0;margin-top:38px;opacity:0;transform:translateX(-38px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}
.tiffany-gallery.is-visible{opacity:1;transform:translateX(0)}
.tiffany-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.tiffany-gallery-head small{display:block;margin-bottom:12px}
.tiffany-gallery-head h3{max-width:520px;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:300;line-height:1.2;letter-spacing:-.02em}
.tiffany-gallery-arrows{display:flex;gap:8px;flex:0 0 auto}
.tiffany-gallery-arrows button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:18px;transition:background .25s,color .25s}
.tiffany-gallery-arrows button:hover{background:var(--ink);color:#fff}
.tiffany-gallery-window{position:relative;width:100%;height:390px;overflow:hidden;background:#eee}
.tiffany-gallery-window::-webkit-scrollbar{display:none}
.tiffany-gallery-track{display:flex;width:100%;height:100%;transition:transform 1.15s cubic-bezier(.22,.61,.36,1);will-change:transform}
.gallery-item{position:relative;flex:0 0 100%;width:100%;height:100%;margin:0;padding:0;border:0;background:#eee;overflow:hidden;cursor:zoom-in;opacity:1;transform:none;transition:none}
.gallery-item:nth-child(1){transition-delay:0s}.gallery-item:nth-child(2){transition-delay:.28s}.gallery-item:nth-child(3){transition-delay:.56s}.gallery-item:nth-child(4){transition-delay:.84s}.gallery-item:nth-child(5){transition-delay:1.12s}.gallery-item:nth-child(6){transition-delay:1.4s}
.tiffany-gallery.is-visible .gallery-item{opacity:1;transform:none}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.gallery-item:hover img{transform:scale(1.035)}
.tiffany-gallery-count{position:absolute;right:14px;bottom:12px;padding:7px 10px;background:rgba(255,255,255,.82);font-size:10px;letter-spacing:.12em}
.tiffany-lightbox{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:5vw;background:rgba(20,20,18,.9)}
.tiffany-lightbox[hidden]{display:none}
.tiffany-lightbox img{display:block;max-width:min(1100px,90vw);max-height:86vh;object-fit:contain;cursor:zoom-out}
.lightbox-close{position:absolute;top:22px;right:28px;width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:transparent;color:#fff;font-size:30px;line-height:1}
@media(max-width:750px){
  .tiffany-gallery{margin-top:32px;padding-bottom:0}
  .tiffany-gallery-head{align-items:flex-start;margin-bottom:20px}
  .tiffany-gallery-head h3{font-size:27px}
  .tiffany-gallery-window{height:430px}
  .gallery-item{flex-basis:100%;height:100%}
  .tiffany-gallery-arrows button{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){.gallery-item{opacity:1;transform:none;transition:none}.gallery-item img{transition:none}}
@media(prefers-reduced-motion:reduce){.techgrid.reveal-ready a{opacity:1;transform:none;transition:none}}

/* One calm rhythm for every scroll-reveal animation. */
.split-entry.compact.reveal-ready a,
.datecards.reveal-ready article,
.techgrid.reveal-ready a{
  transition-duration:1.15s!important;
  transition-timing-function:ease,cubic-bezier(.22,.61,.36,1)!important
}
.split-entry.compact.reveal-ready a:nth-child(1),
.datecards.reveal-ready article:nth-child(1),
.techgrid.reveal-ready a:nth-child(1){transition-delay:0s!important}
.split-entry.compact.reveal-ready a:nth-child(2),
.datecards.reveal-ready article:nth-child(2),
.techgrid.reveal-ready a:nth-child(2){transition-delay:.45s!important}
.datecards.reveal-ready article:nth-child(3),
.techgrid.reveal-ready a:nth-child(3){transition-delay:.9s!important}
.datecards.reveal-ready article:nth-child(4),
.techgrid.reveal-ready a:nth-child(4){transition-delay:1.35s!important}
.datecards.reveal-ready article:nth-child(5),
.techgrid.reveal-ready a:nth-child(5){transition-delay:1.8s!important}
@media(max-width:800px){
  .techgrid.mobile-item-reveal a,
  .datecards.mobile-date-reveal article{
    transition-duration:1.15s!important;
    transition-delay:0s!important
  }
}

/* Desktop reveal order: children first on home, painting first on workshops. */
@media(min-width:801px){
  .home-body .split-entry.compact.reveal-ready a:nth-child(1){transition-delay:.45s!important}
  .home-body .split-entry.compact.reveal-ready a:nth-child(2){transition-delay:0s!important}
  body:not(.home-body) .techgrid.reveal-ready a:nth-child(1){transition-delay:1.8s!important}
  body:not(.home-body) .techgrid.reveal-ready a:nth-child(2){transition-delay:1.35s!important}
  body:not(.home-body) .techgrid.reveal-ready a:nth-child(3){transition-delay:.9s!important}
  body:not(.home-body) .techgrid.reveal-ready a:nth-child(4){transition-delay:.45s!important}
body:not(.home-body) .techgrid.reveal-ready a:nth-child(5){transition-delay:0s!important}
}

/* Final placement: principles use the same airy rhythm as the home manifesto. */
.about-values{min-height:390px;margin:0;padding:64px 6vw;align-items:stretch;border:0;background:#fff}
.about-values article{position:relative;min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 6vw;border:0;text-align:center}
.about-values article+article::before{content:"";position:absolute;left:0;top:50%;width:1px;height:170px;background:var(--line);transform:translateY(-50%)}
.about-values b{margin-bottom:27px;font-size:10px;font-weight:500;letter-spacing:.19em}
.about-values h3{margin:0 0 20px;font-size:clamp(28px,3vw,41px);font-weight:300;line-height:1.1;letter-spacing:.01em}
.about-values p{max-width:330px;margin:0;font-size:15px;line-height:1.8}
@media(max-width:800px){
  .about-values{min-height:0;grid-template-columns:1fr;margin:0;padding:48px 24px 54px}
  .about-values article{min-height:205px;padding:38px 20px;border:0}
  .about-values article+article::before{left:50%;top:0;width:76px;height:1px;transform:translateX(-50%)}
  .about-values b{margin-bottom:23px}
  .about-values h3{margin:0 0 16px;font-size:30px}
  .about-values p{max-width:305px}
}

/* Definitive equal spacing around the principle strip. */
.about-story{padding-bottom:40px}
.about-values{min-height:0;padding-top:0;padding-bottom:0}
.about-values article{min-height:220px;padding-top:36px;padding-bottom:36px}
.about-workshops{padding-top:68px}
@media(max-width:800px){
  .about-story{padding-bottom:28px}
  .about-values{padding-top:0;padding-bottom:0}
  .about-values article{min-height:180px;padding-top:32px;padding-bottom:32px}
  .about-workshops{padding-top:48px}
}

/* Definitive compact closing invitation. */
.about-cta{padding-top:62px;padding-bottom:66px}
.about-cta small{margin-bottom:20px}
.about-cta h2{max-width:660px;margin-bottom:30px;font-size:clamp(28px,3.2vw,40px);line-height:1.16;letter-spacing:-.015em}
@media(max-width:800px){
  .about-cta{padding-top:52px;padding-bottom:58px}
  .about-cta small{margin-bottom:18px}
  .about-cta h2{max-width:440px;margin-bottom:27px;font-size:28px;line-height:1.2}
}
/* Jemná úvodní clona skryje doskakování obrázků a rozvržení. */
html.is-loading { overflow: hidden; }
.site-loader { display: none; }
html.is-loading .site-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background: #f4f1e9;
  opacity: 1;
  visibility: visible;
  transition: opacity .36s ease, visibility .36s ease;
}
html.is-ready .site-loader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.site-loader__dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: radial-gradient(circle, #111 0 38%, rgba(17,17,17,.82) 54%, rgba(17,17,17,.28) 73%, transparent 100%);
  box-shadow: none;
  animation: driketa-loader-pulse 1.4s ease-in-out infinite;
}
@keyframes driketa-loader-pulse {
  0%, 100% { opacity: .24; transform: scale(.78); filter: blur(1.4px); }
  50% { opacity: .96; transform: scale(1.06); filter: blur(0); }
}
@media (prefers-reduced-motion: reduce) {
  .site-loader__dot { animation: none; }
  html.is-loading .site-loader { transition-duration: .12s; }
}

/* Původní krémové odstíny, jen nepatrně zesvětlené. */
.choose { background: #fbf9f4; }
.split-entry.compact a:last-child { background: #f5f1e9; }

/* Termíny v detailu workshopu opakují stejný čistý karetní princip jako úvodní stránka. */
.workshop-detail-terms {
  grid-column: 1 / -1;
  width: 100%;
  margin: 76px auto 0;
  padding: 34px 6vw 0;
  box-sizing: border-box;
  border-top: 1px solid var(--line);
}
.detail-terms-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}
.detail-terms-heading small { display: block; margin-bottom: 12px; font-size: 11px; letter-spacing: .14em; }
.detail-terms-heading h3 { margin: 0; font-size: clamp(31px, 3vw, 46px); font-weight: 300; line-height: 1; }
.detail-terms-heading > span { max-width: 320px; color: #6c685f; font-size: 14px; line-height: 1.55; text-align: right; }
.detail-term-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.detail-term-cards article {
  min-width: 0;
  min-height: 178px;
  padding: 24px 22px 21px;
  background: #fff;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.detail-term-cards time,
.detail-term-cards strong { font-size: 15px; font-weight: 500; line-height: 1.45; }
.detail-term-cards span { display: block; margin-top: 10px; color: #6c685f; font-size: 13px; line-height: 1.5; }
.detail-term-cards a {
  margin-top: auto;
  padding-top: 22px;
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.detail-term-cards .term-coming { background: #fbfaf6; }

@media (max-width: 1100px) {
  .detail-term-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .workshop-detail-terms { margin-top: 52px; padding: 26px 24px 0; }
  .detail-terms-heading { display: block; margin-bottom: 24px; }
  .detail-terms-heading > span { display: block; margin-top: 15px; text-align: left; }
  .detail-term-cards { grid-template-columns: 1fr; gap: 10px; }
  .detail-term-cards article { min-height: 136px; padding: 21px 20px 18px; }
}

/* Mobilní menu se skládá postupně shora dolů. */
@media (max-width: 800px) {
  header nav {
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .28s ease, transform .34s ease, visibility 0s linear .48s;
  }
  header nav.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }
  header nav > * {
    opacity: 0;
    transform: translateY(-13px);
    transition: opacity .34s ease, transform .42s cubic-bezier(.22,.61,.36,1);
  }
  header nav.open > * { opacity: 1; transform: translateY(0); }
  header nav.open > :nth-child(1) { transition-delay: .06s; }
  header nav.open > :nth-child(2) { transition-delay: .12s; }
  header nav.open > :nth-child(3) { transition-delay: .18s; }
  header nav.open > :nth-child(4) { transition-delay: .24s; }
  header nav.open > :nth-child(5) { transition-delay: .30s; }
  header nav.open > :nth-child(6) { transition-delay: .36s; }
}

@media (max-width: 800px) and (prefers-reduced-motion: reduce) {
  header nav,
  header nav > * {
    transition: none;
    transform: none;
  }
}

/* Dočasný výřez úvodní fotografie: sklářské pinzety zůstávají hlavním motivem. */
@media (min-width: 801px) {
  .media-hero::before { background-position: 50% 72%; }
}
@media (max-width: 800px) {
  .media-hero::before { background-position: 52% 68%; }
}

/* Rozbalovací informace v detailu workshopu. */
.workshop-article > section.detail-accordion { padding: 0; border-top: 1px solid var(--line); }
@media (min-width: 801px) {
  .workshop-article > section.detail-accordion:first-of-type { margin-top: 46px; }
}
.detail-accordion__toggle {
  width: 100%;
  padding: 30px 48px 30px 0;
  border: 0;
  background: transparent;
  color: inherit;
  position: relative;
  display: block;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.detail-accordion__toggle h3 { margin: 0; }
.detail-accordion__toggle::before,
.detail-accordion__toggle::after {
  content: "";
  width: 15px;
  height: 1px;
  background: currentColor;
  position: absolute;
  top: 50%;
  right: 5px;
  transition: transform .28s ease;
}
.detail-accordion__toggle::after { transform: rotate(90deg); }
.detail-accordion.is-open .detail-accordion__toggle::after { transform: rotate(0); }
.detail-accordion__content {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .38s cubic-bezier(.22,.61,.36,1), opacity .26s ease;
}
.detail-accordion__content-inner { min-height: 0; overflow: hidden; }
.detail-accordion.is-open .detail-accordion__content { grid-template-rows: 1fr; opacity: 1; }
.detail-accordion__content-inner > :first-child { margin-top: 0; }
.detail-accordion__content-inner > :last-child { margin-bottom: 30px; }
@media (max-width: 800px) {
  .detail-accordion__toggle { padding: 24px 42px 24px 0; }
  .detail-accordion__content-inner > :last-child { margin-bottom: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .detail-accordion__content,
  .detail-accordion__toggle::after { transition: none; }
}

/* Sklářský kroužek — obsah z letáku převedený do vizuálního jazyka webu. */
.programs.programs-reveal-ready article {
  opacity: 0;
  transform: translateX(58px);
  transition: opacity 1.15s ease, transform 1.15s cubic-bezier(.22,.61,.36,1);
}
.programs.programs-reveal-ready article:nth-child(1) { transition-delay: 0s; }
.programs.programs-reveal-ready article:nth-child(2) { transition-delay: .55s; }
.programs.programs-reveal-ready article:nth-child(3) { transition-delay: 1.1s; }
.programs.programs-reveal-ready.is-visible article { opacity: 1; transform: translateX(0); }
.kids-club { padding: 120px 4vw; background: #fff; scroll-margin-top: 90px; }
.kids-club__intro {
  max-width: 1180px;
  margin: 0 auto 68px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(50px, 8vw, 120px);
  align-items: start;
}
.kids-club__intro small { display: block; margin-bottom: 24px; font-size: 11px; letter-spacing: .15em; }
.kids-club__intro h2 { margin: 0; font-size: clamp(48px, 6vw, 84px); font-weight: 300; line-height: .96; letter-spacing: -.045em; }
.kids-club__intro p { margin: 0 0 20px; font-size: 17px; line-height: 1.75; }
.kids-club__intro > div:last-child { padding-top: 51px; }
.kids-club__schedule {
  max-width: 1180px;
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: 1.15fr .8fr 1.15fr;
  background: var(--surface-light);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.kids-club__schedule > div { padding: 32px 34px 30px; border-right: 1px solid var(--line); }
.kids-club__schedule > div:last-child { border-right: 0; }
.kids-club__schedule small { display: block; margin-bottom: 20px; font-size: 10px; letter-spacing: .15em; }
.kids-club__schedule h3 { margin: 0 0 14px; font-size: 28px; font-weight: 300; line-height: 1.1; }
.kids-club__schedule p { margin: 7px 0; font-size: 15px; line-height: 1.55; }
.kids-club__schedule a { display: inline-block; margin-top: 18px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 13px; }
.kids-club__date,.kids-club__time { display: flex; align-items: center; gap: 10px; }
.kids-club__date svg,.kids-club__time svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.kids-club__group + .kids-club__group { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--line); }
.kids-club__status { display: inline-block; margin-left: 10px; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .12em; line-height: 1; text-transform: uppercase; vertical-align: middle; }

/* Finální jednotné nastavení animací před publikací. */
@media (min-width:801px){
  .split-entry.compact.reveal-ready a,
  .datecards.reveal-ready article,
  .techgrid.reveal-ready a,
  .programs.programs-reveal-ready article,
  .kids-club__techniques.reveal-ready article,
  .about-values.principles-reveal-ready article{
    opacity:0;
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
  }
  .split-entry.compact.reveal-ready:not(.is-visible) a,
  .home-body .nearest .datecards.reveal-ready:not(.is-visible) article,
  .programs.programs-reveal-ready:not(.is-visible) article,
  .about-values.principles-reveal-ready:not(.is-visible) article{transform:translateX(-54px)!important}
  .techgrid.reveal-ready:not(.is-visible) a,
  .kids-club__techniques.reveal-ready:not(.is-visible) article{transform:translateX(54px)!important}
  .split-entry.compact.reveal-ready.is-visible a,
  .datecards.reveal-ready.is-visible article,
  .techgrid.reveal-ready.is-visible a,
  .programs.programs-reveal-ready.is-visible article,
  .kids-club__techniques.reveal-ready.is-visible article,
  .about-values.principles-reveal-ready.is-visible article{opacity:1;transform:translateX(0)!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(1),.datecards.reveal-ready article:nth-child(1),.techgrid.reveal-ready a:nth-child(1),.programs.programs-reveal-ready article:nth-child(1),.kids-club__techniques.reveal-ready article:nth-child(1),.about-values.principles-reveal-ready article:nth-child(1){transition-delay:0s!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(2),.datecards.reveal-ready article:nth-child(2),.techgrid.reveal-ready a:nth-child(2),.programs.programs-reveal-ready article:nth-child(2),.kids-club__techniques.reveal-ready article:nth-child(2),.about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s!important}
  .datecards.reveal-ready article:nth-child(3),.techgrid.reveal-ready a:nth-child(3),.programs.programs-reveal-ready article:nth-child(3),.kids-club__techniques.reveal-ready article:nth-child(3),.about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .datecards.reveal-ready article:nth-child(4),.techgrid.reveal-ready a:nth-child(4),.kids-club__techniques.reveal-ready article:nth-child(4){transition-delay:1.35s!important}
  .datecards.reveal-ready article:nth-child(5),.techgrid.reveal-ready a:nth-child(5),.kids-club__techniques.reveal-ready article:nth-child(5){transition-delay:1.8s!important}
  .datecards.reveal-ready article:nth-child(6),.techgrid.reveal-ready a:nth-child(6){transition-delay:2.25s!important}
}

/* Publikační pojistka: tato poslední vrstva je jediný výsledný rytmus a směr. */
@media (min-width:801px){
  .split-entry.compact.reveal-ready a,.datecards.reveal-ready article,.techgrid.reveal-ready a,.programs.programs-reveal-ready article,.kids-club__techniques.reveal-ready article,.about-values.principles-reveal-ready article{opacity:0;transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important}
  .split-entry.compact.reveal-ready:not(.is-visible) a,.home-body .nearest .datecards.reveal-ready:not(.is-visible) article,.programs.programs-reveal-ready:not(.is-visible) article,.about-values.principles-reveal-ready:not(.is-visible) article{transform:translateX(-54px)!important}
  .techgrid.reveal-ready:not(.is-visible) a,.kids-club__techniques.reveal-ready:not(.is-visible) article{transform:translateX(54px)!important}
  .split-entry.compact.reveal-ready.is-visible a,.datecards.reveal-ready.is-visible article,.techgrid.reveal-ready.is-visible a,.programs.programs-reveal-ready.is-visible article,.kids-club__techniques.reveal-ready.is-visible article,.about-values.principles-reveal-ready.is-visible article{opacity:1;transform:translateX(0)!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(1),.datecards.reveal-ready article:nth-child(1),.techgrid.reveal-ready a:nth-child(1),.programs.programs-reveal-ready article:nth-child(1),.kids-club__techniques.reveal-ready article:nth-child(1),.about-values.principles-reveal-ready article:nth-child(1){transition-delay:0s!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(2),.datecards.reveal-ready article:nth-child(2),.techgrid.reveal-ready a:nth-child(2),.programs.programs-reveal-ready article:nth-child(2),.kids-club__techniques.reveal-ready article:nth-child(2),.about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s!important}
  .datecards.reveal-ready article:nth-child(3),.techgrid.reveal-ready a:nth-child(3),.programs.programs-reveal-ready article:nth-child(3),.kids-club__techniques.reveal-ready article:nth-child(3),.about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .datecards.reveal-ready article:nth-child(4),.techgrid.reveal-ready a:nth-child(4),.kids-club__techniques.reveal-ready article:nth-child(4){transition-delay:1.35s!important}
  .datecards.reveal-ready article:nth-child(5),.techgrid.reveal-ready a:nth-child(5),.kids-club__techniques.reveal-ready article:nth-child(5){transition-delay:1.8s!important}
  .datecards.reveal-ready article:nth-child(6),.techgrid.reveal-ready a:nth-child(6){transition-delay:2.25s!important}
}
@media (max-width:800px){
  .split-entry.compact.mobile-split-reveal a,.datecards.mobile-date-reveal article,.techgrid.mobile-item-reveal a,.programs.mobile-programs-reveal article,.kids-club__techniques.mobile-kids-reveal article,.about-values.principles-mobile-reveal article{opacity:0!important;transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s!important}
  .split-entry.compact.mobile-split-reveal a,.techgrid.mobile-item-reveal a,.programs.mobile-programs-reveal article,.kids-club__techniques.mobile-kids-reveal article,.about-values.principles-mobile-reveal article{transform:translateX(-76px)!important}
  .datecards.mobile-date-reveal article{transform:translateX(76px)!important}
  .split-entry.compact.mobile-split-reveal a.is-entry-visible,.datecards.mobile-date-reveal article.is-card-visible,.techgrid.mobile-item-reveal a.is-card-visible,.programs.mobile-programs-reveal article.is-card-visible,.kids-club__techniques.mobile-kids-reveal article.is-card-visible,.about-values.principles-mobile-reveal article.is-principle-visible{opacity:1!important;transform:translateX(0)!important}
}
@media (prefers-reduced-motion:reduce){
  .split-entry.compact.reveal-ready a,.datecards.reveal-ready article,.techgrid.reveal-ready a,.programs.programs-reveal-ready article,.kids-club__techniques.reveal-ready article,.about-values.principles-reveal-ready article{opacity:1!important;transform:none!important;transition:none!important}
}
@media (max-width:800px){
  .split-entry.compact.mobile-split-reveal a,
  .datecards.mobile-date-reveal article,
  .techgrid.mobile-item-reveal a,
  .programs.mobile-programs-reveal article,
  .kids-club__techniques.mobile-kids-reveal article,
  .about-values.principles-mobile-reveal article{
    opacity:0!important;
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important;
  }
  .split-entry.compact.mobile-split-reveal a,
  .techgrid.mobile-item-reveal a,
  .programs.mobile-programs-reveal article,
  .kids-club__techniques.mobile-kids-reveal article,
  .about-values.principles-mobile-reveal article{transform:translateX(-76px)!important}
  .datecards.mobile-date-reveal article{transform:translateX(76px)!important}
  .split-entry.compact.mobile-split-reveal a.is-entry-visible,
  .datecards.mobile-date-reveal article.is-card-visible,
  .techgrid.mobile-item-reveal a.is-card-visible,
  .programs.mobile-programs-reveal article.is-card-visible,
  .kids-club__techniques.mobile-kids-reveal article.is-card-visible,
  .about-values.principles-mobile-reveal article.is-principle-visible{opacity:1!important;transform:translateX(0)!important}
}
@media (prefers-reduced-motion:reduce){
  .split-entry.compact.reveal-ready a,.datecards.reveal-ready article,.techgrid.reveal-ready a,.programs.programs-reveal-ready article,.kids-club__techniques.reveal-ready article,.about-values.principles-reveal-ready article{opacity:1!important;transform:none!important;transition:none!important}
}
.kids-club__photos {
  max-width: 1180px;
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.kids-club__photos > div {
  min-height: 0;
  aspect-ratio: 4 / 3;
  padding: 0;
  background: #f5f1e9;
  border: 0;
  overflow: hidden;
  position: relative;
}
.kids-club__photos > div:last-child { background: #fbfaf6; }
.kids-club__photos img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.kids-club__photos > div:first-child img { object-position: 54% 50%; }
.kids-club__photos > div:last-child img { transform: rotate(90deg) scale(1.8); }
.kids-club__photos span { font-size: 11px; letter-spacing: .14em; }
.kids-club__photos small { margin-top: 7px; color: #777168; font-size: 12px; }
.kids-club__techniques {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.kids-club__techniques article {
  min-height: 285px;
  padding: 27px 22px 24px;
  background: #fbfaf6;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-rows: 62px 1fr;
  align-content: start;
}
.kids-club__techniques b { font-size: 12px; font-weight: 400; letter-spacing: .12em; }
.kids-club__techniques h3 { margin: 0 0 17px; font-size: 25px; font-weight: 300; line-height: 1.05; }
.kids-club__techniques p { margin: 0; color: #625e56; font-size: 13px; line-height: 1.65; }
.kids-club__techniques.reveal-ready article {
  opacity: 0;
  transform: translateX(-58px);
  transition: opacity 1.15s ease, transform 1.15s cubic-bezier(.22,.61,.36,1);
}
/* Na počítači stejně jako na domovské stránce: plynule zleva doprava. */
.kids-club__techniques.reveal-ready article:nth-child(1) { transition-delay: 0s; }
.kids-club__techniques.reveal-ready article:nth-child(2) { transition-delay: .55s; }
.kids-club__techniques.reveal-ready article:nth-child(3) { transition-delay: 1.1s; }
.kids-club__techniques.reveal-ready article:nth-child(4) { transition-delay: 1.65s; }
.kids-club__techniques.reveal-ready article:nth-child(5) { transition-delay: 2.2s; }
.kids-club__techniques.reveal-ready.is-visible article { opacity: 1; transform: translateX(0); }
@media (max-width: 1100px) {
  .kids-club__techniques { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .programs.programs-reveal-ready.mobile-programs-reveal article {
    opacity: 0!important;
    transform: translateX(-108px)!important;
    transition: opacity .72s ease, transform .72s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay: 0s!important;
  }
  .programs.programs-reveal-ready.mobile-programs-reveal article.is-card-visible {
    opacity: 1!important;
    transform: translateX(0)!important;
  }
  .kids-club { padding: 80px 20px; }
  .kids-club__intro { grid-template-columns: 1fr; gap: 38px; margin-bottom: 48px; }
  .kids-club__intro > div:last-child { padding-top: 0; }
  .kids-club__schedule { grid-template-columns: 1fr; margin-bottom: 50px; }
  .kids-club__schedule > div { padding: 28px 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .kids-club__schedule > div:last-child { border-bottom: 0; }
  .kids-club__intro h2 { font-size: clamp(44px, 14vw, 64px); }
  .kids-club__intro p { font-size: 16px; }
  .kids-club__photos { grid-template-columns: 1fr; margin-bottom: 50px; }
  .kids-club__photos > div { min-height: 0; }
  .kids-club__photos img { min-height: 0; }
  .kids-club__techniques { grid-template-columns: 1fr; gap: 10px; }
  .kids-club__techniques article { min-height: 210px; grid-template-rows: 48px 1fr; }
  /* Stejný mobilní princip jako termíny na domovské stránce: každá karta až při vstupu do obrazu. */
  .kids-club__techniques.reveal-ready.mobile-kids-reveal article {
    opacity: 0!important;
    transform: translateX(-108px)!important;
    transition: opacity .72s ease, transform .72s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay: 0s!important;
  }
  .kids-club__techniques.reveal-ready.mobile-kids-reveal article.is-card-visible {
    opacity: 1!important;
    transform: translateX(0)!important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .programs.programs-reveal-ready article,
  .kids-club__techniques.reveal-ready article { opacity: 1; transform: none; transition: none; }
}

/* Termíny workshopů — stejná klidná krémová paleta a typografický rytmus jako na stránce Pro školy. */
.workshops-terms { background: #faf8f2; }
.workshops-terms .filters button { background: rgba(255,255,255,.48); }
.workshops-terms .filters button.active { background: #292824; }
.workshops-terms .datecards article { background: #fff; }
.workshops-terms .card-art { height: 260px; background: #f5f1e9; }
.workshops-terms .card-art img { filter: saturate(.72) contrast(.94); }
.workshops-terms .card-art span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 15px 17px;
  background: rgba(250,248,242,.91);
  color: #292824;
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: .14em;
  text-align: left;
  width: auto;
  transform: none;
}
.workshops-terms .datecards article > div:last-child { min-height: 146px; padding: 21px 18px 19px; }
/* Název je už jednou na obrazu; podruhé ho neopakujeme. */
.workshops-terms .datecards h3 { display: none; }
.workshops-terms .datecards small,
.workshops-terms .datecards footer b {
  color: #514d46;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
}
.workshops-terms .datecards footer {
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid var(--line);
  gap: 13px;
}
.workshops-terms .datecards .reservation-link {
  color: #292824;
  font-size: 10px;
  letter-spacing: .11em;
  text-transform: uppercase;
}
@media (max-width: 800px) {
  .workshops-terms .card-art { height: 235px; }
  .workshops-terms .datecards article > div:last-child { min-height: 132px; }
}

/* Workshopy: stejné klidné střídání barevných ploch jako na stránce Pro školy. */
.corporate-events { min-height: 0; align-items: center; background: #fff; }
.corporate-events .private-copy { background: #fff; }
.corporate-events .private-visual { min-height: 0; aspect-ratio: 4 / 3; background: #f5f1e9; }
.corporate-events .private-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  filter: saturate(.58) contrast(.94) brightness(1.03);
}
.corporate-events + .soft { background: #f4f0e8; }
.private-visual--people img{display:block;width:100%;height:100%;min-height:720px;object-fit:cover;object-position:54% center;filter:saturate(.72) contrast(.94) brightness(1.03)}
@media(max-width:850px){.private-visual--people img{min-height:480px;object-position:center}}

/* Jednotná finální paleta: bílá + odstíny obou domovských rozcestníků. */
:root{--surface-white:#fff;--surface-light:#fbfaf6;--surface-warm:#f5f1e9;--cream:var(--surface-white);--pink:var(--surface-light);--blue:var(--surface-warm);--lime:var(--surface-light)}
body,header,.manifest,.nearest,.private-events,.private-copy,.kids-club,.about-story,.about-values{background:var(--surface-white)}
.choose,.listing,.firsttime,.about-main,.about-workshops,.split-entry.compact a:first-child{background:var(--surface-light)}
.workshop-hero,.subhero.school,.schoolnote,.soft,.about-cta,.split-entry.compact a:last-child,.summary{background:var(--surface-warm)!important}
.private-visual,.corporate-events .private-visual,.kids-club__photos>div,.kids-club__techniques article,.datecards .card-art{background:var(--surface-warm)}

/* Původní fotografie bez generovaných prvků; ořez drží obličeje v horní části. */
.private-visual--people img{object-position:50% 24%;filter:saturate(.72) contrast(.94) brightness(1.03)}
.home-body .datecards .tiffany-art.photo-art img{filter:none}
.home-body .datecards .tiffany-art.photo-art::after{display:none}
@media(max-width:850px){.private-visual--people img{object-position:50% 24%}}

/* Původní úzký výřez: ruce zůstávají a pravá tvář je jen naznačená. */
.home-body .private-events{grid-template-columns:54% 46%;min-height:660px;padding:0}
.home-body .private-events .private-copy{padding-top:80px;padding-bottom:80px}
.private-visual--people{aspect-ratio:auto;align-self:stretch;min-height:660px}
.private-visual--people img,.corporate-events .private-visual--people img{min-height:660px;object-position:61% 27%}
.corporate-events .private-visual--people{aspect-ratio:4/3;min-height:0;align-self:center}
.corporate-events .private-visual--people img{min-height:0;object-position:61% 27%}

/* Původní formát termínů, pouze s klidnější a jednotnou typografií. */
.home-body .nearest{padding-top:105px;padding-bottom:105px}
.home-body .nearest .sectionhead{margin-bottom:52px}
.home-body .nearest .filters{margin:-10px 0 38px}
.home-body .nearest .datecards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:none}
.home-body .nearest .datecards article{border:0;background:var(--surface-white)}
.home-body .nearest .card-art{height:250px;aspect-ratio:auto}
.home-body .nearest .photo-art span{left:0;right:0;bottom:0;display:flex;min-height:48px;align-items:center;justify-content:center;padding:12px 14px;background:rgba(27,28,25,.68);color:#fff;font-size:10px;font-weight:400;line-height:1.25;letter-spacing:.14em;text-align:center;text-shadow:none}
.home-body .nearest .datecards article>div:last-child{min-height:178px;padding:19px 18px 18px}
.home-body .nearest .datecards article>div:last-child>small{display:block;min-height:38px;margin:0;color:#625e56;font-size:13px;font-weight:400;line-height:1.55;letter-spacing:0}
.home-body .nearest .datecards h3{display:block;margin:9px 0 17px;font-size:19px;font-weight:300;line-height:1.25;letter-spacing:-.01em}
.home-body .nearest .datecards footer{margin-top:auto;padding-top:13px;gap:10px;border-top:1px solid var(--line)}
.home-body .nearest .datecards footer b,.home-body .nearest .datecards footer a,.home-body .nearest .datecards footer button{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:400;line-height:1.35}
.home-body .nearest .datecards footer a,.home-body .nearest .datecards footer button{margin-left:auto}
.home-body .nearest .datecards footer .reservation-link,.home-body .nearest .datecards footer button[data-book]{font-size:13px;font-weight:600}
.home-body .nearest .kahany-photo>span{position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;margin:0!important;transform:none!important;box-sizing:border-box!important;z-index:5!important;text-align:center!important}
.home-body .nearest .tiffany-art.photo-art img{filter:brightness(1.08) saturate(.52) contrast(.9) sepia(.04)}
.home-body .nearest .tiffany-art.photo-art::after{content:"";display:block;position:absolute;inset:0;background:rgba(245,241,233,.1);pointer-events:none}
@media(max-width:1200px){.home-body .nearest .datecards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.home-body .nearest .datecards{grid-template-columns:1fr}}
@media(max-width:650px){.home-body .private-events{grid-template-columns:1fr;min-height:0}.home-body .private-events .private-copy{padding-top:70px;padding-bottom:70px}.private-visual--people{width:100%;min-height:0;aspect-ratio:4/3}.private-visual--people img{min-height:0;object-position:58% 28%}.home-body .nearest .card-art{height:auto;aspect-ratio:16/10}.home-body .nearest .datecards article>div:last-child{min-height:0}}
@media (max-width: 850px) {
  .corporate-events .private-visual { min-height: 0; }
  .corporate-events .private-visual img { min-height: 0; }
}

/* Šest workshopových cest včetně pravidelného kroužku pro dospělé. */
body:not(.home-body) .choose .techgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
body:not(.home-body) .choose .techgrid>#allin h3{font-size:26px;line-height:1.3;letter-spacing:-.015em}
.allin-schedule{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:5vw;align-items:center;max-width:1280px;margin:0 auto}
.allin-schedule-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px 0}
.allin-schedule-copy small{margin-bottom:18px}.allin-schedule-copy h3{margin:0 0 22px;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08}.allin-schedule-copy p{margin:0 0 8px}.allin-schedule-copy strong{font-size:15px;font-weight:500;letter-spacing:.04em}
.allin-meta{display:grid;grid-template-columns:repeat(2,max-content);gap:14px 34px;margin:2px 0 8px}
.allin-meta>div{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.5}
.allin-meta svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.allin-meta .allin-note{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin:2px 0 0;color:#68645c;font-size:13px}
.allin-note>span{display:inline-grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:600}
.allin-booking{display:flex;align-items:baseline;justify-content:space-between;gap:24px;width:100%;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.allin-booking a{flex:0 0 auto;border-bottom:1px solid currentColor;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.detail-term-cards article.bookable-card{cursor:pointer}
.detail-term-cards article.bookable-card:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.allin-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:145px 145px;gap:8px;overflow:hidden}.allin-collage img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(.94) brightness(1.04)}
@media(max-width:800px){body:not(.home-body) .choose .techgrid{grid-template-columns:1fr}.allin-schedule{grid-template-columns:1fr;gap:28px}.allin-schedule-copy{padding:0}.allin-meta{grid-template-columns:1fr;gap:12px}.allin-meta .allin-note{grid-column:auto}.allin-collage{grid-template-rows:125px 125px}.allin-booking{align-items:flex-start;flex-direction:column;gap:15px}}

/* Verze 168: datum, začátek a délka drží společnou osu v každé kartě. */
html body.home-body .nearest .datecards .term-when{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:22px!important;
  min-height:24px!important;
  line-height:1.25!important;
}
html body.home-body .nearest .datecards .term-when>span{
  display:flex;
  align-items:center;
  min-height:24px;
  margin:0;
  white-space:nowrap;
}
html body.home-body .nearest .datecards .term-time{justify-self:center!important;text-align:center!important}
html body.home-body .nearest .datecards .term-duration{justify-self:end!important;text-align:right!important}
@media(max-width:650px){
  html body.home-body .nearest .datecards .term-when{column-gap:10px!important;font-size:13px!important}
}

/* Jednotné pořadí animace: na počítači zleva doprava po řádcích. */
@media(min-width:801px){
  .techgrid.reveal-ready a:nth-child(1),.datecards.reveal-ready article:nth-child(1){transition-delay:0s!important}
  .techgrid.reveal-ready a:nth-child(2),.datecards.reveal-ready article:nth-child(2){transition-delay:.45s!important}
  .techgrid.reveal-ready a:nth-child(3),.datecards.reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .techgrid.reveal-ready a:nth-child(4),.datecards.reveal-ready article:nth-child(4){transition-delay:1.35s!important}
  .techgrid.reveal-ready a:nth-child(5),.datecards.reveal-ready article:nth-child(5){transition-delay:1.8s!important}
  .techgrid.reveal-ready a:nth-child(6),.datecards.reveal-ready article:nth-child(6){transition-delay:2.25s!important}
}

/* Na mobilu se každá karta odhalí až ve stejné části obrazovky a stejnou rychlostí. */
@media(max-width:800px){
  .techgrid.reveal-ready.mobile-item-reveal a{
    opacity:0!important;
    transform:translateX(-44px)!important;
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important
  }
  .techgrid.reveal-ready.mobile-item-reveal a.is-card-visible{
    opacity:1!important;
    transform:translateX(0)!important
  }
}

/* Verze 141: jednotné fotografické úvody a bezokrajová galerie kahanu. */
.school-hero{min-height:610px;padding:46px 6vw 52px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:6vw;align-items:center}
.school-hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.school-hero h1{margin:22px 0}
.school-hero .dark{margin-top:26px}
.school-hero-media,.workshop-hero-media{margin:0;width:100%;aspect-ratio:4/3;padding:0;background:transparent;overflow:hidden}
.school-hero-media img,.workshop-hero-media img{display:block;width:100%;height:100%;object-fit:cover;border:0}
.school-hero-media img{object-position:center 48%;filter:saturate(.68) contrast(.92) brightness(1.04)}
.workshop-hero-media img:first-child{object-position:center 46%;filter:saturate(.60) contrast(.92) brightness(1.05)}
.kahany-gallery .tiffany-gallery-window,.kahany-gallery .gallery-item{background:transparent}
.kahany-gallery .gallery-item img{width:100%;height:100%;object-fit:cover;border:0;padding:0}
.kahany-gallery .gallery-item:nth-child(1) img,.kahany-gallery .gallery-item:nth-child(5) img{object-position:center 53%}
.kahany-gallery .gallery-item:nth-child(2) img{object-position:center 49%}
.kahany-gallery .gallery-item:nth-child(3) img{object-position:center 62%}
.kahany-gallery .gallery-item:nth-child(4) img{object-position:center 50%}
@media(max-width:800px){
  .school-hero{min-height:0;padding:34px 24px 42px;grid-template-columns:1fr;gap:32px}
  .school-hero-media{aspect-ratio:4/3}
  .school-hero-media img{object-position:center 46%}
}

/* Verze 142: pořadí workshopů je shodné s pořadím animace. */
@media(min-width:801px){
  body:not(.home-body) .choose .techgrid.reveal-ready a:nth-child(1){transition-delay:0s!important}
  body:not(.home-body) .choose .techgrid.reveal-ready a:nth-child(2){transition-delay:.45s!important}
  body:not(.home-body) .choose .techgrid.reveal-ready a:nth-child(3){transition-delay:.9s!important}
  body:not(.home-body) .choose .techgrid.reveal-ready a:nth-child(4){transition-delay:1.35s!important}
  body:not(.home-body) .choose .techgrid.reveal-ready a:nth-child(5){transition-delay:1.8s!important}
  body:not(.home-body) .choose .techgrid.reveal-ready a:nth-child(6){transition-delay:2.25s!important}
}

/* Verze 143: detail rukou a pracovní plochy v úvodu workshopů. */
.workshop-hero-media img:first-child{
  object-position:center 76%;
  transform:scale(1.34);
  transform-origin:center 76%;
}
@media(max-width:800px){
  .workshop-hero-media img:first-child{
    object-position:center 74%;
    transform:scale(1.24);
    transform-origin:center 74%;
  }
}

/* Finální společný rytmus animací: stejný okamžik, rychlost a pořadí na všech stránkách. */
@media(min-width:801px){
  .split-entry.compact.reveal-ready a,
  .datecards.reveal-ready article,
  .techgrid.reveal-ready a,
  .programs.programs-reveal-ready article,
  .kids-club__techniques.reveal-ready article,
  .about-values.principles-reveal-ready article{
    opacity:0;
    transform:translateX(-54px);
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
  }
  .split-entry.compact.reveal-ready.is-visible a,
  .datecards.reveal-ready.is-visible article,
  .techgrid.reveal-ready.is-visible a,
  .programs.programs-reveal-ready.is-visible article,
  .kids-club__techniques.reveal-ready.is-visible article,
  .about-values.principles-reveal-ready.is-visible article{opacity:1;transform:translateX(0)}
  .split-entry.compact.reveal-ready :is(a):nth-child(1),
  .datecards.reveal-ready article:nth-child(1),
  .techgrid.reveal-ready a:nth-child(1),
  .programs.programs-reveal-ready article:nth-child(1),
  .kids-club__techniques.reveal-ready article:nth-child(1),
  .about-values.principles-reveal-ready article:nth-child(1){transition-delay:0s!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(2),
  .datecards.reveal-ready article:nth-child(2),
  .techgrid.reveal-ready a:nth-child(2),
  .programs.programs-reveal-ready article:nth-child(2),
  .kids-club__techniques.reveal-ready article:nth-child(2),
  .about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s!important}
  .datecards.reveal-ready article:nth-child(3),.techgrid.reveal-ready a:nth-child(3),.programs.programs-reveal-ready article:nth-child(3),.kids-club__techniques.reveal-ready article:nth-child(3),.about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .datecards.reveal-ready article:nth-child(4),.techgrid.reveal-ready a:nth-child(4),.kids-club__techniques.reveal-ready article:nth-child(4){transition-delay:1.35s!important}
  .datecards.reveal-ready article:nth-child(5),.techgrid.reveal-ready a:nth-child(5),.kids-club__techniques.reveal-ready article:nth-child(5){transition-delay:1.8s!important}
  .datecards.reveal-ready article:nth-child(6),.techgrid.reveal-ready a:nth-child(6){transition-delay:2.25s!important}
}

/* Finální odstín sekce soukromých akcí na stránce workshopů. */
html body.workshops-body .workshops-private,
html body.workshops-body .workshops-private .private-copy{
  background:var(--surface-light)!important;
}

/* Detail navazuje na přehled jedním odstupem, bez prázdného mezibloku. */
html body.workshops-body .workshop-detail-terms{
  margin-top:0!important;
  border-top:0;
}

/* Bílý přehled technik zřetelně odděluje následující světle béžovou sekci. */
html body.workshops-body .workshop-hero + .choose{
  background:var(--surface-white)!important;
}

/* Verze 193: jednotná výchozí linka popisů v přehledu technik. */
@media(min-width:1001px){
  .home-body .choose .techgrid h3{
    min-height:72px;
    display:flex;
    align-items:flex-start;
    margin-bottom:15px;
  }
  .home-body .choose .techgrid p{margin-top:0}
}

/* Verze 192b: finální výřez nové fotografie v úvodu Pro školy. */
html body .school-hero .school-hero-media img{
  object-position:center 48%!important;
  transform:scale(1.03)!important;
  transform-origin:center!important;
  filter:brightness(1.05) saturate(.64) contrast(.92)!important;
}
@media(max-width:800px){
  html body .school-hero .school-hero-media img{
    object-position:center 46%!important;
    transform:scale(1.08)!important;
  }
}

/* Verze 192: úvod Pro školy – děti společně malují na sklo. */
.school-hero-media img{
  object-position:center 48%;
  transform:scale(1.03);
  transform-origin:center;
  filter:brightness(1.05) saturate(.64) contrast(.92);
}
@media(max-width:800px){
  .school-hero-media img{
    object-position:center 46%;
    transform:scale(1.08);
    transform-origin:center;
  }
}

/* Verze 191: bližší výřez Tiffany bez opakující se zástěry. */
html body.home-body .nearest .tiffany-art.photo-art img{
  object-position:center 78%;
  transform:scale(1.27);
  transform-origin:center 78%;
}
html body.home-body .nearest article.bookable-card:hover .tiffany-art.photo-art img{
  transform:scale(1.29);
}
.tiffany-detail .tiffany-gallery .gallery-item img{
  object-position:center 76%;
  transform:scale(1.22);
  transform-origin:center 76%;
}
@media(max-width:650px){
  html body.home-body .nearest .tiffany-art.photo-art img{
    object-position:center 76%;
    transform:scale(1.22);
  }
  html body.home-body .nearest article.bookable-card:hover .tiffany-art.photo-art img{
    transform:scale(1.22);
  }
  .tiffany-detail .tiffany-gallery .gallery-item img{
    object-position:center 74%;
    transform:scale(1.18);
  }
}

/* Verze 168b: finální přepsání osy údajů po všech starších variantách. */
html body.home-body .nearest .datecards .term-when{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:22px!important;
  min-height:24px!important;
  line-height:1.25!important;
}
html body.home-body .nearest .datecards .term-when>span{
  display:flex!important;
  align-items:center!important;
  min-height:24px!important;
  margin:0!important;
  white-space:nowrap!important;
}
html body.home-body .nearest .datecards .term-time{justify-self:center!important;text-align:center!important}
html body.home-body .nearest .datecards .term-duration{justify-self:end!important;text-align:right!important}
@media(max-width:650px){
  html body.home-body .nearest .datecards .term-when{column-gap:10px!important;font-size:13px!important}
}

/* Verze 162: tři skutečně oddělené údaje od levého až k pravému okraji karty. */
.home-body .nearest .datecards .term-when{
  display:grid!important;
  grid-template-columns:max-content max-content minmax(0,1fr)!important;
  column-gap:28px!important;
  width:100%!important;
}
.home-body .nearest .datecards .term-when span:nth-child(1){justify-self:start;text-align:left}
.home-body .nearest .datecards .term-when span:nth-child(2){justify-self:start;text-align:left}
.home-body .nearest .datecards .term-when span:nth-child(3){justify-self:end;text-align:right}
@media(max-width:650px){
  .home-body .nearest .datecards .term-when{
    column-gap:18px!important;
  }
}

/* Verze 163: rezervace lícuje s pravým okrajem délky workshopu. */
html body.home-body .nearest .datecards footer .reservation-link,
html body.home-body .nearest .datecards footer button[data-book]{
  margin-left:auto!important;
  text-align:right;
}

/* Verze 165: kalendářní hierarchie inspirovaná přehledností Topka, v našem stylu. */
.home-body .nearest .datecards .term-when{
  grid-template-columns:minmax(0,1fr) max-content max-content!important;
  align-items:center;
  column-gap:24px!important;
  font-size:16px;
}
.home-body .nearest .term-date{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:0;
  white-space:nowrap;
}
.home-body .nearest .term-calendar{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-body .nearest .term-time{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:8px;
  white-space:nowrap;
  color:#4f4c46;
}
.home-body .nearest .term-clock{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-body .nearest .term-time--weekday{margin-left:16px}
.home-body .nearest .datecards article[data-type="allin"] .term-when{
  grid-template-columns:max-content max-content max-content!important;
  justify-content:space-between;
  column-gap:9px!important;
}
.home-body .nearest .datecards article[data-type="allin"] .term-time--weekday{
  margin-left:0;
}
.home-body .nearest .term-duration{justify-self:end;white-space:nowrap;text-align:right}
@media(max-width:650px){
  .home-body .nearest .datecards .term-when{
    grid-template-columns:minmax(0,1fr) max-content max-content!important;
    column-gap:12px!important;
    font-size:14px;
  }
  .home-body .nearest .term-date{gap:7px}
  .home-body .nearest .term-calendar{width:15px;height:15px;flex-basis:15px}
  .home-body .nearest .term-time{gap:7px;margin-left:5px}
  .home-body .nearest .term-time--weekday{margin-left:10px}
  .home-body .nearest .datecards article[data-type="allin"] .term-when{
    grid-template-columns:1fr!important;
    justify-content:start;
    row-gap:9px;
  }
  .home-body .nearest .datecards article[data-type="allin"] .term-time--weekday,
  .home-body .nearest .datecards article[data-type="allin"] .term-duration{
    margin-left:22px;
    justify-self:start;
    text-align:left;
  }
  .home-body .nearest .term-clock{width:15px;height:15px;flex-basis:15px}
}
@media(max-width:800px){
  .split-entry.compact.mobile-split-reveal a,
  .datecards.mobile-date-reveal article,
  .techgrid.mobile-item-reveal a,
  .programs.mobile-programs-reveal article,
  .kids-club__techniques.mobile-kids-reveal article,
  .about-values.principles-mobile-reveal article{
    opacity:0!important;
    transform:translateX(-108px)!important;
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important;
  }
  .split-entry.compact.mobile-split-reveal a.is-entry-visible,
  .datecards.mobile-date-reveal article.is-card-visible,
  .techgrid.mobile-item-reveal a.is-card-visible,
  .programs.mobile-programs-reveal article.is-card-visible,
  .kids-club__techniques.mobile-kids-reveal article.is-card-visible,
  .about-values.principles-mobile-reveal article.is-principle-visible{opacity:1!important;transform:translateX(0)!important}
  .tiffany-gallery,.kahany-gallery{transition-duration:1.15s!important}
}
@media(prefers-reduced-motion:reduce){
  .split-entry.compact a,.datecards article,.techgrid a,.programs article,.kids-club__techniques article,.about-values article{opacity:1!important;transform:none!important;transition:none!important}
}

/* Výraznější černý střed, okraj se přitom stále jemně ztrácí. */
.site-loader__dot{
  width:28px;
  height:28px;
  background:radial-gradient(circle,#000 0 43%,rgba(0,0,0,.92) 54%,rgba(0,0,0,.38) 72%,transparent 100%);
  box-shadow:0 0 12px rgba(0,0,0,.12);
  animation-duration:1.3s;
}
@keyframes driketa-loader-pulse{
  0%,100%{opacity:.52;transform:scale(.8);filter:blur(1.1px)}
  50%{opacity:1;transform:scale(1.08);filter:blur(0)}
}

/* Verze 154: cena, počet míst a rezervace tvoří jeden klidný informační řádek. */
.home-body .nearest .datecards footer{
  justify-content:flex-start;
  align-items:baseline;
  flex-wrap:nowrap;
  column-gap:18px;
}
.home-body .nearest .datecards footer .reservation-link,
.home-body .nearest .datecards footer button[data-book]{margin-left:0}
.home-body .nearest .datecards footer b,
.home-body .nearest .datecards footer a,
.home-body .nearest .datecards footer button,
.home-body .nearest .datecards footer .reservation-link,
.home-body .nearest .datecards footer button[data-book]{font-size:18px}
@media(max-width:800px){
  .home-body .nearest .datecards{
    row-gap:44px;
  }
  .home-body .nearest .datecards article{
    margin:0;
  }
  .home-body .nearest .datecards article>div:last-child{
    padding-bottom:22px;
  }
  .home-body .nearest .datecards footer{
    justify-content:flex-start;
    flex-wrap:nowrap;
    column-gap:16px;
  }
  .home-body .nearest .datecards footer b,
  .home-body .nearest .datecards footer a,
  .home-body .nearest .datecards footer button,
  .home-body .nearest .datecards footer .reservation-link,
  .home-body .nearest .datecards footer button[data-book]{font-size:17px}
}

/* Verze 147: sjednocení soukromých akcí a jemnější fotografické výřezy. */
.workshop-hero-media img:first-child{
  object-position:center 52%;
  transform:none;
  transform-origin:center;
  filter:brightness(1.06) saturate(.58) contrast(.9) sepia(.03);
}
.workshops-private{grid-template-columns:54% 46%;min-height:660px;padding:0;background:#fff}
.workshops-private .private-copy{padding-top:80px;padding-bottom:80px;background:#fff}
.workshops-private .private-visual--people{aspect-ratio:auto;align-self:stretch;min-height:660px}
.workshops-private .private-visual--people img{min-height:660px;object-position:61% 27%;filter:saturate(.72) contrast(.94) brightness(1.03)}
.school-hero-media img{
  object-position:center 27%;
  transform:scale(1.17);
  transform-origin:center 27%;
}
@media(max-width:850px){
  .workshops-private{grid-template-columns:1fr;min-height:0}
  .workshops-private .private-copy{padding-top:70px;padding-bottom:70px}
  .workshops-private .private-visual--people{width:100%;min-height:0;aspect-ratio:4/3}
  .workshops-private .private-visual--people img{min-height:0;object-position:58% 28%}
}
@media(max-width:800px){
  .workshop-hero-media img:first-child{object-position:center 52%;transform:none;transform-origin:center}
  .school-hero-media img{object-position:center 25%;transform:scale(1.14);transform-origin:center 25%}
}

/* Verze 149: těsnější výřez dětí, barevnost zůstává beze změny. */
.school-hero-media img{
  object-position:center 18%;
  transform:scale(1.36);
  transform-origin:center 18%;
}
@media(max-width:800px){
  .school-hero-media img{
    object-position:center 19%;
    transform:scale(1.27);
    transform-origin:center 19%;
  }
}

/* Verze 161: střídají se celé sekce, nikdy jednotlivé řádky uvnitř sekce. */
@media(min-width:801px){
  /* První skupiny na stránkách přijíždějí celé zleva. */
  .split-entry.compact.reveal-ready:not(.is-visible) a,
  .home-body .nearest .datecards.reveal-ready:not(.is-visible) article,
  body:not(.home-body) .choose .techgrid.reveal-ready:not(.is-visible) a,
  .programs.programs-reveal-ready:not(.is-visible) article,
  .about-values.principles-reveal-ready:not(.is-visible) article{
    transform:translateX(-54px)!important;
  }

  /* Následující skupiny přijíždějí celé zprava. */
  .home-body .choose .techgrid.reveal-ready:not(.is-visible) a,
  .kids-club__techniques.reveal-ready:not(.is-visible) article{
    transform:translateX(54px)!important;
  }

  /* Uvnitř každé sekce zůstává jedno společné, plynulé pořadí. */
  .split-entry.compact.reveal-ready :is(a):nth-child(1),
  .datecards.reveal-ready article:nth-child(1),
  .techgrid.reveal-ready a:nth-child(1),
  .programs.programs-reveal-ready article:nth-child(1),
  .kids-club__techniques.reveal-ready article:nth-child(1),
  .about-values.principles-reveal-ready article:nth-child(1){transition-delay:0s!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(2),
  .datecards.reveal-ready article:nth-child(2),
  .techgrid.reveal-ready a:nth-child(2),
  .programs.programs-reveal-ready article:nth-child(2),
  .kids-club__techniques.reveal-ready article:nth-child(2),
  .about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s!important}
  .datecards.reveal-ready article:nth-child(3),.techgrid.reveal-ready a:nth-child(3),.programs.programs-reveal-ready article:nth-child(3),.kids-club__techniques.reveal-ready article:nth-child(3),.about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .datecards.reveal-ready article:nth-child(4),.techgrid.reveal-ready a:nth-child(4),.kids-club__techniques.reveal-ready article:nth-child(4){transition-delay:1.35s!important}
  .datecards.reveal-ready article:nth-child(5),.techgrid.reveal-ready a:nth-child(5),.kids-club__techniques.reveal-ready article:nth-child(5){transition-delay:1.8s!important}
  .datecards.reveal-ready article:nth-child(6),.techgrid.reveal-ready a:nth-child(6){transition-delay:2.25s!important}
}

/* Verze 150: termín je hlavní informace, název se pod fotografií neopakuje. */
.home-body .nearest .datecards article>div:last-child{min-height:132px;padding-top:20px}
.home-body .nearest .datecards article>div:last-child>small{
  min-height:42px;
  color:var(--ink);
  font-weight:600;
  line-height:1.55;
}
.home-body .nearest .datecards h3{display:none}
.home-body .nearest .datecards footer{margin-top:auto}
@media(max-width:650px){
  .home-body .nearest .datecards article>div:last-child{min-height:124px}
}

/* Verze 151: jednoduchý dvouřádkový přehled termínu. */
.home-body .nearest .datecards article>div:last-child{min-height:154px;padding:22px 18px 18px}
.home-body .nearest .datecards .term-when{
  display:flex;
  justify-content:space-between;
  gap:18px;
  min-height:58px;
  margin:0;
  color:var(--ink);
  font-size:19px;
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.01em;
  text-transform:none;
}
.home-body .nearest .datecards .term-when span:last-child{text-align:right}
.home-body .nearest .datecards footer{padding-top:16px}
.home-body .nearest .datecards footer b,
.home-body .nearest .datecards footer a,
.home-body .nearest .datecards footer button,
.home-body .nearest .datecards footer .reservation-link,
.home-body .nearest .datecards footer button[data-book]{font-size:19px;line-height:1.35}
.home-body .nearest .datecards footer b{font-weight:400}
.home-body .nearest .datecards footer .reservation-link,
.home-body .nearest .datecards footer button[data-book]{font-weight:600}
@media(max-width:650px){
  .home-body .nearest .datecards .term-when{font-size:18px;gap:14px}
  .home-body .nearest .datecards footer b,
  .home-body .nearest .datecards footer a,
  .home-body .nearest .datecards footer button,
  .home-body .nearest .datecards footer .reservation-link,
  .home-body .nearest .datecards footer button[data-book]{font-size:18px}
}

/* Verze 152: náušnice v kartě sklářského kahanu. */
.home-body .nearest .card-art.kahany-photo img{object-position:center 53%}
@media(max-width:650px){.home-body .nearest .card-art.kahany-photo img{object-position:center 50%}}

/* Verze 157: datum, začátek a délka mají vlastní jasně oddělené pozice. */
.home-body .nearest .datecards .term-when{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  column-gap:28px;
  width:100%;
  font-size:18px;
}
.home-body .nearest .datecards .term-when span:nth-child(2){text-align:center}
.home-body .nearest .datecards .term-when span:last-child{text-align:right}
.home-body .nearest .datecards footer{
  display:flex;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:18px!important;
}
.home-body .nearest .datecards footer .reservation-link,
.home-body .nearest .datecards footer button[data-book]{margin-left:0!important}
@media(max-width:650px){
  .home-body .nearest .datecards .term-when{
    grid-template-columns:auto 1fr auto;
    column-gap:18px;
    font-size:16px;
  }
  .home-body .nearest .datecards footer{gap:16px!important}
}

/* Verze 158: černý bod s oddělenou pulzující černou září. */
.site-loader__dot{
  position:relative;
  display:block;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#000;
  box-shadow:0 1px 2px rgba(0,0,0,.28);
  filter:none;
  animation:driketa-loader-core 1.35s ease-in-out infinite!important;
}
.site-loader__dot::before{
  content:"";
  position:absolute;
  inset:-17px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,0,0,.48) 0,rgba(0,0,0,.25) 34%,rgba(0,0,0,.09) 58%,transparent 76%);
  filter:blur(3px);
  animation:driketa-loader-glow 1.35s ease-in-out infinite!important;
}
@keyframes driketa-loader-core{
  0%,100%{opacity:.72;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.08)}
}
@keyframes driketa-loader-glow{
  0%,100%{opacity:.2;transform:scale(.78)}
  50%{opacity:.9;transform:scale(1.12)}
}
@media(prefers-reduced-motion:reduce){
  .site-loader__dot{animation:driketa-loader-core 1.8s ease-in-out infinite!important}
  .site-loader__dot::before{animation:driketa-loader-glow 1.8s ease-in-out infinite!important}
}

/* Verze 159: na počítači se řádky střídají zleva a zprava, rytmus zůstává společný. */
@media(min-width:801px){
  /* Druhý řádek třísloupcových přehledů přijíždí zprava. */
  .datecards.reveal-ready:not(.is-visible) article:nth-child(n+4),
  .techgrid.reveal-ready:not(.is-visible) a:nth-child(n+4){transform:translateX(54px)}

  /* Horní řádek: zleva doprava. */
  .datecards.reveal-ready article:nth-child(1),
  .techgrid.reveal-ready a:nth-child(1){transition-delay:0s!important}
  .datecards.reveal-ready article:nth-child(2),
  .techgrid.reveal-ready a:nth-child(2){transition-delay:.45s!important}
  .datecards.reveal-ready article:nth-child(3),
  .techgrid.reveal-ready a:nth-child(3){transition-delay:.9s!important}

  /* Dolní řádek: zprava doleva, ale stejnou rychlostí a se stejným krokem. */
  .datecards.reveal-ready article:nth-child(6),
  .techgrid.reveal-ready a:nth-child(6){transition-delay:1.35s!important}
  .datecards.reveal-ready article:nth-child(5),
  .techgrid.reveal-ready a:nth-child(5){transition-delay:1.8s!important}
  .datecards.reveal-ready article:nth-child(4),
  .techgrid.reveal-ready a:nth-child(4){transition-delay:2.25s!important}

  /* Spodní skupiny na dalších stránkách navazují opačným směrem. */
  .kids-club__techniques.reveal-ready:not(.is-visible) article,
  .about-values.principles-reveal-ready:not(.is-visible) article{transform:translateX(54px)}
  .kids-club__techniques.reveal-ready article:nth-child(5){transition-delay:0s!important}
  .kids-club__techniques.reveal-ready article:nth-child(4){transition-delay:.45s!important}
  .kids-club__techniques.reveal-ready article:nth-child(3),
  .about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .kids-club__techniques.reveal-ready article:nth-child(2),
  .about-values.principles-reveal-ready article:nth-child(2){transition-delay:1.35s!important}
  .kids-club__techniques.reveal-ready article:nth-child(1),
  .about-values.principles-reveal-ready article:nth-child(1){transition-delay:1.8s!important}
}

/* Verze 160: každý termín je jeden jasně ohraničený a kompaktní celek. */
.home-body .nearest .datecards{
  column-gap:20px;
  row-gap:64px;
}
.home-body .nearest .datecards article{
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--surface-light);
}
.home-body .nearest .datecards article>div:last-child{
  min-height:0;
  padding:19px 20px 20px;
  background:var(--surface-light);
}
.home-body .nearest .datecards .term-when{
  min-height:0;
  padding-bottom:17px;
}
.home-body .nearest .datecards footer{
  margin-top:0;
  padding-top:17px;
  border-top:1px solid var(--line);
}
@media(max-width:800px){
  .home-body .nearest .datecards{
    row-gap:54px;
  }
  .home-body .nearest .datecards article>div:last-child{
    padding:18px 19px 20px;
  }
}

/* Verze 146: výřez bez hlav, soustředěný na ruce a práci. */
.workshop-hero-media img:first-child{
  object-position:center 92%;
  transform:scale(1.66);
  transform-origin:center 92%;
}
@media(max-width:800px){
  .workshop-hero-media img:first-child{
    object-position:center 88%;
    transform:scale(1.5);
    transform-origin:center 88%;
  }
}

/* Verze 144: karta kahanu na domovské stránce bez světlých bočních lemů. */
.home-body .nearest .card-art.kahany-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  padding:0;
  border:0;
}
@media(max-width:650px){
  .home-body .nearest .card-art.kahany-photo img{object-position:center 48%}
}

/* Verze 145: těsnější detail lidí a rukou v úvodu workshopů. */
.workshop-hero-media img:first-child{
  object-position:center 78%;
  transform:scale(1.5);
  transform-origin:center 78%;
}
@media(max-width:800px){
  .workshop-hero-media img:first-child{
    object-position:center 76%;
    transform:scale(1.36);
    transform-origin:center 76%;
  }
}

/* Verze 168c: finální osa údajů je až za všemi historickými variantami karet. */
html body.home-body .nearest .datecards .term-when{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:22px!important;
  min-height:24px!important;
  line-height:1.25!important;
}
html body.home-body .nearest .datecards .term-when>span{
  display:flex!important;
  align-items:center!important;
  min-height:24px!important;
  margin:0!important;
  white-space:nowrap!important;
}
html body.home-body .nearest .datecards .term-time{justify-self:center!important;text-align:center!important}
html body.home-body .nearest .datecards .term-duration{justify-self:end!important;text-align:right!important}
@media(max-width:650px){
  html body.home-body .nearest .datecards .term-when{column-gap:10px!important;font-size:13px!important}
}

/* Verze 170: cena a rezervace mají shodnou velikost jako řádek termínu. */
html body.home-body .nearest .datecards footer b,
html body.home-body .nearest .datecards footer a,
html body.home-body .nearest .datecards footer button,
html body.home-body .nearest .datecards footer .reservation-link,
html body.home-body .nearest .datecards footer button[data-book]{
  font-size:18px!important;
  line-height:1.25!important;
}
html body.home-body .nearest .datecards footer b{font-weight:400!important}
html body.home-body .nearest .datecards footer .reservation-link,
html body.home-body .nearest .datecards footer button[data-book]{font-weight:600!important}
@media(max-width:650px){
  html body.home-body .nearest .datecards footer b,
  html body.home-body .nearest .datecards footer a,
  html body.home-body .nearest .datecards footer button,
  html body.home-body .nearest .datecards footer .reservation-link,
  html body.home-body .nearest .datecards footer button[data-book]{font-size:13px!important}
}

/* Verze 172: celé pole techniky je jediná souvislá klikací plocha. */
.techgrid>a{
  position:relative;
  width:100%;
  height:100%;
  cursor:pointer;
  touch-action:manipulation;
}
.techgrid>a>*{pointer-events:none}
.techgrid>a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}

/* Verze 173: klidný a jednotný přehled termínů uvnitř detailu workshopu. */
.detail-term-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.detail-term-cards article{
  min-height:150px!important;
  padding:22px!important;
  border:1px solid var(--line)!important;
}
.detail-term-cards article.bookable-card{grid-column:span 2}
.detail-term-primary{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);
  align-items:center;
  column-gap:22px;
  width:100%;
  padding-bottom:20px;
}
.detail-term-primary time,
.detail-term-primary span,
.detail-term-cards article.bookable-card .detail-term-footer strong,
.detail-term-cards article.bookable-card .detail-term-footer a{
  margin:0!important;
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap;
}
.detail-term-primary time{display:flex;align-items:center;gap:9px;font-weight:500!important}
.detail-term-primary span:nth-child(2){justify-self:center;text-align:center}
.detail-term-primary span:last-child{justify-self:end;text-align:right}
.detail-term-calendar{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.detail-term-cards article.bookable-card .detail-term-footer{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  width:100%;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.detail-term-cards article.bookable-card .detail-term-footer strong{font-weight:400!important}
.detail-term-cards article.bookable-card .detail-term-footer a{padding:0!important;border-bottom:1px solid currentColor;font-weight:600!important}
.detail-term-cards .term-coming{justify-content:center;background:var(--surface-light)!important}
.detail-term-cards .term-coming strong,.detail-term-cards .term-coming span{font-size:14px!important;line-height:1.45!important}
@media(max-width:1100px){
  .detail-term-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:800px){
  .detail-term-cards{grid-template-columns:1fr!important;gap:12px!important}
  .detail-term-cards article.bookable-card{grid-column:auto}
  .detail-term-cards article{min-height:132px!important;padding:19px!important}
  .detail-term-primary{column-gap:10px;padding-bottom:17px}
  .detail-term-primary time,.detail-term-primary span,.detail-term-cards article.bookable-card .detail-term-footer strong,.detail-term-cards article.bookable-card .detail-term-footer a{font-size:13px!important}
  .detail-term-calendar{width:15px;height:15px;flex-basis:15px}
}

/* Verze 174: fotografie kroužku patří do obsahové části jako u ostatních workshopů. */
.simple-workshop-detail .allin-schedule{display:block;max-width:none;margin:0}
.simple-workshop-detail .allin-schedule-copy{max-width:760px;padding:0}
.simple-workshop-detail .workshop-article-lead .allin-collage{width:100%;margin-top:36px}
@media(max-width:800px){
  .simple-workshop-detail .workshop-article-lead .allin-collage{margin-top:30px}
}

/* Verze 175: výzva v kartě navazuje přímo na její popis. */
body:not(.home-body) .choose .techgrid p{margin-bottom:0}
body:not(.home-body) .choose .techgrid span{
  margin-top:24px;
  align-self:flex-start;
}

/* Verze 177: dostupný termín má stejný formát jako ostatní termínová pole. */
.detail-term-cards article.bookable-card{grid-column:auto!important}
.detail-term-primary{
  grid-template-columns:minmax(0,1fr) max-content!important;
  row-gap:10px;
  column-gap:16px!important;
  padding-bottom:16px!important;
}
.detail-term-primary time{grid-column:1/-1}
.detail-term-primary span:nth-child(2){justify-self:start!important;text-align:left!important}
.detail-term-primary span:last-child{justify-self:end!important;text-align:right!important}
.detail-term-cards article.bookable-card .detail-term-footer{padding-top:15px!important}
@media(max-width:800px){
  .detail-term-primary{row-gap:9px}
}

/* Verze 179: fotografie nejbližších termínů mají jednotný portrétní formát 4:5. */
html body.home-body .nearest .card-art{
  width:100%;
  height:auto!important;
  aspect-ratio:4/5!important;
}
html body.home-body .nearest .card-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border:0;
}

/* Verze 180: čas v termínech workshopů je s hodinami zarovnaný pod datum. */
.detail-term-primary .detail-term-time{
  display:flex!important;
  align-items:center;
  justify-self:start!important;
  gap:9px;
  text-align:left!important;
}
.detail-term-clock{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:800px){
  .detail-term-primary .detail-term-time{gap:9px}
  .detail-term-clock{width:15px;height:15px;flex-basis:15px}
}

/* Verze 182: jemně světlejší fotografie v detailu workshopu Vitráže Tiffany. */
.tiffany-detail .tiffany-gallery .gallery-item img{
  filter:brightness(1.13) saturate(.72) contrast(.92);
}

/* Verze 185: stejné střídání barev na domovské stránce i na stránce workshopů. */
.home-body .private-events,
.home-body .private-events .private-copy,
body:not(.home-body) .workshops-private,
body:not(.home-body) .workshops-private .private-copy{
  background:var(--surface-white)!important;
}
.home-body .firsttime,
body:not(.home-body) .firsttime{
  background:var(--surface-warm)!important;
}

/* Verze 186: karty nejbližších termínů používají tmavší béžovou vedle fotografií. */
html body.home-body .nearest .datecards article,
html body.home-body .nearest .datecards article>div:last-child{
  background:var(--surface-warm)!important;
}

/* Verze 187: jednotnější a kompaktnější svislý rytmus hlavních obsahových sekcí. */
@media(min-width:801px){
  .nearest,
  .choose,
  .firsttime,
  .soft,
  .schoolnote,
  .listing,
  .kids-club{
    padding-top:80px;
    padding-bottom:80px;
  }
  .home-body .nearest{
    padding-top:64px;
  }
}
@media(max-width:800px){
  .nearest,
  .choose,
  .firsttime,
  .soft,
  .schoolnote,
  .listing,
  .kids-club{
    padding-top:64px;
    padding-bottom:64px;
  }
  .home-body .nearest{
    padding-top:56px;
  }
}

/* Verze 188: lehčí, galerijnější podoba termínů inspirovaná čistým referenčním webem. */
html body.home-body .nearest .datecards{
  width:min(100%,1060px);
  margin-right:auto;
  margin-left:auto;
  gap:34px 26px;
}
html body.home-body .nearest .sectionhead,
html body.home-body .nearest .filters{
  width:min(100%,1060px);
  margin-right:auto;
  margin-left:auto;
}
html body.home-body .nearest .card-art img{
  filter:brightness(1.1) saturate(.48) contrast(.9)!important;
}
html body.home-body .nearest .datecards article{
  box-shadow:0 0 0 1px rgba(38,35,31,.045);
}
@media(max-width:800px){
  html body.home-body .nearest .datecards{
    width:100%;
    gap:22px;
  }
}

/* Verze 190: navigace zůstává dostupná i po přímém otevření detailu workshopu. */
.workshops-body>header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(38,35,31,.08);
  backdrop-filter:blur(12px);
}
.workshops-body .workshop-detail{
  scroll-margin-top:118px;
}
@media(max-width:800px){
  .workshops-body .workshop-detail{scroll-margin-top:98px}
}

/* Verze 161b: autoritativní finální směry celých sekcí na počítači. */
@media(min-width:801px){
  .split-entry.compact.reveal-ready:not(.is-visible) a,
  .home-body .nearest .datecards.reveal-ready:not(.is-visible) article,
  .programs.programs-reveal-ready:not(.is-visible) article,
  .about-values.principles-reveal-ready:not(.is-visible) article{transform:translateX(-54px)!important}

  .techgrid.reveal-ready:not(.is-visible) a,
  .kids-club__techniques.reveal-ready:not(.is-visible) article{transform:translateX(54px)!important}

  .split-entry.compact.reveal-ready :is(a):nth-child(1),.datecards.reveal-ready article:nth-child(1),.techgrid.reveal-ready a:nth-child(1),.programs.programs-reveal-ready article:nth-child(1),.kids-club__techniques.reveal-ready article:nth-child(1),.about-values.principles-reveal-ready article:nth-child(1){transition-delay:0s!important}
  .split-entry.compact.reveal-ready :is(a):nth-child(2),.datecards.reveal-ready article:nth-child(2),.techgrid.reveal-ready a:nth-child(2),.programs.programs-reveal-ready article:nth-child(2),.kids-club__techniques.reveal-ready article:nth-child(2),.about-values.principles-reveal-ready article:nth-child(2){transition-delay:.45s!important}
  .datecards.reveal-ready article:nth-child(3),.techgrid.reveal-ready a:nth-child(3),.programs.programs-reveal-ready article:nth-child(3),.kids-club__techniques.reveal-ready article:nth-child(3),.about-values.principles-reveal-ready article:nth-child(3){transition-delay:.9s!important}
  .datecards.reveal-ready article:nth-child(4),.techgrid.reveal-ready a:nth-child(4),.kids-club__techniques.reveal-ready article:nth-child(4){transition-delay:1.35s!important}
  .datecards.reveal-ready article:nth-child(5),.techgrid.reveal-ready a:nth-child(5),.kids-club__techniques.reveal-ready article:nth-child(5){transition-delay:1.8s!important}
  .datecards.reveal-ready article:nth-child(6),.techgrid.reveal-ready a:nth-child(6){transition-delay:2.25s!important}
}

/* Jednotný mobilní rytmus: položky se spouštějí jednotlivě při najetí do záběru. */
@media(max-width:800px){
  .split-entry.compact.mobile-split-reveal a,.datecards.mobile-date-reveal article,.techgrid.mobile-item-reveal a,.programs.mobile-programs-reveal article,.kids-club__techniques.mobile-kids-reveal article,.about-values.principles-mobile-reveal article{opacity:0!important;transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s!important}
  .split-entry.compact.mobile-split-reveal a,.techgrid.mobile-item-reveal a,.programs.mobile-programs-reveal article,.kids-club__techniques.mobile-kids-reveal article,.about-values.principles-mobile-reveal article{transform:translateX(-76px)!important}
  .datecards.mobile-date-reveal article{transform:translateX(76px)!important}
  .split-entry.compact.mobile-split-reveal a.is-entry-visible,.datecards.mobile-date-reveal article.is-card-visible,.techgrid.mobile-item-reveal a.is-card-visible,.programs.mobile-programs-reveal article.is-card-visible,.kids-club__techniques.mobile-kids-reveal article.is-card-visible,.about-values.principles-mobile-reveal article.is-principle-visible{opacity:1!important;transform:translateX(0)!important}
}
@media(prefers-reduced-motion:reduce){
  .split-entry.compact.reveal-ready a,.datecards.reveal-ready article,.techgrid.reveal-ready a,.programs.programs-reveal-ready article,.kids-club__techniques.reveal-ready article,.about-values.principles-reveal-ready article{opacity:1!important;transform:none!important;transition:none!important}
}

/* Vyšší specificita přebíjí staré mobilní prototypy výše v souboru. */
@media(max-width:800px){
  html body .split-entry.compact.mobile-split-reveal a:nth-child(n),
  html body .datecards.reveal-ready.mobile-date-reveal article:nth-child(n),
  html body .techgrid.reveal-ready.mobile-item-reveal a:nth-child(n),
  html body .programs.programs-reveal-ready.mobile-programs-reveal article:nth-child(n),
  html body .kids-club__techniques.reveal-ready.mobile-kids-reveal article:nth-child(n),
  html body .about-values.principles-reveal-ready.principles-mobile-reveal article:nth-child(n){transition-duration:1.15s!important;transition-delay:0s!important;transition-timing-function:ease,cubic-bezier(.22,.61,.36,1)!important}
  html body:not(.home-body) .workshop-detail.is-open{animation-duration:1.15s!important;animation-delay:0s!important;animation-timing-function:cubic-bezier(.22,.61,.36,1)!important}
  html body .tiffany-gallery,html body .kahany-gallery{transition-duration:1.15s!important;transition-delay:0s!important}
}

/* Poslední mobilní pojistka pro seznam technik na stránce workshopů. */
footer>.workshop-operator{grid-column:1/-1;display:block;margin-top:12px;font-size:11px;line-height:1.6;letter-spacing:.05em}
.brand em,.footbrand em{max-width:360px;white-space:normal}
@media(max-width:800px){
  html body.workshops-body .choose .techgrid.reveal-ready.mobile-item-reveal>a:nth-child(n){
    transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)!important;
    transition-delay:0s!important;
  }
}
/* Stejný portrétní výřez fotografie soukromé akce na mobilu i na počítači. */
@media (max-width: 650px) {
  .home-body .private-events .private-visual--people,
  .workshops-private .private-visual--people {
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .home-body .private-events .private-visual--people img,
  .workshops-private .private-visual--people img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: 61% 27%;
    transform: scale(1.06);
    transform-origin: 61% 27%;
  }
}

/* Mobilní menu se při každém otevření skládá plynule shora dolů. */
@keyframes mobileMenuItemIn {
  from {
    opacity: 0;
    transform: translateY(-28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 800px) {
  header nav {
    left: auto;
    right: 0;
    width: 52vw;
    min-width: 172px;
    max-width: 230px;
    padding-inline: 14px;
    align-items: center;
  }
  header nav a,
  header nav button { text-align: center; }
  header nav.open > a,
  header nav.open > button {
    transition: none!important;
    animation: mobileMenuItemIn 1s cubic-bezier(.22, .61, .36, 1) both;
  }

  header nav.open > :nth-child(1) { animation-delay: .12s; }
  header nav.open > :nth-child(2) { animation-delay: .34s; }
  header nav.open > :nth-child(3) { animation-delay: .56s; }
  header nav.open > :nth-child(4) { animation-delay: .78s; }
  header nav.open > :nth-child(5) { animation-delay: 1s; }
  header nav.open > :nth-child(6) { animation-delay: 1.22s; }
  header nav.open > :nth-child(7) { animation-delay: 1.44s; }
}

@media (prefers-reduced-motion: reduce) {
  header nav.open > a,
  header nav.open > button {
    animation: none;
  }
}

/* Celá karta termínu je stejně dostupná myší, dotykem i klávesnicí. */
.home-body .nearest .datecards article[data-type]{cursor:pointer}
.home-body .nearest .datecards article[data-type]:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

/* Kroužek: datum, den s časem a délka zůstávají na mobilu v jedné řadě. */
@media(max-width:650px){
  html body.home-body .nearest .datecards article[data-type="allin"] .term-when{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:stretch!important;
    column-gap:6px!important;
    row-gap:0!important;
    font-size:clamp(10px,2.85vw,12px)!important;
  }
  html body.home-body .nearest .datecards article[data-type="allin"] .term-when>span{
    margin:0!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  html body.home-body .nearest .datecards article[data-type="allin"] .term-time--weekday{
    justify-self:center!important;
    gap:3px!important;
  }
  html body.home-body .nearest .datecards article[data-type="allin"] .term-duration{
    justify-self:end!important;
  }
  html body.home-body .nearest .datecards article[data-type="allin"] .term-calendar,
  html body.home-body .nearest .datecards article[data-type="allin"] .term-clock{
    width:12px!important;
    height:12px!important;
    flex-basis:12px!important;
  }
}

/* Na mobilu vede detail nejprve názvem, popisem a fotografií; termíny následují pod nimi. */
@media(max-width:800px){
  html body.workshops-body .workshop-article{
    display:block;
    padding:54px 24px 76px;
  }
  html body.workshops-body .workshop-article-lead{
    position:static;
    max-width:none;
    margin-bottom:26px;
  }
  html body.workshops-body .workshop-article > .workshop-detail-terms{
    display:block;
    width:100%;
    margin:0 0 36px!important;
    padding:27px 0 0;
    border-top:1px solid var(--line);
  }
  html body.workshops-body .workshop-article > .workshop-detail-terms .detail-terms-heading{
    margin-bottom:19px;
  }
  html body.workshops-body .workshop-article > .workshop-detail-terms .detail-terms-heading h3{
    font-size:29px;
    line-height:1.15;
  }
  html body.workshops-body .workshop-article > .workshop-detail-terms .detail-terms-heading > span{
    margin-top:9px;
    font-size:13px;
  }
  html body.workshops-body .detail-term-cards .term-coming:not(:first-of-type){display:none}
  html body.workshops-body .workshop-article > .workshop-detail-terms .term-coming{
    min-height:0!important;
    padding:17px 19px!important;
  }
  html body.workshops-body .workshop-article > .workshop-detail-terms .allin-schedule-copy h3{
    font-size:29px;
  }
}

/* Schválený úzký výřez fotografie soukromého workshopu.
   Na obou stránkách zůstávají vidět jen části postav, stejně jako v odsouhlasené verzi. */
.home-body .private-events .private-visual--people,
.workshops-private .private-visual--people {
  overflow: hidden;
}

.home-body .private-events .private-visual--people img,
.workshops-private .private-visual--people img {
  /* Desktop: postava vpravo konci u kraje jen koutkem oka, druhe zustavaji ruce. */
  object-position: 0% 27%;
  transform: none;
  transform-origin: center;
}

@media (max-width: 650px) {
  .home-body .private-events .private-visual--people img,
  .workshops-private .private-visual--people img {
    object-position: 61% 27%;
    transform: scale(1.18);
    transform-origin: 61% 27%;
  }
}

/* Obsazený termín používá stejnou pravou pozici a typografii jako „Rezervovat“. */
html body.home-body .nearest .datecards footer .occupied-label {
  margin-left: auto !important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: right;
}

html body.workshops-body .detail-term-cards .detail-term-footer .occupied-label {
  margin-left: auto !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: right;
  text-transform: none !important;
  white-space: nowrap;
}

@media (max-width: 800px) {
  html body.workshops-body .detail-term-cards .detail-term-footer .occupied-label {
    font-size: 13px !important;
  }
}

/* Desktop: sekce termínů využije stejně velkorysou šířku jako okolní části stránky. */
@media (min-width: 801px) {
  html body.home-body .nearest {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  html body.home-body .nearest .sectionhead,
  html body.home-body .nearest .filters,
  html body.home-body .nearest .datecards {
    width: 100%;
    max-width: none;
  }
}


/* Finální desktopový výřez soukromého workshopu – shodný na širokém PC se schváleným náhledem. */
@media (min-width: 651px) {
  .home-body .private-events .private-visual--people img,
  .workshops-private .private-visual--people img {
    object-position: 61% 27%;
    transform: scale(1.43);
    transform-origin: 61% 27%;
  }
}


/* Schválený ořez fotografie soukromých akcí na počítači */
@media (min-width: 651px) {
  .home-body .private-events .private-visual--people img,
  .workshops-private .private-visual--people img {
    object-position: 61% 27%;
    transform: none;
    transform-origin: center;
  }
}

/* Na mobilu navazuje fotografie dívek přímo na přehled workshopů
   a teprve pod ní pokračuje text soukromých akcí. */
@media (max-width: 850px) {
  html body.workshops-body .workshops-private .private-visual--people {
    order: -1;
  }

  html body.workshops-body .workshops-private .private-copy {
    order: 0;
  }
}
