:root{--ink:#090909;--muted:#6c6c6c;--line:#d9d9d9;--paper:#f8f8f6;--white:#fff;--max:1500px;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}
.shell{width:min(calc(100% - 72px),var(--max));margin:auto}.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:92px;display:flex;align-items:center;background:linear-gradient(to bottom,rgba(248,248,246,.96),rgba(248,248,246,.78),transparent);backdrop-filter:blur(8px)}.nav__inner{display:flex;align-items:center;justify-content:space-between}.brand img{width:138px;height:auto}.nav__links{display:flex;gap:38px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.nav__links a{position:relative}.nav__links a:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:#111;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav__links a:hover:after,.nav__links a[aria-current="page"]:after{transform:scaleX(1)}.cta{border:1px solid #111;padding:14px 19px;display:inline-flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.cta:hover{background:#111;color:#fff}.menu{display:none;background:none;border:0;font-size:20px}
.hero{min-height:100svh;position:relative;overflow:hidden;background:#f7f7f5;display:flex;align-items:center;padding-top:92px}.hero__photo{position:absolute;inset:-1.5%;background:url('../images/hero.png') center/cover no-repeat;transform:scale(1.018);animation:heroBreathe 12s ease-out .15s both;will-change:transform}.hero__content{will-change:transform}.hero__word{opacity:0;transform:translateY(14px);animation:heroWordIn .8s .08s var(--ease) forwards}.hero__micro{opacity:0;transform:translateY(7px);animation:heroMicroIn .65s .38s var(--ease) forwards}.hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,248,246,.1) 0%,rgba(248,248,246,.04) 55%,rgba(248,248,246,0) 100%)}.hero__content{position:relative;z-index:2;width:100%;padding:50px 0 40px}.hero__word{font-size:clamp(110px,18vw,300px);font-weight:700;letter-spacing:.12em;line-height:.77;margin:0 0 34px;white-space:nowrap}.hero__micro{font-size:12px;letter-spacing:.52em;text-transform:uppercase;margin-left:8px}.hero__scroll{position:absolute;left:calc((100vw - min(calc(100vw - 72px),var(--max)))/2);bottom:34px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;z-index:2}.hero__line{position:absolute;right:3vw;bottom:0;width:60%;height:55%;z-index:2;pointer-events:none}.hero__line path{stroke-dasharray:1800;stroke-dashoffset:1800;animation:draw 1.9s .55s var(--ease) forwards}.hero__line circle{opacity:0;animation:fade .5s 2s forwards}.hero__traveller{opacity:0;animation:travellerFade 2.05s .5s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}@keyframes heroWordIn{to{opacity:1;transform:translateY(0)}}@keyframes heroMicroIn{to{opacity:1;transform:translateY(0)}}@keyframes heroBreathe{from{transform:scale(1.018)}to{transform:scale(1.002)}}@keyframes travellerFade{0%,100%{opacity:0}8%,88%{opacity:1}}
.section{position:relative;min-height:100svh;display:grid;align-items:center;border-top:1px solid #e4e4e4;background:#fff;overflow:hidden}.product{grid-template-columns:minmax(260px,.62fr) minmax(0,1.75fr);gap:5vw;padding:9vh max(36px,calc((100vw - min(calc(100vw - 72px),var(--max)))/2))}.product__copy{align-self:center;max-width:380px;z-index:2}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#676767;margin-bottom:24px}.product h2,.page-hero h1{font-size:clamp(48px,7vw,105px);line-height:.92;letter-spacing:-.045em;margin:0 0 25px;font-weight:600}.product p,.lede{font-size:18px;line-height:1.6;color:#555;max-width:520px}.product__link{margin-top:44px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;display:inline-flex;align-items:center;gap:18px}.product__visual{position:relative}.product__visual img{width:100%;max-height:76vh;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.08));transform:translateY(28px);opacity:0;transition:1s var(--ease)}.product.in-view .product__visual img{transform:none;opacity:1}.product:nth-of-type(even){background:#fbfbfa}.product:nth-of-type(even) .product__copy{order:2}.product:nth-of-type(even) .product__visual{order:1}.thread{position:absolute;left:30px;top:0;bottom:0;width:1px;background:#d7d7d7}.thread:before,.thread:after{content:"";position:absolute;left:-4px;width:9px;height:9px;border-radius:50%;background:#111}.thread:before{top:8%}.thread:after{bottom:8%}
.statement{min-height:78svh;background:#f4f4f1;display:flex;align-items:center}.statement__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center}.statement h2{font-size:clamp(54px,8vw,122px);line-height:.9;letter-spacing:-.05em;margin:0}.statement img{border-radius:2px;width:100%;height:55vh;object-fit:cover}.footer{background:#090909;color:#fff;padding:60px 0}.footer__grid{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:end}.footer .brand img{filter:invert(1)}.footer p{color:#bcbcbc;font-size:14px;line-height:1.7;margin:16px 0 0}.footer__contact{font-size:14px;line-height:1.8}.footer__cta{font-size:18px;border-bottom:1px solid #666;padding-bottom:10px}
.page-hero{padding:190px 0 95px;min-height:70svh;background:#fff}.page-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.page-hero figure{margin:0;height:48vh}.page-hero figure img{width:100%;height:100%;object-fit:cover}.editorial{padding:100px 0;background:#fff;border-top:1px solid #e7e7e7}.editorial__grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.editorial h2{font-size:clamp(42px,5vw,76px);line-height:.98;margin:0}.editorial p{font-size:18px;line-height:1.7;color:#555}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ddd;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.card{background:#fff;padding:56px 44px;min-height:360px}.card .num{font-size:11px;color:#888}.card h3{font-size:34px;margin:90px 0 20px}.card p{color:#666;line-height:1.6}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-box{border-top:1px solid #bbb;padding-top:24px;font-size:18px;line-height:1.8}.contact-big{font-size:clamp(58px,10vw,150px);line-height:.9;letter-spacing:-.06em;margin:0 0 70px}
.reveal{opacity:0;transform:translateY(24px);transition:.9s var(--ease)}.reveal.in-view{opacity:1;transform:none}
@media(max-width:900px){.shell{width:min(calc(100% - 36px),var(--max))}.nav{height:74px}.brand img{width:112px}.nav__links{display:none}.menu{display:block}.nav.open .nav__links{display:flex;position:absolute;top:74px;left:0;right:0;background:#f8f8f6;padding:28px 18px;flex-direction:column;gap:24px;border-bottom:1px solid #ddd}.nav .cta{display:none}.hero{padding-top:74px}.hero__word{font-size:clamp(76px,24vw,180px);letter-spacing:.06em}.hero__micro{font-size:10px;letter-spacing:.28em}.hero__line{width:92%;height:42%;right:-30%}.hero__scroll{left:18px}.product{grid-template-columns:1fr;padding:90px 24px;min-height:auto}.product:nth-of-type(even) .product__copy,.product:nth-of-type(even) .product__visual{order:initial}.product__visual img{max-height:none}.thread{display:none}.statement__inner,.page-hero__grid,.editorial__grid,.contact-grid{grid-template-columns:1fr}.statement{padding:100px 0}.statement img{height:45vh}.cards{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr;align-items:start}.page-hero{padding:130px 0 70px}.page-hero figure{height:40vh}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal,.product__visual img{opacity:1!important;transform:none!important}}

/* KYRO product storytelling + expanded footer */
.product-hero{min-height:82svh;display:flex;align-items:flex-end;padding-bottom:11vh}.product-hero h1{font-size:clamp(76px,10vw,160px);max-width:1000px}.product-hero .lede{max-width:680px;margin-top:34px}.problem-section{background:#0a0a0a;color:#fff;padding:14vh 0}.problem-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.problem-section .eyebrow{color:#8d8d8d}.problem-section h2,.system-statement h2,.product-showcase h2,.built-real h2{font-size:clamp(54px,7.2vw,116px);line-height:.93;letter-spacing:-.055em;margin:0;font-weight:600}.problem-list{border-top:1px solid #444;padding-top:28px}.problem-list p{font-size:20px;line-height:1.55;color:#c9c9c9;margin:0 0 30px}.system-statement{min-height:92svh;display:flex;align-items:center;background:#f3f3f0;padding:12vh 0}.system-statement h2{font-size:clamp(72px,10vw,160px)}.workflow{background:#fff;padding:13vh 0}.workflow__steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid #bbb;border-left:1px solid #ddd}.workflow__steps>div{min-height:270px;padding:28px 30px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;display:flex;flex-direction:column}.workflow__steps span{font-size:11px;color:#777;letter-spacing:.1em}.workflow__steps strong{font-size:32px;font-weight:500;margin-top:auto}.workflow__steps p{font-size:14px;line-height:1.55;color:#666;max-width:270px}.product-showcase{background:#f7f7f5;padding:14vh 0}.product-showcase__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.product-showcase h2{font-size:clamp(48px,5.8vw,94px)}.product-showcase p,.built-real p{font-size:18px;line-height:1.7;color:#606060;max-width:580px;margin-top:34px}.product-showcase__visual img{width:100%;filter:drop-shadow(0 28px 40px rgba(0,0,0,.1))}.built-real{min-height:90svh;display:flex;align-items:center;background:#fff;padding:12vh 0}.built-real h2{font-size:clamp(72px,10vw,160px)}
.footer--expanded{padding:80px 0 22px;overflow:hidden}.footer__top{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}.footer__wordmark{font-size:34px;font-weight:700;letter-spacing:.22em}.footer__descriptor{font-size:14px!important;color:#8e8e8e!important;margin-top:18px!important}.footer__nav{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.footer__nav>div{display:flex;flex-direction:column;gap:12px}.footer__nav span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#707070;margin-bottom:12px}.footer__nav a,.footer__nav p{font-size:14px;line-height:1.6;margin:0;color:#d5d5d5}.footer__nav a:hover{color:#fff}.footer__project{margin-top:16px!important;border-bottom:1px solid #555;padding-bottom:8px;width:max-content}.footer__giant{font-size:clamp(150px,27vw,480px);font-weight:700;letter-spacing:.08em;line-height:.72;color:#242424;white-space:nowrap;margin:100px 0 70px;user-select:none}.footer__bottom{border-top:1px solid #282828;padding-top:18px;display:flex;gap:30px;align-items:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#777}.footer__bottom span:nth-child(2){margin-left:auto}.footer__bottom a:hover{color:#fff}
@media(max-width:900px){.problem-grid,.product-showcase__grid,.footer__top{grid-template-columns:1fr}.workflow__steps{grid-template-columns:1fr}.footer__nav{grid-template-columns:1fr 1fr;gap:42px}.footer__giant{margin:80px 0 50px}.footer__bottom{flex-wrap:wrap}.footer__bottom span:nth-child(2){margin-left:0}.product-hero{min-height:72svh}.problem-section,.workflow,.product-showcase,.built-real{padding:100px 0}}
.cards--four{grid-template-columns:repeat(4,1fr)}
.cards--four .card{padding:52px 34px}.cards--four .card h3{font-size:30px}
.packflow-visual{display:flex;justify-content:center;align-items:center;min-height:520px}.packflow-ui{width:min(100%,720px);aspect-ratio:16/10;background:#0a0a0a;color:#fff;padding:48px;display:flex;flex-direction:column;box-shadow:0 30px 70px rgba(0,0,0,.12)}.packflow-ui>span,.packflow-ui small{font-size:10px;letter-spacing:.18em;color:#999}.packflow-ui strong{font-size:clamp(42px,5vw,78px);line-height:.92;letter-spacing:-.045em;margin:auto 0;font-weight:600}.packflow-lines{display:grid;gap:12px;margin:20px 0 28px}.packflow-lines i{height:1px;background:#444;display:block}.packflow-lines i:nth-child(2){width:76%}.packflow-lines i:nth-child(3){width:54%}
@media(max-width:1100px){.cards--four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.cards--four{grid-template-columns:1fr}.packflow-visual{min-height:360px}.packflow-ui{padding:30px}}

/* V6 homepage product rhythm: equal visual weight across all four products */
@media(min-width:901px){
  .product{grid-template-columns:minmax(360px,.78fr) minmax(620px,1.22fr);gap:6vw;}
  .product__visual{width:100%;display:flex;align-items:center;justify-content:center;}
  .product__visual img{width:100%;height:auto;max-height:70vh;object-fit:contain;}
  .product--property .product__visual img,.product--intelligence .product__visual img{transform:translateY(28px) scale(1.08);}
  .product--property.in-view .product__visual img,.product--intelligence.in-view .product__visual img{transform:scale(1.08);}
  .product--safety .product__visual img{transform:translateY(28px) scale(.96);}
  .product--safety.in-view .product__visual img{transform:scale(.96);}
  .product--packflow .product__visual img{transform:translateY(28px) scale(.98);}
  .product--packflow.in-view .product__visual img{transform:scale(.98);}
}

/* V8 — consistent homepage product scale across alternating layouts */
@media(min-width:901px){
  /* Keep the copy column and visual column the same physical proportions
     regardless of which side the image sits on. */
  .product{
    grid-template-columns:minmax(360px,.78fr) minmax(620px,1.22fr);
    gap:6vw;
  }
  .product:nth-of-type(even){
    grid-template-columns:minmax(620px,1.22fr) minmax(360px,.78fr);
  }

  .product__visual{
    width:100%;
    max-width:940px;
    min-height:520px;
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:center;
  }
  .product__visual img{
    width:100%;
    height:auto;
    max-height:68vh;
    object-fit:contain;
    transform:translateY(28px) scale(1)!important;
  }
  .product.in-view .product__visual img{
    transform:translateY(0) scale(1)!important;
  }

  /* Keep copy comfortably readable and visually equal in every section. */
  .product__copy{
    width:100%;
    max-width:420px;
  }
}

/* V9 — contact page: KYRO line language */
.contact-page{background:#fff}.contact-intro{padding:150px 0 0;background:#fff;min-height:100svh;overflow:hidden}.contact-intro__grid{display:grid;grid-template-columns:1fr 1.08fr;gap:6vw;align-items:stretch}.contact-intro__content{padding:22px 0 46px}.contact-intro h1{font-size:clamp(64px,7.4vw,122px);line-height:.86;letter-spacing:-.06em;margin:0;font-weight:600}.contact-thread{height:1px;background:#c9c9c9;margin:30px 0 42px;position:relative;transform:scaleX(0);transform-origin:left;animation:contactLine 1.25s .2s var(--ease) forwards}.contact-thread span{position:absolute;width:9px;height:9px;border-radius:50%;background:#090909;top:-4px;left:0;animation:contactDot 1.25s .2s var(--ease) forwards}.problem-picker{border:0;padding:0;margin:0 0 44px}.problem-picker legend{font-size:16px;color:#555;margin-bottom:30px}.problem-options{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:24px}.problem-options input{position:absolute;opacity:0;pointer-events:none}.problem-options span{display:block;position:relative;padding-bottom:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#666;cursor:pointer;transition:color .25s}.problem-options span:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:#090909;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.problem-options input:checked+span{color:#090909}.problem-options input:checked+span:after,.problem-options label:hover span:after{transform:scaleX(1)}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px}.contact-fields label{border-bottom:1px solid #c9c9c9;display:block}.contact-fields label>span{display:block;font-size:14px;color:#888;margin-bottom:4px;transition:color .25s}.contact-fields input,.contact-fields textarea{border:0;outline:0;background:transparent;width:100%;font:inherit;font-size:16px;padding:8px 0 12px;resize:none}.contact-fields label:focus-within{border-color:#090909}.contact-fields label:focus-within>span{color:#090909}.contact-message{grid-column:1/-1}.contact-submit{margin-top:28px;background:#090909;color:#fff;border:0;padding:18px 20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:flex;gap:42px;align-items:center;cursor:pointer;transition:transform .25s var(--ease),background .25s}.contact-submit b{font-size:18px;font-weight:400;transition:transform .25s}.contact-submit:hover{background:#202020;transform:translateY(-2px)}.contact-submit:hover b{transform:translate(3px,-3px)}.contact-intro__image{margin:0;min-height:610px;overflow:hidden}.contact-intro__image img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);transition:transform 8s ease-out}.contact-intro__image:hover img{transform:scale(1.035)}.contact-meta{display:grid;grid-template-columns:1fr 1.08fr;gap:6vw;align-items:center;border-bottom:1px solid #c9c9c9;position:relative}.contact-meta:before{content:"";position:absolute;left:0;top:0;width:27%;height:1px;background:#c9c9c9}.contact-prompt{display:grid;grid-template-columns:58px 1fr;column-gap:18px;align-items:center;margin:0;padding:26px 0}.contact-prompt .contact-arrow{grid-row:1/3;width:42px;height:42px;border:1px solid #999;border-radius:50%;display:grid;place-items:center;font-size:18px}.contact-prompt strong{font-size:13px;font-weight:500}.contact-prompt small{font-size:12px;color:#777;margin-top:4px}.contact-details{border-left:1px solid #c9c9c9;padding:28px 0 28px 6vw;display:flex;gap:50px;font-size:13px}.contact-details a{position:relative}.contact-details a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:#111;transform:scaleX(0);transform-origin:left;transition:.3s var(--ease)}.contact-details a:hover:after{transform:scaleX(1)}
@keyframes contactLine{to{transform:scaleX(1)}}@keyframes contactDot{from{left:0}to{left:calc(100% - 9px)}}
@media(max-width:900px){.contact-intro{padding-top:110px}.contact-intro__grid,.contact-meta{grid-template-columns:1fr}.contact-intro__content{padding-bottom:50px}.contact-intro__image{min-height:48vh}.problem-options{grid-template-columns:1fr 1fr;justify-content:stretch}.contact-fields{grid-template-columns:1fr}.contact-message{grid-column:auto}.contact-meta:before{display:none}.contact-details{border-left:0;border-top:1px solid #c9c9c9;padding:24px 0;justify-content:space-between}.contact-prompt{padding:24px 0}}
@media(prefers-reduced-motion:reduce){.contact-thread{transform:none}.contact-thread span{left:calc(100% - 9px)}.contact-intro__image img{transform:none}}


/* V12 — restrained signature rule + brighter footer KYRO */
.footer__giant{color:#343434}
.footer__wordmark{color:#f4f4f4}
.kyro-signature-rule{width:min(100%,720px);height:1px;background:#c9c9c9;margin:30px 0 34px;position:relative;transform:scaleX(0);transform-origin:left;animation:kyroRuleDraw 1.25s .18s var(--ease) forwards}
.kyro-signature-rule span{position:absolute;width:9px;height:9px;border-radius:50%;background:#090909;top:-4px;left:0;animation:kyroRuleDot 1.25s .18s var(--ease) forwards}
@keyframes kyroRuleDraw{to{transform:scaleX(1)}}
@keyframes kyroRuleDot{from{left:0}to{left:calc(100% - 9px)}}
@media(prefers-reduced-motion:reduce){.kyro-signature-rule{transform:scaleX(1);animation:none}.kyro-signature-rule span{left:calc(100% - 9px);animation:none}}

/* V14 — restore original full-colour Dublin contact photography */
.contact-intro__image{background:#eceeed}
.contact-intro__image img{filter:none;opacity:1}
.contact-intro__image:hover img{filter:none}

/* V15 — applied technology positioning */
.kyro-manifesto{padding:150px 0 160px;background:#fff;border-top:1px solid #ececec}
.kyro-manifesto__inner{max-width:1500px}
.kyro-manifesto h2{font-size:clamp(72px,9vw,150px);line-height:.86;letter-spacing:-.065em;font-weight:600;margin:26px 0 0;max-width:1100px}
.kyro-manifesto .kyro-signature-rule{width:min(100%,1040px);margin:52px 0 54px}
.kyro-manifesto__copy{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1040px}
.kyro-manifesto__copy p{font-size:clamp(18px,1.45vw,24px);line-height:1.5;color:#555;margin:0}
.kyro-manifesto__copy p:first-child{color:#111}
@media(max-width:900px){.kyro-manifesto{padding:100px 0}.kyro-manifesto__copy{grid-template-columns:1fr;gap:24px}.kyro-manifesto h2{font-size:clamp(58px,16vw,92px)}}

/* V16 — case-study substance + How We Work */
.case-outcome{padding:130px 0 145px;background:#f8f8f6;border-top:1px solid #e7e7e7}.case-outcome__grid{display:grid;grid-template-columns:.38fr 1fr;gap:8vw;align-items:start}.case-outcome h2{font-size:clamp(48px,5.7vw,92px);line-height:.94;letter-spacing:-.05em;margin:0 0 30px;font-weight:600;max-width:980px}.case-outcome p{font-size:19px;line-height:1.65;color:#555;max-width:760px}.packflow-proof{padding:145px 0 155px;background:#fff;border-top:1px solid #e7e7e7}.packflow-proof h2,.how-we-work h2{font-size:clamp(68px,8vw,132px);line-height:.87;letter-spacing:-.06em;margin:22px 0 0;font-weight:600}.packflow-proof .kyro-signature-rule{width:100%;margin:48px 0 58px}.packflow-proof__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #d7d7d7;border-bottom:1px solid #d7d7d7}.packflow-proof__grid article{padding:36px 32px 44px 0;margin-right:32px;border-right:1px solid #ddd}.packflow-proof__grid article:last-child{border-right:0;margin-right:0}.packflow-proof__grid article>span,.how-we-work__steps article>span{font-size:10px;letter-spacing:.16em;color:#777}.packflow-proof__grid h3,.how-we-work__steps h3{font-size:27px;line-height:1.05;letter-spacing:-.035em;margin:38px 0 18px}.packflow-proof__grid p,.how-we-work__steps p{font-size:15px;line-height:1.6;color:#666}.packflow-payoff{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:48px;font-size:10px;letter-spacing:.13em}.packflow-payoff span:after{content:'→';margin-left:24px;color:#888}.packflow-payoff strong{font-size:12px;font-weight:600}.how-we-work{padding:150px 0 165px;background:#0a0a0a;color:#fff}.how-we-work .eyebrow{color:#888}.how-we-work__line{height:1px;background:#3b3b3b;margin:54px 0 0;position:relative;transform:scaleX(0);transform-origin:left}.how-we-work.in-view .how-we-work__line{animation:kyroRuleDraw 1.35s .1s var(--ease) forwards}.how-we-work__line span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;top:-3.5px;left:0}.how-we-work.in-view .how-we-work__line span{animation:howWorkDot 1.35s .1s var(--ease) forwards}@keyframes howWorkDot{from{left:0}to{left:calc(100% - 8px)}}.how-we-work__steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #333}.how-we-work__steps article{padding:38px 30px 52px 0;margin-right:30px;border-right:1px solid #333}.how-we-work__steps article:last-child{border-right:0;margin-right:0}.how-we-work__steps article>span{color:#777}.how-we-work__steps h3{color:#fff}.how-we-work__steps p{color:#999}.how-we-work__steps article:nth-child(1){transition-delay:.08s}.how-we-work__steps article:nth-child(2){transition-delay:.16s}.how-we-work__steps article:nth-child(3){transition-delay:.24s}.how-we-work__steps article:nth-child(4){transition-delay:.32s}@media(max-width:900px){.case-outcome,.packflow-proof,.how-we-work{padding:95px 0}.case-outcome__grid{grid-template-columns:1fr;gap:24px}.packflow-proof__grid,.how-we-work__steps{grid-template-columns:1fr}.packflow-proof__grid article,.how-we-work__steps article{border-right:0;border-bottom:1px solid #ddd;margin-right:0}.how-we-work__steps article{border-bottom-color:#333}.packflow-payoff{align-items:flex-start;flex-direction:column}.packflow-payoff span:after{display:none}}

/* V17 — KYRO origin / About story */
.about-origin{padding:190px 0 120px;min-height:86svh;display:flex;align-items:center;background:#fff}.about-origin h1{font-size:clamp(74px,10vw,160px);line-height:.84;letter-spacing:-.065em;margin:0;font-weight:600}.about-origin__lead{font-size:clamp(24px,2.2vw,36px);margin:38px 0 0;color:#555}.about-origin .kyro-signature-rule{width:min(100%,900px);margin-top:58px}.about-operations{padding:150px 0;background:#f8f8f6;border-top:1px solid #e3e3e3}.about-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.about-operations h2{font-size:clamp(50px,6vw,92px);line-height:.93;letter-spacing:-.05em;margin:0}.about-copy p{font-size:20px;line-height:1.65;color:#555;margin:0 0 25px}.about-copy .about-emphasis{font-size:clamp(28px,3vw,44px);line-height:1.12;letter-spacing:-.035em;color:#111;margin:45px 0}.about-manifesto{padding:160px 0;background:#fff}.about-manifesto h2,.about-proof> .shell>h2,.about-how h2,.about-close h2,.about-close h3{font-size:clamp(70px,9vw,145px);line-height:.86;letter-spacing:-.065em;margin:0;font-weight:600}.about-manifesto .kyro-signature-rule{width:100%;margin:58px 0}.about-manifesto__copy{margin-left:auto;max-width:720px}.about-manifesto__copy h3{font-size:32px;letter-spacing:-.035em;margin:0 0 28px}.about-manifesto__copy p{font-size:18px;line-height:1.7;color:#5b5b5b}.about-manifesto__copy strong{display:block;font-size:23px;line-height:1.35;margin-top:36px}.about-proof{padding:150px 0;background:#f8f8f6;border-top:1px solid #e1e1e1}.about-proof> .shell>h2{font-size:clamp(60px,7vw,112px);margin-bottom:75px}.about-proof__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ccc}.about-proof__item{padding:48px 55px 58px 0;border-bottom:1px solid #ccc;min-height:390px}.about-proof__item:nth-child(odd){border-right:1px solid #ccc;margin-right:55px}.about-proof__item span{font-size:10px;letter-spacing:.16em;color:#777}.about-proof__item h3{font-size:clamp(31px,3vw,48px);line-height:1;letter-spacing:-.045em;margin:70px 0 24px}.about-proof__item p{font-size:16px;line-height:1.65;color:#666;max-width:560px}.about-proof__item strong{display:inline-block;margin-top:28px;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.about-how{padding:160px 0;background:#090909;color:#fff}.about-how .eyebrow{color:#777}.about-how h2{font-size:clamp(65px,8vw,125px)}.about-how__line{height:1px;background:#383838;margin:62px 0 0;position:relative;transform:scaleX(0);transform-origin:left}.about-how.in-view .about-how__line{animation:kyroRuleDraw 1.5s .1s var(--ease) forwards}.about-how__line span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;top:-3.5px;left:0}.about-how.in-view .about-how__line span{animation:howWorkDot 1.5s .1s var(--ease) forwards}.about-how__steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #333}.about-how__steps article{padding:40px 30px 50px 0;margin-right:30px;border-right:1px solid #333}.about-how__steps article:last-child{border-right:0;margin-right:0}.about-how__steps span{font-size:10px;letter-spacing:.16em;color:#777}.about-how__steps h3{font-size:28px;line-height:1.05;letter-spacing:-.035em;margin:42px 0 18px}.about-how__steps p{color:#999}.about-how__close{font-size:13px;letter-spacing:.06em;color:#888;margin-top:40px}.about-close{padding:180px 0 160px;background:#fff}.about-close h3{margin:85px 0 0;color:#b5b5b5}.about-close .kyro-signature-rule{width:100%;margin-top:70px}
@media(max-width:900px){.about-origin{padding:140px 0 90px;min-height:72svh}.about-operations,.about-manifesto,.about-proof,.about-how,.about-close{padding:95px 0}.about-split,.about-proof__grid,.about-how__steps{grid-template-columns:1fr}.about-proof__item:nth-child(odd){border-right:0;margin-right:0}.about-proof__item{min-height:0;padding:38px 0}.about-proof__item h3{margin-top:42px}.about-how__steps article{border-right:0;border-bottom:1px solid #333;margin-right:0}.about-manifesto__copy{margin-left:0}.about-close h3{margin-top:55px}}

/* V22 — Web & Digital, native KYRO page */
.web-hero{padding:155px 0 90px;background:#fff;min-height:86svh;display:flex;align-items:center;overflow:hidden}.web-hero__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:5vw;align-items:center}.web-hero__copy h1{font-size:clamp(72px,8.5vw,138px);line-height:.84;letter-spacing:-.065em;margin:0;font-weight:600}.web-hero__copy>p{font-size:20px;line-height:1.5;color:#555;max-width:460px;margin:30px 0 0}.web-hero__copy .kyro-signature-rule{width:min(100%,520px);margin:40px 0}.web-hero__visual{margin:0;display:flex;align-items:center;justify-content:center}.web-hero__visual img{width:100%;max-width:920px;height:auto;filter:drop-shadow(0 28px 38px rgba(0,0,0,.08))}.web-button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;background:#090909;color:#fff;padding:17px 22px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.web-button b{font-size:17px;font-weight:400}.web-capabilities{background:#fff;border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}.web-capabilities__grid{display:grid;grid-template-columns:repeat(6,1fr)}.web-capabilities article{padding:30px 22px 32px 0;margin-right:22px;border-right:1px solid #ddd;min-height:125px;display:flex;flex-direction:column;justify-content:space-between}.web-capabilities article:last-child{border-right:0;margin-right:0}.web-capabilities span{font-size:10px;color:#999;letter-spacing:.12em}.web-capabilities strong{font-size:11px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;font-weight:500}.web-bespoke{padding:140px 0;background:#f8f8f6}.web-bespoke__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.web-bespoke h2,.web-pricing h2,.web-process h2{font-size:clamp(55px,6.7vw,108px);line-height:.88;letter-spacing:-.055em;margin:0;font-weight:600}.web-bespoke p{font-size:19px;line-height:1.65;color:#555;margin:0 0 25px;max-width:680px}.web-pricing{padding:140px 0 150px;background:#fff;border-top:1px solid #e5e5e5}.web-pricing__intro{display:grid;grid-template-columns:.25fr .75fr 1fr;gap:4vw;align-items:end;margin-bottom:65px}.web-pricing__intro .eyebrow{margin:0}.web-pricing__intro h2{font-size:clamp(48px,5vw,80px)}.web-pricing__intro p{font-size:17px;line-height:1.6;color:#666;max-width:520px;margin:0}.web-plans{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf}.web-plans article{padding:34px 30px 34px 0;margin-right:30px;border-right:1px solid #d7d7d7;min-height:510px;display:flex;flex-direction:column}.web-plans article:last-child{border-right:0;margin-right:0}.web-plans article>span{font-size:22px;letter-spacing:-.02em}.web-plans small{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#888;margin-top:8px}.web-plans .price{font-size:46px;letter-spacing:-.045em;margin:38px 0 25px}.web-plans .price em{font-size:14px;font-style:normal;letter-spacing:0;color:#555}.web-plans ul{list-style:none;padding:0;margin:0 0 35px}.web-plans li{font-size:14px;color:#555;padding:8px 0;border-bottom:1px solid #eee}.web-plans li:before{content:'✓';color:#111;margin-right:10px}.web-plans a{margin-top:auto;border:1px solid #111;padding:14px 16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;display:flex;justify-content:space-between}.web-plans a:hover{background:#111;color:#fff}.web-plans .care{background:#f6f1e8;padding-left:24px}.web-process{padding:145px 0 155px;background:#f8f8f6;border-top:1px solid #e4e4e4}.web-process h2{font-size:clamp(60px,7vw,112px);margin:0 0 65px}.web-process__steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccc;border-bottom:1px solid #ccc}.web-process__steps article{padding:34px 28px 45px 0;margin-right:28px;border-right:1px solid #d5d5d5}.web-process__steps article:last-child{border-right:0;margin-right:0}.web-process__steps span{font-size:36px;font-weight:300}.web-process__steps h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin:48px 0 18px}.web-process__steps p{font-size:15px;line-height:1.6;color:#666;max-width:240px}
@media(max-width:1100px){.web-capabilities__grid{grid-template-columns:repeat(3,1fr)}.web-capabilities article:nth-child(3){border-right:0}.web-plans{grid-template-columns:1fr 1fr}.web-plans article:nth-child(2){border-right:0}.web-plans article{border-bottom:1px solid #ddd}}
@media(max-width:900px){.web-hero{padding:120px 0 70px;min-height:auto}.web-hero__grid,.web-bespoke__grid,.web-pricing__intro{grid-template-columns:1fr}.web-hero__visual{margin-top:45px}.web-hero__copy h1{font-size:clamp(66px,18vw,100px)}.web-capabilities__grid{grid-template-columns:1fr 1fr}.web-capabilities article:nth-child(3){border-right:1px solid #ddd}.web-capabilities article:nth-child(even){border-right:0}.web-bespoke,.web-pricing,.web-process{padding:90px 0}.web-pricing__intro{gap:22px}.web-plans,.web-process__steps{grid-template-columns:1fr}.web-plans article,.web-process__steps article{border-right:0;margin-right:0;border-bottom:1px solid #ddd;min-height:auto}.web-process__steps article{padding:30px 0}.web-process__steps h3{margin-top:28px}}

/* V23 — Web & Digital editorial hero */
.web-hero--editorial{background:#f8f8f6;min-height:90svh;border-bottom:1px solid #dededb}
.web-hero--editorial .web-hero__grid{grid-template-columns:.86fr 1.14fr;gap:6vw}
.web-hero--editorial .web-hero__copy h1{font-size:clamp(66px,7.6vw,122px);line-height:.87;max-width:760px}
.web-studio{position:relative;min-height:610px;border-left:1px solid #d7d7d2;padding:22px 0 0 38px}
.web-studio__meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#777;margin:0 0 18px}
.web-canvas{position:relative;background:#fff;border:1px solid #d8d8d4;min-height:490px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.06)}
.web-canvas__nav{height:64px;border-bottom:1px solid #e4e4e1;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:9px;letter-spacing:.1em}.web-canvas__nav b{font-size:13px;letter-spacing:.12em}.web-canvas__nav span{color:#666}
.web-canvas__body{position:absolute;left:0;top:64px;width:49%;bottom:0;padding:62px 34px 34px;z-index:2;background:linear-gradient(90deg,#fff 82%,rgba(255,255,255,.84) 92%,rgba(255,255,255,0))}.web-canvas__body small,.web-mobile small{font-size:8px;letter-spacing:.16em;color:#777}.web-canvas__body strong{display:block;font-size:clamp(34px,3.1vw,55px);line-height:.92;letter-spacing:-.045em;margin:22px 0}.web-canvas__body p{font-size:13px;line-height:1.5;color:#666;max-width:240px}.web-canvas__body i{display:inline-block;margin-top:30px;background:#0a0a0a;color:#fff;padding:13px 18px;font-style:normal;font-size:9px;letter-spacing:.08em}
.web-canvas__image{position:absolute;right:0;top:64px;bottom:0;width:62%;background:linear-gradient(135deg,rgba(10,10,10,.08),rgba(10,10,10,.01)),url('../images/office-interior.png') center/cover no-repeat}
.web-mobile{position:absolute;right:-22px;bottom:-24px;width:190px;min-height:355px;background:#fbfbfa;border:1px solid #bdbdb9;box-shadow:0 24px 55px rgba(0,0,0,.13);padding:18px;z-index:4}.web-mobile__bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;padding-bottom:14px;margin-bottom:34px;font-size:8px;letter-spacing:.08em}.web-mobile strong{display:block;font-size:27px;line-height:.95;letter-spacing:-.04em;margin:14px 0 24px}.web-mobile__image{height:145px;background:url('../images/office-interior.png') center/cover no-repeat}
.web-studio__note{position:absolute;left:8px;bottom:-26px;background:#0a0a0a;color:#fff;padding:20px 24px;width:175px;z-index:5}.web-studio__note span{font-size:8px;letter-spacing:.15em;color:#aaa}.web-studio__note p{font-size:18px;line-height:1.08;margin:11px 0 0}
@media(max-width:900px){.web-hero--editorial .web-hero__grid{grid-template-columns:1fr}.web-studio{min-height:500px;border-left:0;border-top:1px solid #d7d7d2;padding:25px 0 30px}.web-canvas{min-height:410px}.web-canvas__nav span{display:none}.web-canvas__body{width:62%;padding:42px 24px}.web-canvas__body strong{font-size:36px}.web-mobile{width:150px;right:0;bottom:0;min-height:300px}.web-mobile strong{font-size:21px}.web-mobile__image{height:110px}.web-studio__note{display:none}}

/* V24 — Web & Digital typography + Built By KYRO identity */
.web-domain{margin-top:18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#777}
.web-bespoke__grid{grid-template-columns:1.15fr .85fr;gap:8vw}
.web-bespoke h2 span,.web-pricing h2 span{display:block;white-space:nowrap}
.web-pricing__intro{grid-template-columns:1.05fr .95fr;gap:9vw;align-items:end}
.web-pricing__heading .eyebrow{margin:0 0 24px}
.web-pricing__intro h2{font-size:clamp(52px,5.25vw,84px)}
@media(max-width:1100px){.web-bespoke h2 span,.web-pricing h2 span{white-space:normal}.web-bespoke__grid{grid-template-columns:1fr 1fr}.web-pricing__intro{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.web-bespoke__grid,.web-pricing__intro{grid-template-columns:1fr}.web-bespoke h2 span,.web-pricing h2 span{white-space:normal}.web-pricing__heading .eyebrow{margin-bottom:20px}}

/* V27 — keep editorial callouts separated */
@media(min-width:901px){
  .web-studio{padding-bottom:112px;}
  .web-mobile{right:0;bottom:36px;}
  .web-studio__note{left:38px;bottom:36px;width:175px;}
}


/* V28 — KYRO splash demo */
.kyro-splash{position:fixed;inset:0;z-index:99999;background:#050505;color:#fff;display:grid;place-items:center;overflow:hidden;animation:kyroSplashExit .72s 2.45s cubic-bezier(.77,0,.18,1) forwards}
.kyro-splash__brand{width:min(68vw,820px);text-align:center;transform:translateY(5px)}
.kyro-splash__word{font-size:clamp(54px,8vw,126px);line-height:.9;letter-spacing:.19em;margin-right:-.19em;font-weight:500;opacity:0;transform:translateY(10px);animation:kyroSplashWord .5s .9s ease forwards}
.kyro-splash__track{height:1px;background:rgba(255,255,255,.2);position:relative;margin:30px auto 23px;transform:scaleX(0);transform-origin:left;animation:kyroSplashLine .85s .2s cubic-bezier(.77,0,.18,1) forwards}
.kyro-splash__dot{position:absolute;top:-4px;left:0;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.75);animation:kyroSplashDot .85s .2s cubic-bezier(.77,0,.18,1) forwards}
.kyro-splash__tag{font-size:11px;letter-spacing:.48em;margin-right:-.48em;opacity:0;animation:kyroSplashTag .45s 1.18s ease forwards}
.kyro-splash__skip{position:absolute;right:28px;top:26px;border:0;background:none;color:rgba(255,255,255,.55);font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.kyro-splash.is-skipped{animation:kyroSplashExit .45s 0s cubic-bezier(.77,0,.18,1) forwards}
@keyframes kyroSplashLine{to{transform:scaleX(1)}}
@keyframes kyroSplashDot{to{left:calc(100% - 9px)}}
@keyframes kyroSplashWord{to{opacity:1;transform:none}}
@keyframes kyroSplashTag{to{opacity:1}}
@keyframes kyroSplashExit{to{transform:translateY(-100%);visibility:hidden}}
@media (prefers-reduced-motion:reduce){.kyro-splash{animation:kyroSplashExit .25s .2s ease forwards}.kyro-splash__word,.kyro-splash__tag{opacity:1;animation:none}.kyro-splash__track{transform:scaleX(1);animation:none}.kyro-splash__dot{left:calc(100% - 9px);animation:none}}
@media(max-width:700px){.kyro-splash__brand{width:82vw}.kyro-splash__word{letter-spacing:.13em;margin-right:-.13em}.kyro-splash__tag{font-size:9px;letter-spacing:.34em;margin-right:-.34em}}


/* V29 — KYRO cinematic architectural intro */
.kyro-splash--v29{animation:none;background:#050505;isolation:isolate}
.kyro-splash--v29 .kyro-splash__stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.kyro-splash--v29 .kyro-splash__construct{position:absolute;width:min(72vw,980px);height:auto;overflow:visible;animation:v29ConstructAway .42s 1.72s ease forwards}
.kyro-splash--v29 .construct-line{fill:none;stroke:rgba(255,255,255,.34);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000;animation:v29Draw .72s cubic-bezier(.65,0,.35,1) forwards}
.kyro-splash--v29 .l1{animation-delay:.16s}.kyro-splash--v29 .l2{animation-delay:.30s}.kyro-splash--v29 .l3{animation-delay:.44s}.kyro-splash--v29 .l4{animation-delay:.58s}
.kyro-splash--v29 .construct-node{fill:#fff;opacity:0;filter:drop-shadow(0 0 8px rgba(255,255,255,.55));animation:v29Node .28s forwards}
.kyro-splash--v29 .n1{animation-delay:.15s}.kyro-splash--v29 .n2{animation-delay:.42s}.kyro-splash--v29 .n3{animation-delay:.68s}.kyro-splash--v29 .n4{animation-delay:.92s}
.kyro-splash--v29 .kyro-splash__micro{position:absolute;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.34em;opacity:0}
.kyro-splash--v29 .kyro-splash__micro--1{left:12vw;top:48%;animation:v29Micro .42s .22s ease}
.kyro-splash--v29 .kyro-splash__micro--2{left:48%;top:14%;animation:v29Micro .42s .54s ease}
.kyro-splash--v29 .kyro-splash__micro--3{right:10vw;top:48%;animation:v29Micro .42s .86s ease}
.kyro-splash--v29 .kyro-splash__micro--4{left:48%;bottom:13%;animation:v29Micro .5s 1.18s ease}
.kyro-splash--v29 .kyro-splash__resolve-line{position:absolute;left:12vw;right:12vw;top:50%;height:1px;background:rgba(255,255,255,.22);transform:scaleX(0);transform-origin:center;animation:v29Resolve  .52s 1.68s cubic-bezier(.77,0,.18,1) forwards}
.kyro-splash--v29 .kyro-splash__resolve-line span{position:absolute;width:8px;height:8px;top:-3.5px;left:50%;border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.7);opacity:0;animation:v29Traveller .52s 1.68s cubic-bezier(.77,0,.18,1) forwards}
.kyro-splash--v29 .kyro-splash__lockup{position:absolute;left:50%;top:50%;width:min(76vw,1100px);transform:translate(-50%,-50%);text-align:center}
.kyro-splash--v29 .kyro-splash__word{font-size:clamp(76px,15vw,240px);font-weight:500;line-height:.8;letter-spacing:.18em;margin-right:-.18em;opacity:0;transform:scale(.985);animation:v29Word .48s 2.03s cubic-bezier(.22,1,.36,1) forwards}
.kyro-splash--v29 .kyro-splash__tag{font-size:10px;letter-spacing:.56em;margin-right:-.56em;margin-top:34px;opacity:0;animation:v29Tag .4s 2.22s ease forwards}
.kyro-splash--v29 .kyro-splash__wipe{position:absolute;z-index:-1;left:0;right:0;bottom:0;height:0;background:#f8f8f6}
.kyro-splash--v29.is-revealing{pointer-events:none;animation:v29PanelExit .9s 2.82s cubic-bezier(.76,0,.24,1) forwards}
.kyro-splash--v29.is-revealing .kyro-splash__wipe{animation:v29Wipe  .9s 2.82s cubic-bezier(.76,0,.24,1) forwards}
.kyro-splash--v29.is-skipped{animation:kyroSplashExit .42s 0s cubic-bezier(.77,0,.18,1) forwards}
@keyframes v29Draw{to{stroke-dashoffset:0}}@keyframes v29Node{50%,100%{opacity:1}}
@keyframes v29Micro{0%{opacity:0;transform:translateY(5px)}28%,65%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@keyframes v29ConstructAway{to{opacity:0;transform:scale(.97)}}@keyframes v29Resolve{to{transform:scaleX(1)}}
@keyframes v29Traveller{0%{opacity:1;left:50%}100%{opacity:1;left:calc(100% - 8px)}}
@keyframes v29Word{to{opacity:1;transform:scale(1)}}@keyframes v29Tag{to{opacity:.82}}
@keyframes v29Wipe{to{height:100%}}@keyframes v29PanelExit{0%{transform:translateY(0)}100%{transform:translateY(-100%)}}
@media(max-width:700px){.kyro-splash--v29 .kyro-splash__construct{width:120vw}.kyro-splash--v29 .kyro-splash__word{font-size:20vw}.kyro-splash--v29 .kyro-splash__tag{font-size:8px;letter-spacing:.38em;margin-right:-.38em}.kyro-splash--v29 .kyro-splash__micro{font-size:8px}.kyro-splash--v29 .kyro-splash__resolve-line{left:8vw;right:8vw}}
@media(prefers-reduced-motion:reduce){.kyro-splash--v29{animation:kyroSplashExit .3s .35s ease forwards}.kyro-splash--v29 .kyro-splash__word,.kyro-splash--v29 .kyro-splash__tag{opacity:1;animation:none}.kyro-splash--v29 .kyro-splash__construct,.kyro-splash--v29 .kyro-splash__resolve-line,.kyro-splash--v29 .kyro-splash__micro{display:none}}


/* V30 — KYRO precision intro: restraint, typography, one signature line */
.kyro-splash--v30{position:fixed;inset:0;z-index:99999;background:#050505;color:#fff;overflow:hidden;isolation:isolate;animation:none}
.kyro-splash--v30 .kyro-splash__skip{z-index:5;transition:opacity .25s ease}
.kyro-v30__stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.kyro-v30__thought{position:absolute;left:50%;top:50%;width:min(78vw,1080px);transform:translate(-50%,-50%);text-align:center;font-size:clamp(13px,1.05vw,17px);letter-spacing:.48em;margin-right:-.48em;font-weight:500}
.kyro-v30__problem,.kyro-v30__understood{position:absolute;left:0;right:0;top:0;opacity:0;transform:translateY(8px)}
.kyro-v30__problem{animation:v30Problem .62s .18s cubic-bezier(.22,1,.36,1) forwards}
.kyro-v30__understood{animation:v30Understood .72s .82s cubic-bezier(.22,1,.36,1) forwards}
.kyro-v30__line{position:absolute;left:10vw;right:10vw;top:calc(50% + 54px);height:1px;background:rgba(255,255,255,.18);transform:scaleX(0);transform-origin:left;animation:v30Line 1.05s 1.42s cubic-bezier(.77,0,.18,1) forwards}
.kyro-v30__dot{position:absolute;width:9px;height:9px;left:0;top:-4px;border-radius:50%;background:#fff;box-shadow:0 0 20px rgba(255,255,255,.62);opacity:0;animation:v30Dot 1.05s 1.42s cubic-bezier(.77,0,.18,1) forwards}
.kyro-v30__lockup{position:absolute;left:50%;top:50%;width:min(82vw,1180px);transform:translate(-50%,-48%);text-align:center;pointer-events:none}
.kyro-v30__word{font-size:clamp(88px,17vw,270px);font-weight:500;line-height:.78;letter-spacing:.175em;margin-right:-.175em;opacity:0;transform:translateY(14px);animation:v30Word .62s 2.34s cubic-bezier(.22,1,.36,1) forwards}
.kyro-v30__tag{font-size:10px;letter-spacing:.58em;margin-right:-.58em;margin-top:38px;opacity:0;animation:v30Tag .45s 2.62s ease forwards}
.kyro-v30__reveal-edge{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#fff;box-shadow:0 -1px 0 rgba(255,255,255,.25);z-index:4;opacity:0}
.kyro-splash--v30.is-revealing{pointer-events:none;animation:v30Reveal 1.02s 3.32s cubic-bezier(.76,0,.24,1) forwards}
.kyro-splash--v30.is-revealing .kyro-v30__reveal-edge{animation:v30Edge 1.02s 3.32s cubic-bezier(.76,0,.24,1) forwards}
.kyro-splash--v30.is-revealing .kyro-splash__skip{opacity:0}
.kyro-splash--v30.is-skipped{animation:kyroSplashExit .42s 0s cubic-bezier(.77,0,.18,1) forwards}
@keyframes v30Problem{0%{opacity:0;transform:translateY(8px)}24%,64%{opacity:.78;transform:none}100%{opacity:0;transform:translateY(-7px)}}
@keyframes v30Understood{0%{opacity:0;transform:translateY(8px)}25%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}
@keyframes v30Line{to{transform:scaleX(1)}}
@keyframes v30Dot{0%{opacity:1;left:0}100%{opacity:1;left:calc(100% - 9px)}}
@keyframes v30Word{to{opacity:1;transform:none}}
@keyframes v30Tag{to{opacity:.82}}
@keyframes v30Reveal{0%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes v30Edge{0%{opacity:1;bottom:0}100%{opacity:1;bottom:100%}}
@media(max-width:700px){.kyro-v30__thought{font-size:10px;letter-spacing:.34em;margin-right:-.34em}.kyro-v30__line{left:8vw;right:8vw}.kyro-v30__word{font-size:22vw;letter-spacing:.12em;margin-right:-.12em}.kyro-v30__tag{font-size:8px;letter-spacing:.36em;margin-right:-.36em;margin-top:28px}}
@media(prefers-reduced-motion:reduce){.kyro-splash--v30{animation:kyroSplashExit .3s .45s ease forwards}.kyro-v30__thought,.kyro-v30__line,.kyro-v30__reveal-edge{display:none}.kyro-v30__word,.kyro-v30__tag{opacity:1;transform:none;animation:none}}
