:root{--teal:#347e79;--ink:#222a29;--paper:#f7f8f6;--side:228px;--line:#e3e8e3}body{background:var(--paper);color:var(--ink);font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}.sidebar{border-right:1px solid var(--line);padding:0 23px;background:#fcfdfb}.logo{margin:40px 10px 0;width:66px;height:66px;background:#242b29}.logo:before{background:#fcfdfb}.sidebar nav{margin-top:74px;display:flex;flex-direction:column;gap:7px}.sidebar nav a,.sidebar nav a:nth-child(odd){display:flex;align-items:center;justify-content:space-between;background:transparent;color:#65706a;text-align:left;padding:13px 16px;font-size:14px;font-weight:500;line-height:1.4;border-radius:8px;transition:background .18s,color .18s}.sidebar nav a:after{content:'↗';opacity:0;color:var(--teal)}.sidebar nav a.active,.sidebar nav a:hover{color:#24594f;background:#e7eeE8}.sidebar nav a.active:after,.sidebar nav a:hover:after{opacity:1}.sidebar-caption{margin:35px 16px;font-size:12px;letter-spacing:0;text-align:left;line-height:1.8;color:#8a928c}.sidebar-bottom{margin:auto 12px 28px;gap:26px;font-size:10px;color:#858e86;line-height:1.6}.sidebar-bottom a{font-size:12px;color:#496d60;padding-top:20px;border-top:1px solid var(--line)}main{min-width:0}.home-page{max-width:1600px;margin:0 auto;padding:0 42px 40px}.home-top{min-height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px}.studio-mark{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.2px;color:#6c776f}.studio-mark i{width:6px;height:6px;border-radius:50%;background:#649b86}.languages{padding:3px;background:#edf0eb;border:1px solid #e4e8e2;border-radius:7px;gap:2px;flex:none}.languages button{font-size:10px;font-weight:600;min-height:30px;min-width:34px;padding:7px;border-radius:4px;color:#7b867f}.languages button[aria-pressed=true]{background:white;color:#304c42;border:0;box-shadow:0 1px 4px #1c30200d}.hero{position:relative;padding:48px 0 42px;overflow:hidden}.hero .eyebrow{font-size:9px;font-weight:600;letter-spacing:2.1px;margin-bottom:20px;color:#748578}.hero h1{position:relative;z-index:1;font-size:clamp(45px,5.8vw,84px);line-height:1.02;letter-spacing:-3.4px;font-weight:500;margin:0 0 27px;max-width:80%}.hero h1 span{color:var(--teal)}.hero-bottom{display:flex;position:relative;z-index:1;justify-content:space-between;align-items:flex-end;gap:28px}.hero-bottom p{max-width:370px;margin:0;font-size:13px;line-height:1.85;color:#6c756e}.text-link{display:inline-flex;align-items:center;gap:22px;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:500;border-bottom:1px solid #a0b4a7;padding-bottom:9px;margin-bottom:4px}.text-link span{font-size:18px;color:#3a7466}.hero-orbit{position:absolute;width:190px;height:190px;right:40px;top:55px;border:1px solid #c9dacf;border-radius:50%;transform:rotate(-23deg);background:radial-gradient(ellipse at 60% 55%,#d9e9df80,transparent 67%)}.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;inset:12px -25px;border:1px solid #c9dacf;border-radius:50%;transform:rotate(50deg)}.hero-orbit:after{inset:-12px 35px;transform:rotate(-22deg)}.hero-orbit div{position:absolute;inset:34px -40px;border:1px solid #c9dacf;border-radius:50%;transform:rotate(13deg)}.hero-orbit span{display:grid;place-items:center;position:absolute;inset:0;font-size:59px;letter-spacing:-8px;transform:rotate(23deg);font-weight:400;color:#4b8472}.portfolio{border-top:1px solid var(--line);padding-top:30px}.work-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.work-heading h2{font-size:21px;letter-spacing:-.5px;font-weight:500;margin:0}.work-heading sup{font-size:10px;color:#839487;margin-left:6px;letter-spacing:0}.portfolio-note{font-size:10px;color:#8a948b}.filters{display:flex;gap:7px;margin:22px 0 25px;flex-wrap:wrap}.filters button{border:1px solid #dce3da;background:transparent;border-radius:6px;min-height:35px;padding:8px 14px;color:#748072;font-size:11px;transition:background .2s,color .2s}.filters button:hover{border-color:#688775;color:#274c3c}.filters button[aria-pressed=true]{background:#283f36;border-color:#283f36;color:white}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.project-card{display:block;text-decoration:none;min-width:0;outline-offset:5px;border-radius:9px}.tile{width:100%;border-radius:9px;position:relative;isolation:isolate;transition:filter .25s;aspect-ratio:190/180;background-color:#ebece8}.project-card:hover .tile{filter:brightness(1.04)}.card-open{display:grid;place-items:center;position:absolute;bottom:13px;right:13px;border-radius:50%;background:#fffE;color:#34564c;width:34px;height:34px;box-shadow:0 3px 12px #0001;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.project-card:hover .card-open,.project-card:focus-visible .card-open{opacity:1;transform:translateY(0)}.project-label{padding:13px 1px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.project-label h3{font-size:13px;font-weight:550;line-height:1.45;letter-spacing:-.15px;margin:0 0 4px}.project-label p{font-size:10px;line-height:1.6;color:#889186;margin:0}.project-label>span{font-size:15px;color:#8c9a8d;flex:none;transition:transform .2s}.project-card:hover .project-label>span{transform:translate(2px,-2px);color:var(--teal)}.contact-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:55px;padding:30px;border:1px solid #dde5dc;background:#eef2ec;border-radius:10px}.contact-strip .eyebrow{font-size:9px;margin-bottom:10px;letter-spacing:1.5px}.contact-strip h2{font-size:23px;font-weight:500;letter-spacing:-.6px;margin:0;max-width:390px}.button{background:#2e6659;border:1px solid #2e6659;border-radius:7px;font-size:12px;padding:13px 20px;line-height:1.5;transition:background .18s,transform .18s;text-align:center}.button:hover{background:#244f45;transform:translateY(-1px)}.contact-strip .button{margin:0;white-space:nowrap}.page{max-width:1600px;margin:auto;padding:36px 6% 70px;background:var(--paper);min-height:calc(100dvh - 110px)}.page-top{margin-bottom:60px;padding-bottom:26px;border-bottom:1px solid var(--line)}.back{font-size:12px;color:#6a7a6b}.page h1{font-size:clamp(32px,3.6vw,55px);font-weight:500;letter-spacing:-1.9px;line-height:1.1}.page h2{font-weight:500}.page .eyebrow{font-size:10px;line-height:1.6;color:#5f8a76}.lead{color:#718073;font-size:17px;line-height:1.85}.project-layout{gap:7%;align-items:center}.project-copy{padding:0}.project-layout>.project-image{border-radius:12px;box-shadow:0 15px 30px #273d2310}.project-bottom{margin-top:75px;border-color:var(--line)}.project-bottom a{font-size:12px;color:#607560;line-height:1.5}.team-layout{align-items:start;gap:7%;padding-top:25px}.team{gap:25px;padding-top:0}.portrait{box-shadow:none;border:5px solid white}.person{font-size:13px;font-weight:500}.person small{font-size:10px;color:#8a9489}.team-copy p{font-size:14px;line-height:1.9;color:#718073}.contact-layout{gap:7%;margin-top:30px}.contact-visual{border-radius:10px;filter:saturate(.5)}label{color:#6d7d6e;font-size:11px;gap:8px}input,textarea{border-radius:6px;border-color:#d7dfd4;background:#fff;min-height:47px;font-size:14px;color:var(--ink);padding:12px}input:hover,textarea:hover{border-color:#8daa91}.form-note{font-size:11px;line-height:1.7;color:#859182}address{padding:25px;background:#edf2eb;border-radius:10px;font-size:13px;color:#6a7b67}address strong{color:#314933;font-weight:550}address section:last-child{margin:0}.news-banner{box-shadow:none;border:1px solid #dce8db;border-radius:12px;background:#e9f1e6;color:#3e6651;padding:40px;font-size:27px}.cards{gap:20px}.card{background:white;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.card-copy{padding:22px}.card-copy h2{font-weight:500}.card-copy small{font-size:10px}.card-copy>span{color:var(--teal)}.download-list{gap:16px;background:transparent}.download-item{border:1px solid var(--line);border-radius:10px;background:white;padding:25px}.download-item small{font-size:10px;color:#788772}.download-item h2{font-size:19px;letter-spacing:-.4px}.download-item a{font-size:11px}.download-item .button{margin-top:18px}footer{background:var(--paper);min-height:100px;margin:0 42px;padding:27px 0;border-top:1px solid var(--line);color:#566951}footer span{font-size:9px;line-height:1.8;color:#98a091}footer a{font-size:24px;letter-spacing:-1.5px}.skip{background:#fff;box-shadow:0 4px 18px #0002;border-radius:6px}
@media(min-width:1550px){:root{--side:260px}.home-page{padding-left:60px;padding-right:60px}.hero{padding:65px 0 55px}.hero h1{font-size:86px}.hero-bottom p{font-size:15px;max-width:460px}.hero-orbit{width:240px;height:240px;top:60px;right:80px}.grid{gap:35px 26px}.project-label h3{font-size:16px}.project-label p{font-size:12px}.studio-mark{font-size:12px}.sidebar nav{margin-top:85px}.sidebar nav a{font-size:15px}.sidebar .logo{margin-top:40px;width:76px;height:76px}.sidebar .logo span{font-size:23px}.filters button{font-size:12px;padding:10px 18px}}
@media(max-width:1100px){:root{--side:195px}.sidebar{padding:0 15px}.home-page{padding:0 28px 30px}.hero h1{font-size:60px}.hero-orbit{width:135px;height:135px;right:25px;top:72px}.hero-orbit span{font-size:48px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:22px}.hero-bottom p{max-width:390px}.hero .text-link{font-size:11px}.grid{gap:24px 16px}.home-top{min-height:80px}.studio-mark{font-size:10px}.project-label h3{font-size:12px}.project-label p{font-size:9px}.contact-strip h2{font-size:21px}.contact-strip{padding:24px}.sidebar nav a{font-size:13px}.sidebar-caption{font-size:11px;margin-left:16px}.contact-strip .button{font-size:11px}footer{margin:0 28px}}
@media(max-width:850px){:root{--side:170px}.sidebar{padding:0 10px}.hero h1{font-size:50px;letter-spacing:-2.5px}.hero-orbit{right:10px;top:77px;width:95px;height:95px;opacity:.65}.hero-orbit span{font-size:38px}.hero-orbit div{inset:20px -15px}.hero-orbit:before{inset:12px -15px}.hero-orbit:after{inset:-12px 20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.project-label h3{font-size:13px}.project-label p{font-size:10px}.portfolio-note{display:none}.filters{gap:6px}.filters button{font-size:10px;padding:8px 10px}.contact-strip{align-items:flex-start;flex-direction:column}.home-top .studio-mark{max-width:180px;font-size:9px}.project-layout,.team-layout{grid-template-columns:1fr}.project-layout>.project-image{max-width:420px;margin-top:20px}.team{max-width:370px;order:2}.project-bottom{margin-top:40px}.page-top{margin-bottom:40px}.download-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bottom a{font-size:10px}.sidebar-caption{font-size:10px}.sidebar nav{margin-top:65px}}
@media(max-width:650px){:root{--side:0px}.sidebar{height:77px;min-height:77px;padding:0 20px;background:#fcfdfbf5;border-right:0;backdrop-filter:blur(14px)}.sidebar .logo{width:43px;height:43px;margin:0;background:#24362e}.sidebar .logo span{font-size:14px;bottom:4px;left:5px;letter-spacing:-.5px}.menu-toggle{border:1px solid #dce4d9;border-radius:6px;min-height:39px;align-items:center;padding:8px 12px;margin:0;font-size:12px;color:#4a664e;gap:17px}.sidebar nav{display:none;top:76px;margin:0;padding:14px 20px 22px;background:#fcfdfb;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #25362408}.sidebar nav.open{display:flex}.sidebar nav a,.sidebar nav a:nth-child(odd){font-size:15px;padding:13px 15px}.home-page{padding:0 20px 30px}.home-top{min-height:66px;gap:10px}.home-top .studio-mark{font-size:9px;max-width:none;gap:7px}.languages{padding:2px;border-radius:6px}.languages button{min-width:32px;min-height:32px;font-size:10px}.hero{padding:34px 0 30px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:18px}.hero h1{font-size:54px;letter-spacing:-2.8px;max-width:100%;margin-bottom:22px}.hero-orbit{width:88px;height:88px;right:4px;top:77px;opacity:.45}.hero-orbit span{font-size:33px}.hero h1{max-width:90%}.hero-bottom p{font-size:12px;max-width:300px;line-height:1.85}.hero-bottom{gap:20px}.hero .text-link{font-size:12px}.portfolio{padding-top:24px}.work-heading h2{font-size:21px}.filters{margin:19px 0 22px;gap:6px}.filters button{min-height:38px;font-size:10px;padding:8px 11px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.tile{border-radius:7px}.project-label{padding-top:10px;gap:6px}.project-label h3{font-size:12px;line-height:1.5;letter-spacing:-.2px}.project-label p{font-size:9px;line-height:1.6}.project-label>span{font-size:14px;margin-top:1px}.card-open{display:none}.contact-strip{margin-top:36px;padding:25px 22px;gap:22px}.contact-strip h2{font-size:25px;line-height:1.25}.contact-strip .eyebrow{font-size:8px}.contact-strip .button{font-size:12px}.page{padding:25px 20px 45px}.page-top{margin-bottom:32px;padding-bottom:20px}.page h1{font-size:38px;letter-spacing:-1.5px}.page .lead{font-size:16px}.project-copy .button{margin-top:12px}.project-layout{gap:16px}.project-layout>.project-image{margin-top:15px}.team-layout{gap:25px}.team-copy{order:0}.team{order:1;margin-top:15px}.team-copy p{font-size:14px}.contact-layout{margin-top:20px}.contact-visual{margin-top:0}.contact-layout form{gap:17px}.contact-layout input,.contact-layout textarea{font-size:16px}.news-banner{font-size:23px;padding:28px 23px;margin:30px 0}.cards{gap:20px}.download-list{gap:12px;grid-template-columns:1fr}.download-item{padding:24px}.download-item h2{font-size:21px}footer{margin:0 20px;min-height:95px;padding:25px 0}footer span{font-size:8px}.button{min-height:45px}.back{font-size:11px}}
.project-label p{color:#66725f;font-size:11px}.sidebar-caption,.sidebar-bottom,footer span{color:#6b7766}.portfolio-note{color:#687663}.filters button{color:#5e6c58}.studio-mark{color:#5f6d5a}.project-label>span{color:#64795d}.work-heading sup{color:#5f775c}.home-top .studio-mark{font-size:11px}
@media(max-width:650px){.filters button{min-height:44px}.languages button{min-height:38px;min-width:35px}.project-label p{font-size:10px}.hero-bottom p{font-size:13px}.home-top .studio-mark{font-size:10px}.sidebar nav a{min-height:48px}.project-label h3{font-size:13px}.menu-toggle{min-height:44px}}
@media(max-width:650px){.hero h1{font-size:46px;letter-spacing:-2.3px;max-width:100%}.hero-orbit{display:none}.hero{padding-top:28px}.filters button{font-size:11px}.project-label p{font-size:11px}}
@media(max-width:360px){.hero h1{font-size:40px}.home-top .studio-mark{max-width:170px}.filters button{padding:8px}.grid{gap:22px 10px}.project-label h3{font-size:12px}}

/* Contact: spacious editorial layout with a quiet contact card. */
.contact-page{position:relative;padding-top:54px;min-height:100dvh}.contact-language{position:absolute;top:28px;right:6%}.contact-intro{margin-bottom:56px;padding-right:70px}.contact-page .contact-intro h1{font-size:clamp(48px,5.5vw,88px);line-height:1.12;letter-spacing:-4px;margin:0 0 28px;max-width:1000px}.contact-intro em{font-family:Georgia,serif;font-weight:400;color:#348d84}.contact-intro p{color:#737e75;font-size:14px;line-height:1.8;max-width:780px;margin:0}.contact-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start}.contact-columns>div>h2{font-size:21px;letter-spacing:-.7px;margin:0 0 30px}.contact-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.contact-editor>label{display:block;font-size:11px;color:#49584f}.contact-editor>label>input{margin-top:12px}.required-mark{color:#348d84}.contact-editor input:not([type=checkbox]),.contact-editor textarea{display:block;border:0;border-bottom:1px solid #cbd5c8;border-radius:0;background:transparent;padding:14px 0 12px;font-size:14px;box-shadow:none}.contact-editor input::placeholder,.contact-editor textarea::placeholder{color:#798477;opacity:1}.contact-editor input:focus,.contact-editor textarea:focus{border-color:#347e79;outline-offset:5px}.contact-interests{grid-column:1/-1;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.contact-interests legend{font-size:12px;color:#49584f;margin-bottom:12px}.contact-interests label{position:relative;display:inline-flex;cursor:pointer}.contact-interests input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.contact-interests span{display:block;border:1px solid #d8dfd4;border-radius:30px;padding:12px 16px;font-size:11px;color:#53624f}.contact-interests input:checked+span{background:#d5eadd;border-color:#6d9e89;color:#214d3f}.contact-interests input:focus-visible+span{outline:2px solid #347e79;outline-offset:3px}.contact-message{grid-column:1/-1}.contact-editor textarea{min-height:130px;resize:vertical}.contact-submit{grid-column:1/-1;display:flex;align-items:center;gap:30px}.contact-submit p{font-size:12px;line-height:1.7;color:#75816f;max-width:260px;margin:0}.contact-editor .contact-submit button{display:inline-flex;align-items:center;justify-content:center;gap:18px;width:auto;flex:none;min-height:48px;border:0;border-radius:30px;background:#242d29;color:white;padding:12px 23px;font-size:13px;line-height:1.2}.contact-submit button span{margin-left:0;font-size:20px;line-height:1}.contact-submit button:hover{background:#347e79}.contact-details{position:relative;background:#e8eee2;border-radius:8px;padding:32px;color:#455246;font-size:13px;line-height:1.9}.contact-details h3{font-size:17px;line-height:1.5;font-weight:500;margin:0;color:#26372e}.contact-details section{margin-bottom:28px}.contact-details .contact-locale{font-size:12px;color:#667360;line-height:1.6;margin:2px 0 12px}.contact-details a{display:inline-block;overflow-wrap:anywhere}.contact-details a span{margin-left:9px}.contact-company{border-top:1px solid #cfdcc8;padding-top:24px}.contact-company strong{font-weight:700;color:inherit}.contact-company-links{margin-top:20px}.contact-details .contact-company{margin-bottom:0}.contact-end{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:70px;padding:24px 0;border-top:1px solid var(--line)}.contact-end>a:first-child{font-size:28px;letter-spacing:-2px;text-decoration:none;font-weight:600}.contact-end p{font-size:11px;color:#72816d;margin:0;text-align:center}.contact-up{width:36px;height:36px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;text-decoration:none;color:#62745e}
@media(max-width:1100px){.contact-columns{gap:28px;grid-template-columns:1.2fr 1fr}.contact-details{padding:25px}.contact-submit{align-items:flex-start;flex-direction:column;gap:15px}.contact-page .contact-intro h1{letter-spacing:-2.5px}}
@media(max-width:850px){.contact-columns{grid-template-columns:1fr}.contact-details{margin-top:10px}.contact-submit{flex-direction:row;align-items:center}.contact-intro{padding-right:0;padding-top:32px}.contact-page .contact-intro h1{font-size:52px}.contact-end{margin-top:45px}}
@media(max-width:650px){.contact-page{padding-top:36px}.contact-language{top:16px;right:20px}.contact-intro{margin-bottom:35px;padding-top:44px}.contact-page .contact-intro h1{font-size:clamp(39px,10vw,58px);letter-spacing:-2px}.contact-intro p{font-size:13px}.contact-editor{gap:25px 18px}.contact-editor input:not([type=checkbox]),.contact-editor textarea{font-size:16px}.contact-columns>div>h2{font-size:20px}.contact-details{padding:28px}.contact-end p{max-width:170px}.contact-submit{gap:18px}.contact-submit p{font-size:11px}}
@media(max-width:380px){.contact-editor{grid-template-columns:1fr}.contact-submit{flex-direction:column;align-items:flex-start}.contact-end p{max-width:120px}}

/* Reusable project case study, with Astrotour imagery from the supplied layout. */
.case-page .page-top{margin-bottom:52px}.case-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.case-page .case-hero h1{font-size:clamp(45px,5.1vw,82px);letter-spacing:-3px;line-height:1.05;margin-bottom:24px}.case-hero h1 span{color:var(--teal)}.case-tagline{font-size:clamp(24px,2.4vw,37px);line-height:1.25;letter-spacing:-1px;margin:0 0 22px}.case-intro{font-size:14px;color:#66756a;line-height:1.9;max-width:540px;margin-bottom:12px}.case-main-visual{margin:0;min-width:0}.astro-shot{background-image:url('/yahart/assets/astrotour-reference-wp-f012652870.webp');background-repeat:no-repeat;background-color:#101628;width:100%;overflow:hidden}.astro-mission{aspect-ratio:540/304;border-radius:999px;background-size:379.259259% 378.289474%;background-position:37.400531% 76.004728%;box-shadow:0 20px 45px #152b3218}.case-main-visual>figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:25px;font-size:9px;line-height:1.6;color:#6d7e73}.case-main-visual>figcaption span:first-child{letter-spacing:1.2px}.case-facts{display:grid;grid-template-columns:1fr 1fr 1.5fr;border-block:1px solid var(--line);gap:25px;margin:55px 0 65px;padding:24px 0}.case-facts dt{font-size:10px;color:#6d7e73;margin-bottom:9px}.case-facts dd{font-size:13px;margin:0;line-height:1.6}.case-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.case-section-heading h2{font-size:clamp(30px,3.3vw,48px);line-height:1.1;letter-spacing:-1.8px;margin:0}.case-section-heading>p{font-size:13px;color:#66756a;max-width:330px;line-height:1.85;margin:0}.case-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 25px}.case-feature{margin:0;min-width:0}.case-feature .astro-shot{aspect-ratio:566/175;border-radius:18px;background-size:361.837456% 657.142857%}.astro-space{background-position:91.295547% 17.128205%}.astro-astronaut{background-position:91.295547% 39.487179%}.astro-physics{background-position:91.295547% 63.384615%}.astro-create{background-position:91.295547% 86.871795%}.case-feature figcaption{display:flex;gap:17px;padding:20px 0 0}.case-feature-number{font-size:11px;color:#438b78;padding-top:5px}.case-feature h3{font-size:20px;font-weight:500;letter-spacing:-.4px;margin:0 0 9px}.case-feature p{font-size:13px;color:#66756a;line-height:1.8;margin:0;max-width:470px}.case-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px;margin-top:60px;border-radius:12px;background:#e8eee2}.case-cta h2{font-size:28px;letter-spacing:-.8px;line-height:1.25;margin:0;max-width:450px}.case-cta .button{margin:0;flex:none}.case-project-nav{display:flex;justify-content:space-between;gap:20px;padding-top:34px;margin-top:34px;border-top:1px solid var(--line)}.case-project-nav a{text-decoration:none;font-size:19px}.case-project-nav a:last-child{text-align:right}.case-project-nav small{display:block;font-size:10px;color:#6d7e73;margin-bottom:10px}
@media(max-width:1000px){.case-hero{grid-template-columns:1fr}.case-main-visual{margin-top:35px;max-width:640px}.case-hero .case-intro{max-width:620px}.case-section-heading{align-items:start}.case-facts{margin:40px 0 45px}.case-feature-grid{gap:30px 20px}}
@media(max-width:650px){.case-page .page-top{margin-bottom:35px}.case-page .case-hero h1{font-size:48px;letter-spacing:-2px}.case-tagline{font-size:27px}.case-main-visual{margin-top:25px}.case-main-visual>figcaption{font-size:8px}.case-facts{grid-template-columns:1fr 1fr;gap:23px}.case-facts>div:last-child{grid-column:1/-1}.case-section-heading{display:block}.case-section-heading>p{margin-top:20px;max-width:none}.case-feature-grid{grid-template-columns:1fr;gap:30px}.case-feature .astro-shot{border-radius:12px}.case-feature h3{font-size:21px}.case-feature p{font-size:14px}.case-cta{padding:26px;display:block;margin-top:40px}.case-cta h2{font-size:27px}.case-cta .button{margin-top:24px}.case-project-nav a{font-size:17px}}

/* Hrady3D project story. Image windows use the supplied high-resolution reference. */
.castle-shot{background-image:url('/yahart/assets/hrady-reference-wp-452be570a3.webp');background-repeat:no-repeat;width:100%;background-color:#efefed}.castle-app{aspect-ratio:612/436;border-radius:24px;background-size:334.640523% 263.761468%;background-position:91.713092% 23.94958%}.castle-story{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:center;margin-bottom:70px}.castle-story h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.6px;margin:0 0 22px}.castle-story p{font-size:14px;line-height:1.9;color:#66756a}.castle-story figure{margin:0;min-width:0}.castle-courtyard{aspect-ratio:660/372;border-radius:999px;background-size:310.30303% 309.139785%;background-position:93.227666% 87.017995%}.castle-story figcaption{font-size:10px;color:#6d7e73;line-height:1.7;margin-top:18px;text-align:center}.castle-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.castle-tags span{border:1px solid #d7e0d5;border-radius:24px;padding:9px 13px;font-size:10px;color:#42634e}.castle-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.castle-location-grid>article{display:flex;flex-direction:column;border:1px solid var(--line);background:#f0f3ed;border-radius:12px;padding:25px}.castle-location-grid h3{font-size:22px;font-weight:500;letter-spacing:-.6px;margin:20px 0 12px}.castle-location-grid p{font-size:13px;line-height:1.85;color:#627260;margin:0 0 22px}.castle-marker{margin-top:auto;border-top:1px solid #d8e1d3;padding-top:20px}.castle-marker h4{font-size:10px;font-weight:600;line-height:1.6;color:#37654e;margin:0 0 10px}.castle-marker p{font-size:12px;margin:0}.castles-page .case-section-heading>p{max-width:380px}
@media(max-width:1000px){.castle-story{grid-template-columns:1fr;gap:30px}.castle-story figure{max-width:680px}.castle-location-grid{grid-template-columns:1fr}.castle-location-grid>article{padding:25px}.castle-location-grid h3{margin-top:12px}.castle-story{margin-bottom:45px}}
@media(max-width:650px){.castle-app{border-radius:16px}.castle-story h2{font-size:34px}.castle-location-grid{gap:15px}.castle-location-grid p{font-size:14px}.castle-tags span{font-size:11px}}

/* PiniaPark: architecture case study. */
.pinia-shot{background-image:url('/yahart/assets/piniapark-reference-wp-550d3815ab.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%}.pinia-street,.pinia-aerial{aspect-ratio:532/300;background-size:384.962406% 383.333333%;border-radius:999px}.pinia-street{background-position:32.189974% 44.470588%}.pinia-aerial{background-position:41.358839% 87.411765%}.pinia-page .case-hero h1{font-family:Georgia,serif;letter-spacing:-3px;font-weight:400}.pinia-overview{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7%;margin-bottom:70px}.pinia-overview figure,.pinia-identity figure{margin:0;min-width:0}.pinia-overview h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.pinia-overview p{font-size:14px;line-height:1.9;color:#66756a}.pinia-overview figcaption,.pinia-identity figcaption{font-size:10px;line-height:1.7;color:#6d7e73;margin-top:18px}.pinia-identity-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:25px;align-items:stretch}.pinia-presentation{aspect-ratio:2741/2788;background-image:url('/yahart/assets/pinia-billboard-a4203e19804c.webp');background-size:contain;background-position:center;background-color:transparent;border-radius:0}.pinia-brand{padding:30px;background:#e8eee2;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.pinia-sign{aspect-ratio:680/680;max-width:150px;background-image:url('/yahart/assets/pinia-sign-ef55dcc4a9b2.webp');background-size:contain;background-position:center;background-color:transparent;border-radius:0}.pinia-brand h3{font-family:Georgia,serif;font-size:35px;font-weight:400;letter-spacing:-1px;margin:22px 0 9px}.pinia-brand h3 span{color:#347e79}.pinia-brand p{font-size:12px;line-height:1.8;margin:0;color:#627260}
@media(max-width:1000px){.pinia-overview{grid-template-columns:1fr;gap:30px}.pinia-overview figure{max-width:680px}.pinia-overview>div{max-width:650px}.pinia-identity-grid{grid-template-columns:1fr}.pinia-brand{padding:30px}.pinia-sign{max-width:130px}}
@media(max-width:650px){.pinia-overview{margin-bottom:45px}.pinia-overview h2{font-size:34px}.pinia-presentation{border-radius:16px}.pinia-brand{border-radius:16px}.pinia-brand h3{font-size:32px}}

.pinia-shot.pinia-street{background-image:url('/yahart/assets/piniapark-detail-wp-380b0427f2.webp');background-size:cover;background-position:center;aspect-ratio:758/720;border-radius:24px}

/* Hlohovec Castle — project imagery and publication gallery. */
.hlohovec-shot{background-image:url('/yahart/assets/hlohovec-reference-wp-f15f2a07a7.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%}.hlohovec-story{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;margin-bottom:70px}.hlohovec-story figure,.hlohovec-gallery figure{margin:0;min-width:0}.hlohovec-story h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.hlohovec-story p{font-size:14px;line-height:1.9;color:#66756a}.hlohovec-story figcaption{font-size:10px;line-height:1.7;color:#6d7e73;margin-top:18px}.hlohovec-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px 25px;align-items:start}.hlohovec-gallery .hlohovec-shot{border-radius:12px}.hlohovec-gallery figcaption{display:flex;gap:15px;font-size:12px;line-height:1.7;color:#627260;margin-top:16px}.hlohovec-gallery figcaption span{color:#438b78;font-size:10px;padding-top:2px}.hlohovec-spread-figure{grid-column:1/-1}.hlohovec-poster{max-width:390px;margin:auto}.hlohovec-cover{max-width:460px;margin:auto}
@media(max-width:1000px){.hlohovec-story{grid-template-columns:1fr;gap:30px}.hlohovec-story figure{max-width:680px}}
@media(max-width:650px){.hlohovec-story{margin-bottom:45px}.hlohovec-story h2{font-size:34px}.hlohovec-gallery{grid-template-columns:1fr;gap:30px}.hlohovec-gallery figure{grid-column:auto}.hlohovec-gallery .hlohovec-poster,.hlohovec-gallery .hlohovec-cover{max-width:none}.hlohovec-gallery figcaption{font-size:12px}}
.hlohovec-room{aspect-ratio:480/320;background-size:426.66666667% 359.37500000%;background-position:32.20663265% 50.00000000%;border-radius:999px}
.hlohovec-ar{aspect-ratio:480/320;background-size:426.66666667% 359.37500000%;background-position:43.36734694% 90.96385542%;border-radius:999px}
.hlohovec-poster{aspect-ratio:316/446;background-size:648.10126582% 257.84753363%;background-position:73.32563510% 18.32386364%;border-radius:12px}
.hlohovec-cover{aspect-ratio:372/446;background-size:550.53763441% 257.84753363%;background-position:96.06205251% 18.32386364%;border-radius:12px}
.hlohovec-spread{aspect-ratio:712/474;background-size:287.64044944% 242.61603376%;background-position:95.05988024% 93.19526627%;border-radius:12px}

.hlohovec-shot.hlohovec-room{background-image:url('/yahart/assets/hlohovec-main-wp-ca308b83dd.webp');background-size:cover;background-position:center;aspect-ratio:760/720;border-radius:24px}

/* The Chocovamp — book and illustration case study. */
.choco-page .case-hero h1{font-size:clamp(38px,4.2vw,67px);letter-spacing:-2.3px}.choco-hero-image{display:block;width:100%;height:auto;border-radius:24px}.choco-credit{font-size:12px;color:#6d7e73;margin:20px 0 0}.choco-credit strong{color:#334d40;font-weight:500}.choco-shot{background-image:url('/yahart/assets/chocovamp-reference-wp-6453ebf729.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:12px}.choco-page figure{margin:0;min-width:0}.choco-world,.choco-book{margin-bottom:65px}.choco-world>figure>figcaption,.choco-extra-grid figcaption{font-size:11px;color:#6d7e73;line-height:1.7;margin-top:15px}.choco-book-grid,.choco-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}.choco-book-grid figcaption{display:flex;gap:15px;font-size:12px;color:#627260;line-height:1.7;margin-top:15px}.choco-book-grid figcaption span{font-size:10px;color:#438b78;padding-top:2px}.choco-extra-grid{padding:30px;background:#f1f1ef;border-radius:18px;align-items:start}.choco-extra-grid figure{max-width:380px;width:100%;justify-self:center}.choco-extra-grid .choco-shot{border-radius:0}
@media(max-width:650px){.choco-page .case-hero h1{font-size:clamp(34px,8.8vw,52px);letter-spacing:-1.7px}.choco-book-grid{grid-template-columns:1fr;gap:25px}.choco-world,.choco-book{margin-bottom:42px}.choco-extra-grid{padding:20px;gap:30px;grid-template-columns:1fr}.choco-hero-image{border-radius:16px}}
.choco-panorama{aspect-ratio:692/274;background-size:295.95375723% 419.70802920%;background-position:93.06784661% 11.30136986%}
.choco-cover{aspect-ratio:343/250;background-size:597.08454810% 460.00000000%;background-position:28.15249267% 61.22222222%}
.choco-road{aspect-ratio:347/250;background-size:590.20172911% 460.00000000%;background-position:49.61787184% 61.22222222%}
.choco-popup{aspect-ratio:343/250;background-size:597.08454810% 460.00000000%;background-position:28.15249267% 91.55555556%}
.choco-room{aspect-ratio:347/250;background-size:590.20172911% 460.00000000%;background-position:49.61787184% 91.55555556%}
.choco-art{aspect-ratio:1284/1848;background-image:url('/yahart/assets/chocovamp-poster-9ea59aaa67a9.webp');background-size:contain;background-position:center;background-color:transparent}
.choco-shirt{aspect-ratio:1144/2008;background-image:url('/yahart/assets/chocovamp-shirt-3c193ebc07ee.webp');background-size:contain;background-position:center;background-color:transparent}

/* Slovak Academy of Sciences / AUSAV case study. */
.sav-page .case-hero h1{font-size:clamp(36px,4.2vw,65px);letter-spacing:-2px}.sav-hero-image{display:block;width:100%;height:auto;border-radius:24px}.sav-page figure{margin:0;min-width:0}.sav-shot{background-image:url('/yahart/assets/sav-reference-wp-7fcb9e75c6.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:12px}.sav-library{display:grid;grid-template-columns:.8fr 1.3fr;gap:8%;align-items:center;margin-bottom:70px}.sav-library>figure{max-width:350px;width:100%;justify-self:center}.sav-library h2{font-size:clamp(30px,3.3vw,48px);letter-spacing:-1.5px;line-height:1.15;margin:0 0 22px}.sav-library p{font-size:14px;line-height:1.85;color:#66756a}.sav-page section figure>figcaption{font-size:11px;color:#6d7e73;line-height:1.7;margin-top:15px}.sav-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.sav-feature-grid>div{border-top:1px solid var(--line);padding-top:18px}.sav-feature-grid h3{font-size:18px;font-weight:500;margin:10px 0}.sav-feature-grid p{font-size:12px;margin:0}.sav-objects{margin-bottom:65px}.sav-object-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;background:#f1f1f1;padding:30px;border-radius:18px}.sav-object-grid .sav-shot{border-radius:0}.sav-landscape{border-radius:20px}
@media(max-width:1000px){.sav-library{grid-template-columns:1fr;gap:35px}.sav-library>figure{max-width:300px}.sav-library>div{max-width:750px}.sav-library>figure{order:2}}
@media(max-width:650px){.sav-page .case-hero h1{font-size:clamp(34px,9vw,49px);letter-spacing:-1.6px}.sav-hero-image{border-radius:16px}.sav-library,.sav-objects{margin-bottom:45px}.sav-object-grid{grid-template-columns:1fr;padding:20px;gap:30px}.sav-feature-grid{gap:20px 15px}.sav-feature-grid h3{font-size:17px}.sav-feature-grid p{font-size:13px}}
.sav-catalog{aspect-ratio:250/440;background-size:819.20000000% 261.36363636%;background-position:29.92213571% 91.83098592%}
.sav-church{aspect-ratio:307/288;background-size:667.10097720% 399.30555556%;background-position:48.07581850% 68.90951276%}
.sav-artifacts{aspect-ratio:351/181;background-size:583.47578348% 635.35911602%;background-position:48.14378315% 92.98245614%}
.sav-landscape{aspect-ratio:526/360;background-size:389.35361217% 319.44444444%;background-position:88.17345598% 80.75949367%}

/* Persistent, opt-in soundtrack. */
.site-sound-control{margin:0 12px 20px;padding:17px 0;border-block:1px solid var(--line)}
.sound-toggle{display:flex;align-items:center;gap:10px;min-height:44px;border:0;background:transparent;color:#627068;padding:0;font-size:13px;cursor:pointer}
.sound-toggle:hover{color:var(--teal)}.sound-credit{display:block;margin:1px 0 0 26px;font-size:10px;color:#6b7766;letter-spacing:.2px}
.sound-bars{display:flex;align-items:center;gap:2px;width:16px;height:17px;color:#348d84}.sound-bars i{display:block;width:2px;height:5px;background:currentColor;transform-origin:center}.is-playing .sound-bars i{animation:sound-pulse .8s ease-in-out infinite alternate}.is-playing .sound-bars i:nth-child(2){animation-delay:-.3s}.is-playing .sound-bars i:nth-child(3){animation-delay:-.6s}.is-playing .sound-bars i:nth-child(4){animation-delay:-.1s}
@keyframes sound-pulse{from{transform:scaleY(.6)}to{transform:scaleY(2.5)}}
.sound-status:not(:empty){font-size:11px;line-height:1.5;color:#965337;margin:8px 0 0}.sound-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.is-playing .sound-bars i{animation:none;height:12px}.is-playing .sound-bars i:nth-child(2n){height:8px}}
@media(max-width:650px){.site-sound-control{order:1;margin:0 12px 0 auto;padding:0;border:0}.sidebar .menu-toggle{order:2}.sound-toggle{min-height:30px;font-size:11px;gap:7px}.sound-credit{font-size:8px;margin:0 0 0 23px}.site-sound-control{min-height:44px}.sound-status:not(:empty){position:absolute;top:77px;left:20px;right:20px;background:#fff;padding:10px;box-shadow:0 3px 12px #0001}}

/* Virtual reality — experience overview. */
.vr-shot{background-image:url('/yahart/assets/vr-reference-wp-ef92bbd77a.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:14px}.vr-page figure{margin:0;min-width:0}.vr-hero-image{border-radius:999px}.vr-showcase{margin-bottom:65px}.vr-showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.vr-showcase-grid figcaption{display:flex;gap:16px;margin-top:23px}.vr-showcase-grid .case-feature-number{padding-top:5px}.vr-showcase-grid h3{font-size:22px;letter-spacing:-.5px;font-weight:500;line-height:1.3;margin:0 0 12px}.vr-showcase-grid p{font-size:13px;line-height:1.85;color:#66756a;margin:0}.vr-experience-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.vr-experience{display:flex;align-items:center;gap:20px;padding:25px 5px;border-top:1px solid var(--line);text-decoration:none}.vr-experience h3{font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.4px;margin:0 0 6px}.vr-experience p{font-size:12px;line-height:1.7;color:#66756a;margin:0}.vr-experience-arrow{margin-left:auto;color:var(--teal);font-size:23px}.vr-experience-list a:hover{background:#edf2eb}.vr-experience-list a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.vr-page .case-project-nav a{max-width:48%;line-height:1.5}
@media(max-width:850px){.vr-showcase-grid,.vr-experience-list{grid-template-columns:1fr}.vr-showcase-grid{gap:35px}.vr-experience{padding:22px 5px}}
@media(max-width:650px){.vr-showcase{margin-bottom:45px}.vr-showcase-grid h3{font-size:21px}.vr-showcase-grid p{font-size:14px}.vr-experience{gap:15px}.vr-experience h3{font-size:19px}.vr-page .case-project-nav a{font-size:15px}}
.vr-hero-image{aspect-ratio:620/347;background-size:330.32258065% 331.41210375%;background-position:91.66666667% 77.45952677%}
.vr-bridge{aspect-ratio:540/304;background-size:379.25925926% 378.28947368%;background-position:34.48275862% 45.62647754%}
.vr-gallery{aspect-ratio:540/337;background-size:379.25925926% 341.24629080%;background-position:34.48275862% 89.42189422%}

/* Recyklonia — educational project case study. */
.recyklonia-page .case-hero h1{font-size:clamp(38px,4.7vw,74px);letter-spacing:-2px}.recy-shot{background-image:url('/yahart/assets/recyklonia-reference-wp-863af6ca29.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:16px}.recyklonia-page figure{margin:0;min-width:0}.recyklonia-page section figure>figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px}.recy-world{margin-bottom:65px}.recy-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.recy-format-grid article{padding:25px;background:#edf2e8;border:1px solid var(--line);border-radius:12px}.recy-format-grid h3{font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.4px;margin:15px 0 12px}.recy-format-grid p{font-size:13px;line-height:1.85;color:#627260;margin:0}.recy-characters,.recy-book-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:65px}.recy-characters h2,.recy-book-section h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.recy-characters p,.recy-book-section p{font-size:14px;line-height:1.9;color:#66756a}.recy-award{display:grid;grid-template-columns:.75fr 1.4fr;gap:40px;align-items:center;padding:35px;border:1px solid #e0dfca;background:#f5f4eb;border-radius:16px}.recy-award-logo{max-width:300px;justify-self:center;border-radius:8px}.recy-award h2{font-size:32px;letter-spacing:-.8px;margin:0 0 12px}.recy-award p:not(.eyebrow){font-size:14px;line-height:1.85;color:#66705d;margin:0}
@media(max-width:1000px){.recy-format-grid{grid-template-columns:1fr 1fr}.recy-characters,.recy-book-section{gap:30px}.recy-award{padding:28px;gap:25px}}
@media(max-width:650px){.recyklonia-page .case-hero h1{font-size:clamp(35px,10vw,52px);letter-spacing:-1.7px}.recy-world,.recy-characters,.recy-book-section{margin-bottom:45px}.recy-format-grid,.recy-characters,.recy-book-section,.recy-award{grid-template-columns:1fr}.recy-format-grid{gap:15px}.recy-characters h2,.recy-book-section h2{font-size:34px}.recy-format-grid p{font-size:14px}.recy-award-logo{max-width:250px}.recy-award{padding:24px}}
.recy-ar{aspect-ratio:549/343;background-size:373.04189435% 335.27696793%;background-position:33.15543696% 62.20570012%}
.recy-cast{aspect-ratio:456/240;background-size:449.12280702% 479.16666667%;background-position:33.91959799% 93.95604396%}
.recy-cover{aspect-ratio:503/360;background-size:407.15705765% 319.44444444%;background-position:88.86731392% 82.02531646%}
.recy-award-logo{aspect-ratio:303/200;background-size:675.90759076% 575.00000000%;background-position:84.35530086% 39.47368421%}

/* CANAPIX — furniture configuration case study. */
.canapix-shot{background-image:url('/yahart/assets/canapix-reference-wp-5a12d0fa97.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:18px}.canapix-page figure{margin:0;min-width:0}.canapix-page section figure>figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px}.canapix-process{margin-bottom:65px}.canapix-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.canapix-steps article{padding:25px;border:1px solid var(--line);border-radius:12px;background:#edf2eb}.canapix-steps h3{font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.4px;margin:16px 0 12px}.canapix-steps p{font-size:13px;line-height:1.85;color:#627260;margin:0}.canapix-model-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:65px}.canapix-model-section h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.canapix-model-section p{font-size:14px;line-height:1.9;color:#66756a}.canapix-sofa-figure{max-width:790px;margin-inline:auto!important}.canapix-parts-figure{margin-top:35px!important;padding:25px;background:#f1f1f1;border-radius:16px}.canapix-page .case-project-nav a{max-width:48%;line-height:1.5}
@media(max-width:1000px){.canapix-steps{grid-template-columns:1fr}.canapix-model-section{grid-template-columns:1fr;gap:30px}.canapix-model-section>figure{max-width:580px;width:100%}}
@media(max-width:650px){.canapix-process,.canapix-model-section{margin-bottom:45px}.canapix-model-section h2{font-size:34px}.canapix-steps p{font-size:14px}.canapix-parts-figure{padding:12px}.canapix-page .case-project-nav a{font-size:15px}}
.canapix-ar{aspect-ratio:1460/1124;background-image:url('/yahart/assets/canapix-ar-room-4ba8b93e9331.webp');background-size:contain;background-position:center;background-color:transparent}
.canapix-models{aspect-ratio:1564/1260;background-image:url('/yahart/assets/canapix-model-selection-336118827e9e.webp');background-size:contain;background-position:center;background-color:transparent}
.canapix-sofa{display:block;width:100%;height:auto;aspect-ratio:1378/690}
.canapix-parts{display:block;width:100%;height:auto;aspect-ratio:1324/224;object-fit:contain}

.recy-shot.recy-ar{background-image:url('/yahart/assets/recyklonia-main-wp-662abe9d1c.webp');background-size:cover;background-position:center;aspect-ratio:1572/1452;border-radius:24px}

.vr-shot.vr-hero-image{background-image:url('/yahart/assets/vr-headset-wp-649ebf0949.webp');background-size:contain;background-position:center;background-color:#fff;aspect-ratio:760/720;border-radius:24px}

.castle-shot.castle-app{background-image:url('/yahart/assets/hrady-main-wp-8d527d5dce.webp');background-size:cover;background-position:center;aspect-ratio:758/720;border-radius:24px}

.recy-character-lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;aspect-ratio:456/240;padding:0}.recy-character{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;text-align:center}.recy-character img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center bottom}.recy-character span{display:block;font-size:12px;color:#47634e;margin-top:12px}.recy-characters>figure{width:100%}@media(max-width:650px){.recy-character-lineup{gap:6px}.recy-character span{font-size:11px}}

/* Illustration books — augmented reality case study. */
.books-hero-image{display:block;width:100%;height:auto;border-radius:24px}.books-shot{background-image:url('/yahart/assets/illustration-books-reference-wp-3935b6bcd9.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:16px}.books-page figure{margin:0;min-width:0}.books-page section figure>figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px}.books-explanation,.books-story{margin-bottom:65px}.books-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.books-steps article{border:1px solid var(--line);background:#edf2eb;border-radius:12px;padding:25px}.books-steps h3{font-size:20px;font-weight:500;line-height:1.35;margin:16px 0 12px;letter-spacing:-.4px}.books-steps p{font-size:13px;line-height:1.85;color:#627260;margin:0}.books-story{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center}.books-story-reverse{grid-template-columns:1fr 1.15fr}.books-story h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.books-story p{font-size:14px;line-height:1.9;color:#66756a}.books-gallery>figure{max-width:760px;margin-inline:auto}.books-page .case-project-nav a{max-width:48%;line-height:1.5}
@media(max-width:1000px){.books-steps{grid-template-columns:1fr}.books-story,.books-story-reverse{grid-template-columns:1fr;gap:30px}.books-story>figure{max-width:680px;width:100%}}
@media(max-width:650px){.books-explanation,.books-story{margin-bottom:45px}.books-story h2{font-size:34px}.books-steps p{font-size:14px}.books-hero-image{border-radius:16px}.books-page .case-project-nav a{font-size:15px}}
.books-carlo{aspect-ratio:725/286;background-size:282.48275862% 402.09790210%;background-position:34.76946334% 92.82407407%}
.books-planet{aspect-ratio:733/290;background-size:279.39972715% 396.55172414%;background-position:94.29657795% 22.67441860%}
.books-scenes{display:block;width:100%;height:auto}

.person .portrait.portrait-ivan{background-image:url('/yahart/assets/ivan-zelenay-wp-8fe3e2de4f.webp');background-size:contain;background-position:center;background-repeat:no-repeat}

.person .portrait.portrait-jaro{background-image:url('/yahart/assets/jaro-valo-wp-e212862a2e.webp');background-size:contain;background-position:center;background-repeat:no-repeat}

/* STU Roreta — university education case study. */
.stu-page .case-hero h1{font-size:clamp(40px,4.8vw,75px);letter-spacing:-2px}.stu-hero-image{display:block;width:100%;height:auto;border-radius:24px}.stu-shot{background-image:url('/yahart/assets/stu-reference-wp-911ff767e3.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:24px}.stu-page figure{margin:0;min-width:0}.stu-page section figure>figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px}.stu-learning,.stu-model-section{margin-bottom:65px}.stu-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stu-benefits article{padding:25px;border:1px solid var(--line);background:#edf2eb;border-radius:12px}.stu-benefits h3{font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.4px;margin:16px 0 12px}.stu-benefits p{font-size:13px;line-height:1.85;color:#627260;margin:0}.stu-model-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.stu-model-section>figure{max-width:440px;width:100%;justify-self:center}.stu-model-section h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.stu-model-section p{font-size:14px;line-height:1.9;color:#66756a}
@media(max-width:1000px){.stu-benefits{grid-template-columns:1fr}.stu-model-section{gap:30px}}
@media(max-width:650px){.stu-learning,.stu-model-section{margin-bottom:45px}.stu-model-section{grid-template-columns:1fr}.stu-model-section h2{font-size:34px}.stu-benefits p{font-size:14px}.stu-hero-image{border-radius:16px}.stu-page .case-hero h1{font-size:42px}}
.stu-mechanism{aspect-ratio:330/376;background-size:620.60606061% 305.85106383%;background-position:75.66938300% 78.16537468%}
.stu-exploded{aspect-ratio:327/373;background-size:626.29969419% 308.31099196%;background-position:95.29343405% 50.06435006%}

.stu-shot.stu-mechanism{background-image:url('/yahart/assets/stu-mechanism-wp-be6db416bc.webp');background-size:contain;background-position:center;background-color:transparent;border-radius:0}

.stu-shot.stu-exploded{background-image:url('/yahart/assets/stu-exploded-wp-02f9abf323.webp');background-size:contain;background-position:center;background-color:transparent;border-radius:0}

.stu-quick-look{border-block:1px solid var(--line);padding:28px 0;margin-top:20px}.stu-quick-look a{display:flex;align-items:center;gap:22px;width:fit-content;max-width:100%;text-decoration:none;border-radius:8px}.stu-ar-icon{width:48px;height:auto;flex:none}.stu-ar-label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:clamp(17px,2.2vw,27px);font-weight:700;line-height:1.3}.stu-ar-label strong{color:var(--teal);font-weight:700}.stu-ar-label span{color:var(--ink);overflow-wrap:anywhere}.stu-quick-look a>span[aria-hidden]{font-size:25px;color:var(--teal)}.stu-quick-look a:hover{opacity:.8}@media(max-width:650px){.stu-quick-look a{gap:14px}.stu-ar-icon{width:36px}.stu-ar-label{font-size:18px}}

/* 360-degree tour portfolio. */
.tours-page .case-hero h1{font-size:clamp(36px,4.1vw,64px);letter-spacing:-2px}.tour-shot{background-image:url('/yahart/assets/360-reference-wp-4b998affdd.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:12px}.tour-hero{border-radius:16px}.tours-page figure{margin:0;min-width:0}.tour-destinations{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tour-destination{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fdfefb;min-width:0}.tour-destination>figure{background:#efefed;padding:20px}.tour-destination .tour-lesostep{max-width:320px;margin:auto}.tour-pmg-frame{display:flex;justify-content:center;align-items:center}.tour-destination .tour-pmg{width:177px;max-width:100%;border-radius:0}.tour-destination-copy{padding:28px}.tour-destination h3{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.6px;margin:0 0 16px}.tour-destination-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#66756a;margin:0 0 22px}.tour-destination-wide{grid-column:1/-1}.tour-destination-wide .tour-destination-copy{max-width:730px}.tour-destination .text-link{white-space:normal}.tour-destinations>.tour-destination:not(.tour-destination-wide){display:flex;flex-direction:column}.tour-destinations>.tour-destination:not(.tour-destination-wide)>figure{min-height:475px;display:flex;align-items:center;justify-content:center}.tour-destinations>.tour-destination:not(.tour-destination-wide) .tour-destination-copy{display:flex;flex-direction:column;flex:1}.tour-destination .text-link{align-self:flex-start;margin-top:auto}
@media(max-width:850px){.tour-destinations{grid-template-columns:1fr}.tour-destination-wide{grid-column:auto}.tour-destinations>.tour-destination:not(.tour-destination-wide)>figure{min-height:0}.tour-destination .tour-pmg{width:160px}}
@media(max-width:650px){.tours-page .case-hero h1{font-size:clamp(34px,9vw,48px);letter-spacing:-1.7px}.tour-destination-copy{padding:23px}.tour-destination h3{font-size:23px}.tour-destinations{gap:22px}}
.tour-hero{aspect-ratio:2428/1264;background-image:url('/yahart/assets/360-pmg-notebook-6170ba6dab50-wp-d5adccbdfa.webp');background-size:cover;background-position:center}
.tour-lesostep{aspect-ratio:387/517;background-size:529.19896641% 222.43713733%;background-position:78.80794702% 21.32701422%}
.tour-pmg{aspect-ratio:214/585;background-size:957.00934579% 196.58119658%;background-position:95.03816794% 23.71681416%}
.tour-drazovce{aspect-ratio:649/240;background-size:315.56240370% 479.16666667%;background-position:93.56683345% 87.58241758%}

/* Nitra on 7 hills — mobile city guide. */
.nitra-page .case-hero h1{font-size:clamp(40px,4.7vw,72px);letter-spacing:-2px}.nitra-hero-image{display:block;width:100%;height:auto;border-radius:24px}.nitra-shot{background-image:url('/yahart/assets/nitra-reference-wp-4b2a162cdc.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:16px}.nitra-page figure{margin:0;min-width:0}.nitra-story{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;margin-bottom:65px}.nitra-story-reverse{grid-template-columns:1fr 1.15fr}.nitra-story h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.nitra-story p{font-size:14px;line-height:1.9;color:#66756a}.nitra-story figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px}.nitra-hills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}.nitra-hills li{font-size:11px;line-height:1.5;border:1px solid #d7e0d5;border-radius:24px;padding:9px 13px;color:#42634e}
@media(max-width:1000px){.nitra-story,.nitra-story-reverse{grid-template-columns:1fr;gap:30px}.nitra-story figure{max-width:700px;width:100%}}
@media(max-width:650px){.nitra-story{margin-bottom:45px}.nitra-story h2{font-size:34px}.nitra-page .case-hero h1{font-size:46px}.nitra-hero-image{border-radius:16px}.nitra-page .case-project-nav a{max-width:48%;font-size:15px;line-height:1.5}}
.nitra-discover{aspect-ratio:609/414;background-size:336.28899836% 277.77777778%;background-position:35.78874218% 83.15217391%}
.nitra-ar{aspect-ratio:609/413;background-size:336.28899836% 278.45036320%;background-position:93.95413482% 17.50339213%}
.nitra-legend{aspect-ratio:609/414;background-size:336.28899836% 277.77777778%;background-position:93.95413482% 83.15217391%}

/* 3D Models — architectural visualisation portfolio. */
.models-hero-image{display:block;width:100%;height:auto;border-radius:24px}.models-shot{background-image:url('/yahart/assets/models-reference-wp-76bbf35dbe.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:16px}.models-page figure{margin:0;min-width:0}.models-gallery-section,.models-plan-section{margin-bottom:65px}.models-gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px}.models-interior,.models-exterior{border-radius:999px}.models-gallery figcaption{display:flex;gap:16px;margin-top:23px}.models-gallery .case-feature-number{padding-top:5px}.models-gallery h3{font-size:22px;font-weight:500;margin:0 0 12px;letter-spacing:-.5px}.models-gallery p{font-size:13px;line-height:1.85;color:#66756a;margin:0}.models-plan-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.models-plan-section figure{width:100%;max-width:420px;justify-self:center}.models-plan-section h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.models-plan-section p{font-size:14px;line-height:1.9;color:#66756a}.models-plan-section figcaption,.models-bridge-section figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px}.models-bridge-section>figure{padding:22px;background:#f1f1f1;border-radius:16px}.models-page .case-project-nav a{max-width:48%;line-height:1.5}
@media(max-width:850px){.models-gallery,.models-plan-section{grid-template-columns:1fr;gap:35px}}
@media(max-width:650px){.models-gallery-section,.models-plan-section{margin-bottom:45px}.models-plan-section h2{font-size:34px}.models-gallery p{font-size:14px}.models-hero-image{border-radius:16px}.models-bridge-section>figure{padding:10px}.models-page .case-project-nav a{font-size:15px}}
.models-interior{aspect-ratio:673/380;background-size:304.30906389% 302.63157895%;background-position:35.12727273% 56.88311688%}
.models-exterior{aspect-ratio:672/379;background-size:304.76190476% 303.43007916%;background-position:92.65988372% 56.93904021%}
.models-plan{aspect-ratio:340/328;background-size:602.35294118% 350.60975610%;background-position:84.77751756% 11.92214112%}
.models-bridge{aspect-ratio:1371/241;background-size:149.38001459% 477.17842324%;background-position:85.08124077% 94.49944994%}

/* PLAYAR — augmented reality content library. */
.playar-shot{background-image:url('/yahart/assets/playar-reference-wp-56264e9c8d.webp');background-repeat:no-repeat;background-color:#f1f1f1;width:100%;border-radius:14px}.playar-overview{border-radius:999px}.playar-page figure{margin:0;min-width:0}.playar-library{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:65px}.playar-library h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 22px}.playar-library p,.playar-example>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#66756a}.playar-tablet{display:block;width:100%;height:auto;max-width:450px;margin:auto}.playar-library figcaption{font-size:11px;line-height:1.7;color:#6d7e73;margin-top:16px;text-align:center}.playar-example-list{display:grid;gap:35px}.playar-example{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;align-items:center;padding-bottom:35px;border-bottom:1px solid var(--line)}.playar-example:last-child{padding-bottom:0;border-bottom:0}.playar-example h3{font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.6px;margin:0 0 15px}.playar-example>div>p:last-child{margin-bottom:0}:root[data-theme="dark"] .playar-example>div>p:not(.eyebrow){color:#b0c0b5}
@media(max-width:1000px){.playar-example{grid-template-columns:1fr;gap:24px}}
@media(max-width:650px){.playar-library{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.playar-library h2{font-size:34px}.playar-example h3{font-size:24px}.playar-tablet{max-width:340px}}
.playar-overview{aspect-ratio:589/403;background-size:347.70797963% 285.35980149%;background-position:35.50376971% 76.97456493%}
.playar-game{aspect-ratio:683/232;background-size:299.85358712% 495.68965517%;background-position:93.26007326% 21.89542484%}
.playar-interior{aspect-ratio:683/231;background-size:299.85358712% 497.83549784%;background-position:93.26007326% 52.12187160%}
.playar-magazine{aspect-ratio:683/230;background-size:299.85358712% 500.00000000%;background-position:93.26007326% 82.93478261%}

/* Text is visible by default; JavaScript reveals it progressively without CSS animation delays. */
.hero h1.typed-heading{font-weight:400;line-height:1.1;letter-spacing:-.065em}
.hero h1 .type-line{font-weight:inherit;color:var(--ink)}
.hero h1 .type-line-emphasis{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.06em;color:var(--teal)}
.hero h1 .type-line-emphasis .type-char{font-style:italic}
.type-char{font-style:inherit;position:relative}
.type-char.typing-caret::after{content:'';position:absolute;left:100%;top:.14em;width:2px;height:.78em;background:currentColor;pointer-events:none}
@media(prefers-reduced-motion:reduce){.type-char{visibility:visible!important}.type-char::after{display:none}}

/* Supplied six-second video, at a smaller size than the previous SVG. */
.hero-brand{position:absolute;z-index:2;top:55px;right:40px;width:130px;height:130px;display:block;padding:0;border:0;border-radius:50%;background:transparent;appearance:none;cursor:pointer;mix-blend-mode:multiply}
.hero-brand .hero-brand-mark{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
:root[data-theme="dark"] .hero-brand{mix-blend-mode:screen}
:root[data-theme="dark"] .hero-brand .hero-brand-mark{filter:invert(1)}
@media(max-width:650px){.hero-brand{top:16px;right:16px;width:56px;height:56px}.hero:has(.hero-brand){padding-top:100px}}

/* A decorative hand sweeps across the Canapix configuration modules. */
.canapix-parts-stage{position:relative;--canapix-hand-width:clamp(26px,4vw,52px);margin-bottom:var(--canapix-hand-width)}
.canapix-gesture-track{position:absolute;top:80%;left:5%;width:calc(90% - var(--canapix-hand-width));height:0;pointer-events:none;user-select:none}
.canapix-gesture-hand{position:absolute;top:0;left:0;display:block;width:var(--canapix-hand-width);height:auto;max-width:none;opacity:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.48));animation:canapix-hand-sweep 10s ease-in-out infinite}
@keyframes canapix-hand-sweep{0%{left:0;opacity:0;transform:translateY(3px)}12%{left:0;opacity:1;transform:translateY(0)}76%{left:100%;opacity:1;transform:translateY(0)}88%,100%{left:100%;opacity:0;transform:translateY(3px)}}
@media(prefers-reduced-motion:reduce){.canapix-gesture-track{display:none}.canapix-gesture-hand{animation:none}}

/* Switch between project photography and the text tiles from the reference. */
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:22px 0 25px}
.portfolio-toolbar .filters{margin:0}
.project-view-switch{display:flex;flex:none;gap:3px;margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.project-view-switch button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:0;border-radius:5px;background:transparent;color:var(--ink);font-size:11px;font-weight:500;transition:background .18s,color .18s}
.project-view-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.project-view-switch button:hover:not([aria-pressed=true]){background:var(--line)}
.project-view-switch svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#project-grid[data-view=tiles]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0;border-radius:10px;overflow:visible;background:transparent}
#project-grid .project-text-card{display:flex;flex-direction:column;align-items:center;min-height:250px;padding:28px 20px;gap:20px;text-align:center;border-radius:0;--project-tile-bg:#347e79;--project-tile-ink:#fff;background:var(--project-tile-bg);color:var(--project-tile-ink);transition:background .2s}
#project-grid .project-text-card:focus-visible{outline:3px solid var(--project-tile-ink);outline-offset:-6px}
.project-text-copy{display:flex;flex:1;flex-direction:column;justify-content:center;gap:10px;width:100%}
.home-page #project-grid .project-text-card h3{margin:0;font-size:clamp(16px,1.45vw,22px);line-height:1.35;font-weight:550;letter-spacing:-.25px;overflow-wrap:anywhere;color:var(--project-tile-ink)}
.home-page #project-grid .project-text-card p{margin:0;font-size:12px;line-height:1.6;color:var(--project-tile-ink)}
.project-text-rule{display:block;flex:none;width:70px;height:1px;background:var(--project-tile-ink)}
.project-text-open{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;transition:background .2s,color .2s}
.project-text-open svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.project-text-card:hover .project-text-open,.project-text-card:focus-visible .project-text-open{background:var(--project-tile-ink);color:var(--project-tile-bg);border-color:var(--project-tile-ink)}
@media(max-width:1100px){#project-grid[data-view=tiles]{grid-template-columns:repeat(3,minmax(0,1fr))}#project-grid .project-text-card{min-height:230px;padding:24px 16px}}
@media(max-width:850px){#project-grid[data-view=tiles]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portfolio-toolbar{gap:13px;margin:19px 0 22px}.project-view-switch{margin-left:0}.project-view-switch button{min-height:40px;padding-inline:14px}#project-grid .project-text-card{min-height:228px;padding:22px 13px;gap:18px}.home-page #project-grid .project-text-card h3{font-size:16px}.home-page #project-grid .project-text-card p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.project-view-switch button,#project-grid .project-text-card,.project-text-open{transition:none}}

/* About: expertise and the contact invitation. */
.about-expertise{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start;margin-top:70px}
.about-expertise-intro h2{font-size:clamp(26px,2.5vw,38px);line-height:1.2;letter-spacing:-1.2px;margin:0 0 28px}
.about-expertise-intro .text-link{font-size:12px;border-bottom:0;white-space:normal}
.about-expertise-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.about-expertise-list li{border-bottom:1px solid var(--line)}
.about-expertise-list a{display:grid;grid-template-columns:14px 1fr 20px;gap:14px;align-items:center;min-height:65px;padding:18px 0;color:var(--ink);font-size:15px;line-height:1.5;text-decoration:none;transition:color .2s}
.about-expertise-number{font-size:9px;color:var(--ink);opacity:.6}
.about-expertise-arrow{color:var(--teal);font-size:21px;line-height:1;justify-self:end;transition:transform .2s}
.about-expertise-list a:hover,.about-expertise-list a:focus-visible{color:var(--teal)}
.about-expertise-list a:hover .about-expertise-arrow,.about-expertise-list a:focus-visible .about-expertise-arrow{transform:translate(2px,-2px)}
.about-invitation{margin-top:100px}
.about-invitation-link{display:flex;justify-content:space-between;align-items:center;gap:35px;text-decoration:none;padding:12px 0}
.about-invitation h2{font-size:clamp(28px,3.6vw,52px);line-height:1.18;letter-spacing:-1.3px;font-weight:500;margin:0}
.about-invitation h2 span{display:inline-block;color:var(--teal);margin-top:9px}
.about-invitation-arrow{display:grid;place-items:center;flex:none;width:clamp(48px,5.6vw,72px);height:clamp(48px,5.6vw,72px);border:1px solid var(--line);border-radius:50%;font-size:clamp(24px,2.8vw,34px);font-weight:400;line-height:1;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.about-invitation-link:hover .about-invitation-arrow,.about-invitation-link:focus-visible .about-invitation-arrow{background:var(--teal);color:var(--paper);border-color:var(--teal)}
@media(max-width:1000px){.about-expertise{grid-template-columns:1fr;gap:34px;margin-top:45px}.about-expertise-intro h2{margin-bottom:20px}.about-invitation{margin-top:65px}}
@media(max-width:650px){.about-expertise{margin-top:30px}.about-expertise-intro h2{font-size:29px;letter-spacing:-.9px}.about-expertise-list a{font-size:14px;gap:11px;min-height:61px}.about-invitation{margin-top:55px}.about-invitation-link{align-items:flex-start;flex-direction:column;gap:25px}.about-invitation h2{font-size:clamp(24px,6.4vw,34px);letter-spacing:-.8px}.about-invitation-arrow{width:48px;height:48px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.about-expertise-list a,.about-expertise-arrow,.about-invitation-arrow{transition:none}}

/* Meteorites: full application screens from the exhibit catalogue. */
.meteority-gallery{margin-top:70px;padding-top:36px;border-top:1px solid var(--line)}
.meteority-screens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);max-width:1160px;margin:0 auto}
.meteority-screens figure{width:100%;max-width:380px;min-width:0;margin:0 auto}
.meteority-screens img{display:block;width:100%;height:auto;aspect-ratio:860/1864;border:1px solid var(--line);border-radius:16px}
.meteority-screens figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:14px;font-size:12px;line-height:1.6;color:var(--ink)}
.meteority-screens figcaption span:first-child{font-size:15px;font-weight:500}
@media(max-width:1100px){.meteority-screens{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}}
@media(max-width:650px){.meteority-gallery{margin-top:45px;padding-top:28px}.meteority-screens{grid-template-columns:1fr;gap:32px}.meteority-screens figure{max-width:380px}.meteority-screens img{border-radius:12px}}

.meteority-screens .meteority-demo-caption{flex-wrap:wrap}
.meteority-screens .meteority-demo-link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-basis:100%;margin-top:6px;text-align:left}
.meteority-demo-link>span{flex:none}

/* Kris Sagan — City of Dreams. Artwork windows use the supplied reference. */
.kris-page figure{margin:0;min-width:0}
.kris-page .case-hero h1{font-size:clamp(43px,4.8vw,76px);letter-spacing:-2.5px}
.kris-shot{width:100%;background-image:url('/yahart/assets/kris-sagan-reference-wp-4b7a27e01e.webp');background-repeat:no-repeat;background-color:#f1f1f1;border-radius:18px}
.kris-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}
.kris-gallery figure{display:flex;flex-direction:column}
.kris-gallery figcaption{display:flex;gap:15px;margin-top:22px}
.kris-gallery .case-feature-number{padding-top:4px}
.kris-gallery h3{font-size:22px;font-weight:500;line-height:1.35;letter-spacing:-.4px;margin:0 0 10px}
.kris-gallery p{font-size:13px;line-height:1.8;color:#66756a;margin:0}
.kris-page .case-project-nav a{max-width:48%;line-height:1.5}
@media(max-width:1000px){.kris-page .case-main-visual{width:100%;margin-top:35px}}
@media(max-width:850px){.kris-gallery{grid-template-columns:1fr;gap:35px}.kris-gallery figure{width:100%;max-width:680px;margin-inline:auto}}
@media(max-width:650px){.kris-page .case-hero h1{font-size:46px;letter-spacing:-2px}.kris-shot{border-radius:12px}.kris-gallery p{font-size:14px}.kris-gallery h3{font-size:21px}.kris-page .case-project-nav a{font-size:15px}}
.kris-overview{aspect-ratio:2124/1052;background-image:url('/yahart/assets/kris-overview-934e0bc75f0c.webp');background-size:contain;background-position:center;background-color:transparent}
.kris-district{aspect-ratio:2112/1044;background-image:url('/yahart/assets/kris-district-34a6c3a61a74.webp');background-size:contain;background-position:center;background-color:transparent}
.kris-swans{aspect-ratio:736/298;display:grid;grid-template-columns:70% 30%;align-items:end;background-image:none;background-color:transparent}
.kris-garden{aspect-ratio:2928/1464;background-image:url('/yahart/assets/kris-garden-1f47c3006e76.webp');background-size:contain;background-position:center;background-color:transparent}
.kris-landmarks{aspect-ratio:674/276;display:grid;grid-template-columns:62% 34%;gap:4%;align-items:center;background-image:none;background-color:transparent}

/* VR identity in the project introduction. */
.vr-brand-logo{display:block;width:136px;max-width:100%;height:auto;margin:0 0 24px;object-fit:contain}
:root[data-theme="dark"] .vr-brand-logo{padding:8px;background:#fff;border-radius:10px}
@media(max-width:650px){.vr-brand-logo{width:112px;margin-bottom:20px}}

/* Image project cards: one rounded surface, concise copy and a gentle lift. */
#project-grid[data-view=photos]{align-items:stretch;gap:28px 22px}
:is(#project-grid,#featured-projects) .project-photo-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--project-card-shadow,0 3px 12px #22382d06);transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease,border-color .3s ease}
:is(#project-grid,#featured-projects) .project-photo-card .tile{flex:none;border-radius:0;filter:none}
:is(#project-grid,#featured-projects) .project-photo-card .project-label{flex:1;padding:19px 20px 23px;gap:14px}
:is(#project-grid,#featured-projects) .project-photo-card .project-label>div{min-width:0}
:is(#project-grid,#featured-projects) .project-photo-card .project-kind{font-size:10px;line-height:1.5;letter-spacing:.2px;color:var(--teal);margin:0 0 8px}
:is(#project-grid,#featured-projects) .project-photo-card h3{font-size:17px;font-weight:550;line-height:1.35;letter-spacing:-.3px;overflow-wrap:break-word;margin:0 0 9px}
:is(#project-grid,#featured-projects) .project-photo-card .project-description{font-size:13px;line-height:1.65;color:#626f68;margin:0}
:is(#project-grid,#featured-projects) .project-photo-card .project-label>span{display:grid;place-items:center;flex:none;width:29px;height:29px;margin-top:21px;border:1px solid var(--line);border-radius:50%;font-size:16px;color:var(--teal);transform:none;transition:background .2s,color .2s}
:is(#project-grid,#featured-projects) .project-photo-card:focus-visible{transform:translateY(-6px);box-shadow:var(--project-card-lift-shadow,0 16px 30px #193e2924);border-color:var(--teal)}
:is(#project-grid,#featured-projects) .project-photo-card:focus-visible .project-label>span{background:var(--teal);color:var(--paper)}
:root[data-theme=dark] :is(#project-grid,#featured-projects) .project-photo-card{background:#202a24;--project-card-shadow:0 3px 12px #0002;--project-card-lift-shadow:0 16px 30px #0007}
:root[data-theme=dark] :is(#project-grid,#featured-projects) .project-photo-card .project-description{color:#b0c0b5}
@media(hover:hover) and (pointer:fine){:is(#project-grid,#featured-projects) .project-photo-card:hover{transform:translateY(-6px);box-shadow:var(--project-card-lift-shadow,0 16px 30px #193e2924);border-color:var(--teal)}:is(#project-grid,#featured-projects) .project-photo-card:hover .project-label>span{background:var(--teal);color:var(--paper)}}
@media(max-width:1100px){#project-grid[data-view=photos]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}
@media(max-width:650px){#project-grid[data-view=photos]{gap:20px 12px}:is(#project-grid,#featured-projects) .project-photo-card{border-radius:16px}:is(#project-grid,#featured-projects) .project-photo-card .project-label{padding:14px 12px 17px;gap:7px}:is(#project-grid,#featured-projects) .project-photo-card h3{font-size:14px;letter-spacing:-.2px}:is(#project-grid,#featured-projects) .project-photo-card .project-kind{font-size:10px}:is(#project-grid,#featured-projects) .project-photo-card .project-description{font-size:12px;line-height:1.6}:is(#project-grid,#featured-projects) .project-photo-card .project-label>span{width:23px;height:23px;font-size:14px}}
@media(max-width:380px){#project-grid[data-view=photos]{grid-template-columns:1fr}:is(#project-grid,#featured-projects) .project-photo-card .project-label{padding:18px}:is(#project-grid,#featured-projects) .project-photo-card h3{font-size:17px}:is(#project-grid,#featured-projects) .project-photo-card .project-description{font-size:13px}}
@media(prefers-reduced-motion:reduce){:is(#project-grid,#featured-projects) .project-photo-card,:is(#project-grid,#featured-projects) .project-photo-card .project-label>span{transition:none}:is(#project-grid,#featured-projects) .project-photo-card:hover,:is(#project-grid,#featured-projects) .project-photo-card:focus-visible{transform:none}}

/* Consistent homepage thumbnails, with framing tuned to each original asset. */
.home-page .project-art{position:relative;display:grid;place-items:center;flex:none;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--art-surface,#f1f3ee)}
.home-page .project-art>img{display:block;position:absolute;inset:0;width:100%;height:100%}
.home-page .project-art-window{display:block;position:relative;width:100%;overflow:hidden}
.home-page .project-art-window>img{display:block;position:absolute;max-width:none}
.home-page .project-art-7-pahorkov>img{padding:0}
.home-page .project-art-books>img{border-radius:0}
.featured-projects{padding:30px 0 45px;border-top:1px solid var(--line)}
.featured-projects .work-heading{margin-bottom:24px}
.featured-projects .eyebrow{margin:0 0 9px;font-size:9px;line-height:1.6;letter-spacing:1.5px;color:var(--teal)}
.featured-project-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:22px}
#featured-projects .featured-project-lead{grid-row:span 2}
#featured-projects .featured-project-card:not(.featured-project-lead){display:grid;grid-template-columns:46% minmax(0,1fr);align-items:center}
#featured-projects .featured-project-card:not(.featured-project-lead) .project-art{height:100%;aspect-ratio:auto;min-height:225px}
#featured-projects .featured-project-card:not(.featured-project-lead) .project-label{padding:23px 20px}
#featured-projects .featured-project-lead .project-label{padding:24px 26px 26px}
#featured-projects .featured-project-card h3{font-size:22px;line-height:1.25}
#featured-projects .featured-project-lead h3{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.8px}
#featured-projects .featured-project-card .project-kind{font-size:11px}
#featured-projects .featured-project-lead .project-description{font-size:14px;max-width:340px}
.featured-project-link{display:inline-flex;align-items:center;gap:20px;margin-top:20px;color:var(--teal);font-size:12px;font-weight:500}
.featured-project-link>span{font-size:17px}
.meteority-hero-demo{margin-right:12px}
@media(min-width:1550px){.featured-project-grid{gap:26px}#featured-projects .featured-project-card:not(.featured-project-lead) .project-art{min-height:240px}#featured-projects .featured-project-card:not(.featured-project-lead) .project-label{padding:28px 25px}}
@media(max-width:1100px){.featured-project-grid{grid-template-columns:1fr 1fr;gap:18px}#featured-projects .featured-project-lead{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}#featured-projects .featured-project-lead .project-label{padding:25px}#featured-projects .featured-project-card:not(.featured-project-lead){display:flex}#featured-projects .featured-project-card:not(.featured-project-lead) .project-art{height:auto;aspect-ratio:4/3;min-height:0}#featured-projects .featured-project-card:not(.featured-project-lead) .project-label{padding:20px}#featured-projects .featured-project-card h3{font-size:23px}}
@media(max-width:650px){.featured-projects{padding:24px 0 30px}.featured-projects .work-heading{margin-bottom:20px}.featured-projects .eyebrow{font-size:8px;letter-spacing:1px}.featured-project-grid{gap:15px}#featured-projects .featured-project-lead{display:flex}#featured-projects .featured-project-lead .project-label{padding:21px}#featured-projects .featured-project-lead h3{font-size:28px}#featured-projects .featured-project-card:not(.featured-project-lead) .project-label{padding:16px 13px}#featured-projects .featured-project-card:not(.featured-project-lead) h3{font-size:18px}#featured-projects .featured-project-card .project-kind{font-size:10px}.featured-project-link{margin-top:15px;gap:10px;font-size:11px}}
@media(max-width:380px){.featured-project-grid{grid-template-columns:1fr}#featured-projects .featured-project-card:not(.featured-project-lead) .project-label{padding:20px}#featured-projects .featured-project-card:not(.featured-project-lead) h3{font-size:23px}}

/* Round brand mark in the contact card. */
.contact-details{isolation:isolate}
.contact-details .contact-logo{display:block;float:right;width:64px;height:64px;object-fit:contain;margin:0 0 16px 18px;mix-blend-mode:multiply}
:root[data-theme="dark"] .contact-details .contact-logo{filter:invert(1);mix-blend-mode:screen}
@media(min-width:851px) and (max-width:1100px){.contact-details .contact-logo{width:52px;height:52px;margin-left:12px}}

/* Application icons from the supplied downloads artwork. */
.download-item .download-app-icon{display:block;width:72px;height:72px;flex:none;object-fit:cover;border-radius:22%;margin:0 0 20px;box-shadow:0 3px 12px #15291f0a}
.download-app-icon-crop{background-image:url('/yahart/assets/download-app-icons-reference-wp-58660d1d70.webp');background-repeat:no-repeat}
.download-item h2{overflow-wrap:break-word}

/* Separate the message label from the placeholder and entered text. */
.contact-editor .contact-message-label{display:block;line-height:1.6}
.contact-editor .contact-message textarea{margin-top:12px;padding-top:18px;line-height:1.6;min-height:146px}

/* Place the studio tagline directly below the sidebar logo. */
@media(min-width:651px){
 .sidebar .sidebar-caption{margin:18px 10px 0;line-height:1.65;flex:none}
 .sidebar nav{margin-top:32px}
}

/* Text tiles respond to a pointer or keyboard focus with a gentle lift. */
#project-grid .project-text-card{position:relative;z-index:0;border-radius:10px;box-shadow:0 3px 10px #193e2910;transition:transform .32s cubic-bezier(.2,.7,.3,1),box-shadow .32s ease}
#project-grid .project-text-rule{transition:transform .32s ease}
#project-grid .project-text-open{transition:background .25s ease,color .25s ease,transform .32s ease}
#project-grid .project-text-open svg{transition:transform .32s ease}
#project-grid .project-text-card:focus-visible{z-index:1;transform:translateY(-6px);box-shadow:var(--text-tile-lift-shadow,0 14px 26px #193e2930)}
#project-grid .project-text-card:focus-visible .project-text-rule{transform:scaleX(1.2)}
#project-grid .project-text-card:focus-visible .project-text-open{transform:scale(1.08)}
#project-grid .project-text-card:focus-visible .project-text-open svg{transform:translateX(3px)}
:root[data-theme=dark] #project-grid .project-text-card{--text-tile-lift-shadow:0 14px 28px #0007}
@media(hover:hover) and (pointer:fine){
 #project-grid .project-text-card:hover{z-index:1;transform:translateY(-6px);box-shadow:var(--text-tile-lift-shadow,0 14px 26px #193e2930)}
 #project-grid .project-text-card:hover .project-text-rule{transform:scaleX(1.2)}
 #project-grid .project-text-card:hover .project-text-open{transform:scale(1.08)}
 #project-grid .project-text-card:hover .project-text-open svg{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){
 #project-grid .project-text-card,#project-grid .project-text-card :is(.project-text-rule,.project-text-open,.project-text-open svg){transition:none}
 #project-grid .project-text-card:is(:hover,:focus-visible),#project-grid .project-text-card:is(:hover,:focus-visible) :is(.project-text-rule,.project-text-open,.project-text-open svg){transform:none}
}

/* Reference links and copyright at the bottom of the sidebar. */
.sidebar-legal{flex:none;margin:0 12px 22px;padding-top:15px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:#6b7766}
.sidebar-legal-links{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:9px}
.sidebar-legal-links a{text-decoration:none;font-size:11px;line-height:1.7}
.sidebar-legal-links a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
:root[data-theme=dark] .sidebar-legal{color:#b0c0b5}
@media(min-width:651px){.sidebar{overflow-y:auto}.sidebar nav{margin-bottom:32px;flex-shrink:0}.sidebar .site-sound-control{margin-top:auto;flex-shrink:0}.sidebar .theme-toggle{flex-shrink:0}}
@media(min-width:651px) and (max-height:800px){.sidebar nav{margin-bottom:16px}.sidebar .site-sound-control{padding-block:12px;margin-bottom:12px}.sidebar .theme-toggle{margin-bottom:10px}.sidebar-legal{margin-bottom:18px;padding-top:12px}}
@media(max-width:650px){.sidebar-legal{display:none}}

/* Readable policies, using the website's existing colours and language switch. */
.legal-page .legal-header{max-width:850px;margin-bottom:48px}
.legal-page .legal-header h1{max-width:780px;font-size:clamp(34px,4vw,60px);line-height:1.12}
.legal-page .legal-updated{font-size:12px;color:#68746c;margin:20px 0 25px}
.legal-tabs{display:flex;flex-wrap:wrap;gap:10px}
.legal-tabs a{padding:10px 16px;border:1px solid var(--line);border-radius:24px;font-size:13px;text-decoration:none}
.legal-tabs a[aria-current=page]{background:var(--teal);border-color:var(--teal);color:var(--paper)}
.legal-tabs a:hover{border-color:var(--teal)}
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(30px,4vw,68px);align-items:start}
.legal-body{max-width:880px;min-width:0}
.legal-body section{margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
.legal-page .legal-body h2{font-size:23px;line-height:1.35;letter-spacing:-.5px;margin:0 0 16px}
.legal-page .legal-body p{font-size:15px;line-height:1.85;margin:0 0 16px;color:var(--ink)}
.legal-page .legal-body .legal-intro{font-size:19px;line-height:1.65;color:var(--teal)}
.legal-body a,.legal-controller>a{color:var(--teal);text-underline-offset:3px;overflow-wrap:anywhere}
.legal-company{background:#eaf0e8;border:1px solid var(--line);border-radius:12px;padding:24px}
.legal-page .legal-company h2{font-size:11px;line-height:1.5;letter-spacing:1px;text-transform:uppercase;margin:0 0 18px;color:#617169}
.legal-controller strong{font-size:18px;font-weight:600}
.legal-controller p,.legal-controller>a{font-size:13px;line-height:1.85}
.legal-controller dl{margin:24px 0;font-size:12px;line-height:1.7}
.legal-controller dl>div{margin-top:12px}
.legal-controller dt{color:#617169;font-size:11px}
.legal-controller dd{margin:0;overflow-wrap:anywhere}
.legal-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.legal-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.65;text-align:left}
.legal-table caption{text-align:left;padding:14px 16px;font-size:12px;background:#eaf0e8}
.legal-table th,.legal-table td{padding:16px;vertical-align:top;border-top:1px solid var(--line);min-width:160px}
.legal-table th{font-weight:550}
.legal-table code{font-size:12px;overflow-wrap:anywhere}
.legal-table small{display:block;font-size:11px;font-weight:400;margin-top:5px}
.contact-editor .contact-privacy-note{grid-column:1/-1;margin:0;font-size:12px;line-height:1.7;color:var(--ink)}
.contact-privacy-note a{color:var(--teal);text-underline-offset:3px}
.sidebar-legal-links a[aria-current=page]{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.mobile-legal{display:none}
:root[data-theme=dark] .legal-company,:root[data-theme=dark] .legal-table caption{background:#243229}
:root[data-theme=dark] .legal-page .legal-body p{color:var(--ink)}
:root[data-theme=dark] .legal-page .legal-body .legal-intro{color:var(--teal)}
:root[data-theme=dark] .legal-page :is(.legal-updated,.legal-company h2,.legal-controller dt){color:#b0c0b5}
@media(max-width:1100px){.legal-layout{grid-template-columns:minmax(0,1fr)}.legal-company{max-width:500px}.legal-controller dl{display:flex;flex-wrap:wrap;gap:14px 28px}.legal-controller dl>div{margin:0}}
@media(max-width:650px){.legal-page .legal-header{margin-bottom:30px}.legal-page .legal-header h1{font-size:36px;letter-spacing:-1.5px}.legal-page .legal-body h2{font-size:21px}.legal-page .legal-body p{font-size:14px}.legal-page .legal-body .legal-intro{font-size:17px}.legal-table th,.legal-table td{padding:12px;min-width:150px}.mobile-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;margin:0 20px;padding:20px 0 28px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:var(--ink)}.mobile-legal a{color:var(--teal);text-underline-offset:3px}}

/* Balance the sidebar mark with the 130px animated logo; match its neutral grey. */
.sidebar .logo.logo-image,:root[data-theme=dark] .sidebar .logo.logo-image{width:90px;height:90px;background:transparent;border-radius:0;flex-shrink:0}
.sidebar .logo.logo-image::before{content:none;display:none}
.sidebar .logo.logo-image img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.28);mix-blend-mode:multiply}
:root[data-theme=dark] .sidebar .logo.logo-image img{filter:grayscale(1) contrast(1.28) invert(1);mix-blend-mode:screen}
@media(min-width:1550px){.sidebar .logo.logo-image,:root[data-theme=dark] .sidebar .logo.logo-image{width:100px;height:100px}}
@media(max-width:650px){.sidebar .logo.logo-image,:root[data-theme=dark] .sidebar .logo.logo-image{width:50px;height:50px}}

/* Automatic contact form: status and non-interactive spam trap. */
.contact-editor .contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.contact-submit p[data-state="success"]{color:var(--accent,#347e79);font-weight:600}
.contact-submit p[data-state="error"]{color:#ad4538}
:root[data-theme="dark"] .contact-submit p[data-state="error"]{color:#ffb4a9}
.contact-editor[aria-busy="true"] .contact-submit button{opacity:.65;cursor:wait}

/* Independent, lossless illustrations for the Kris Sagan gallery. */
.kris-swans>img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center bottom}.kris-bridge{display:block;width:100%;aspect-ratio:374/210;background-image:url('/yahart/assets/kris-bridge-13987065a588.webp');background-repeat:no-repeat;background-size:contain;background-position:center}.kris-fountain-window{display:block;position:relative;aspect-ratio:797/952;height:90%;max-width:100%;justify-self:center;overflow:hidden}.kris-fountain-window>img{position:absolute;max-width:none;width:164.11543287%;height:137.39495798%;left:-31.99498118%;top:-37.39495798%}

/* Lightweight interactive Chelyabinsk preview on the Meteority project page. */
.meteority-model{min-width:0;margin:0;background:color-mix(in srgb,var(--paper) 88%,#bac1b3);border:1px solid #89978330;border-radius:16px;overflow:hidden}
.meteority-model-stage{position:relative;height:clamp(320px,36vw,520px)}
.meteority-model model-viewer{display:block;width:100%;height:100%;--poster-color:transparent;--progress-bar-color:#3a8b7d;--progress-bar-height:3px}
.meteority-model model-viewer:focus-visible{outline:2px solid #3a8b7d;outline-offset:-4px}
.meteority-model-status{position:absolute;left:20px;right:20px;top:50%;transform:translateY(-50%);margin:0;text-align:center;font-size:14px;pointer-events:none}
.meteority-model-status[hidden]{display:none}
.meteority-model figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:17px 20px;border-top:1px solid #89978330;font-size:12px;line-height:1.5}
.meteority-model figcaption strong{font-weight:600}.meteority-model figcaption span{opacity:.75}
@media(max-width:600px){.meteority-model-stage{height:330px}.meteority-model figcaption{padding:14px 16px}.meteority-model figcaption span{font-size:11px}}

/* Animated AstroTour feature banners, preserving each original frame. */
.case-feature .astro-animation{display:block;width:100%;height:auto;aspect-ratio:600/185;object-fit:contain;border-radius:18px;background:#101628}
@media(max-width:650px){.case-feature .astro-animation{border-radius:12px}}
