*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Avenir Next',Avenir,'Helvetica Neue',sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body.cloud{--paper:#f4f8fa;--ink:#132b3a;--hero:#dceef8;--accent:#35667f;--soft:#e9f2f7}body.work{--paper:#f7f8fa;--ink:#20262d;--hero:#f7f8fa;--accent:#2457d6;--soft:#e4ebf8}body.horizon{--paper:#edf5f8;--ink:#163e48;--hero:#edf5f8;--accent:#163e48;--soft:#dbe9ec}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{color:inherit}::selection{background:#f2d566;color:#132b3a}h1,h2,h3,p{margin:0}h1,h2{font-weight:500;letter-spacing:-.065em;line-height:1.02}h1{font-size:clamp(54px,6.7vw,112px)}h2{font-size:clamp(38px,4.3vw,68px)}h3{font-size:26px;letter-spacing:-.035em;font-weight:550}p{line-height:1.6}svg{display:block}.wrap{width:min(100%,1616px);padding-inline:clamp(24px,5vw,88px);margin-inline:auto}.skip{position:absolute;z-index:50;left:20px;top:-100px;padding:16px;background:white}.skip:focus{top:12px}.preview-bar{font-size:12px;padding:9px 24px;text-align:center;background:var(--ink);color:white}.preview-bar a{text-decoration:underline;text-underline-offset:3px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--hero)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:650;letter-spacing:-.06em;line-height:.98;flex-shrink:0}.brand svg{width:40px;height:40px}.brand b{font-weight:650}.nav{display:flex;align-items:center;gap:36px;font-size:15px}.nav a{min-height:44px;display:flex;align-items:center}.nav a:hover{opacity:.65}.nav .nav-contact{border-bottom:1px solid currentColor}.hero-stage{height:175svh;background:var(--hero)}.hero{position:sticky;top:0;min-height:100svh;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:30px;padding-top:36px;padding-bottom:64px;overflow:hidden}.hero-text{position:relative;z-index:2}.locale{font-size:14px;display:flex;align-items:center;gap:10px;margin-bottom:28px}.locale:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--accent)}.intro{font-size:clamp(18px,1.5vw,21px);max-width:440px;margin-top:30px;line-height:1.55}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:54px;padding:15px 25px;border-radius:999px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:15px;font-weight:550;transition:background .2s,transform .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.button svg{width:20px;height:20px}.text-link{font-size:14px;border-bottom:1px solid currentColor;min-height:44px;display:inline-flex;align-items:center}.hero-credit{font-size:12px;margin-top:48px;line-height:1.7;max-width:400px}.hero-credit strong{font-weight:600}.art{height:480px;position:relative;isolation:isolate;--p:0}.art-label{position:absolute;left:0;right:0;bottom:4px;text-align:center;font-size:12px;letter-spacing:.015em}.art-label .end{display:none}.art[data-finished=true] .art-label .start{display:none}.art[data-finished=true] .art-label .end{display:inline}.piece{position:absolute;left:50%;top:46%;will-change:transform,border-radius,width,height}.cloud .piece{background:radial-gradient(circle at 35% 20%,#ffffff 0,#eaf6fc 25%,#b4d9ec 66%,#78acc9 100%);box-shadow:inset -8px -10px 22px #669cb626,8px 28px 45px #618ba520}.cloud .piece:nth-child(1){z-index:1}.cloud .piece:nth-child(2){z-index:2}.cloud .piece:nth-child(3){z-index:4}.cloud .piece:nth-child(4){z-index:3}.art-line{position:absolute;left:12%;right:12%;top:46%;height:2px;background:var(--accent);opacity:var(--p);z-index:-1}.cloud .art:before{content:'';position:absolute;border:1px solid #729db64d;border-radius:50%;inset:12px 8%;transform:rotate(-18deg);z-index:-1}.cloud .art:after{content:'';position:absolute;inset:15% 0 19%;border-top:1px solid #729db64d;border-bottom:1px solid #729db64d;border-radius:50%;transform:rotate(30deg);z-index:-1}.scroll-note{position:absolute;bottom:20px;left:clamp(24px,5vw,88px);font-size:12px;display:flex;align-items:center;gap:12px}.scroll-note:before{content:'';width:24px;height:1px;background:currentColor}.section{padding-top:96px;padding-bottom:96px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}.section-head p{max-width:370px;font-size:18px}.eyeline{font-size:14px;margin-bottom:24px}.services{background:white}.service-row{border-top:1px solid #132b3a30}.service-row:last-child{border-bottom:1px solid #132b3a30}.service-row summary{list-style:none;min-height:116px;display:grid;grid-template-columns:1fr 1fr 40px;align-items:center;gap:24px;padding-block:24px;cursor:pointer}.service-row summary::-webkit-details-marker{display:none}.service-row summary p{font-size:16px;max-width:420px}.service-row .plus{font-size:30px;text-align:right;font-weight:400;transition:transform .2s}.service-row[open] .plus{transform:rotate(45deg)}.service-detail{padding:0 64px 30px 50%;font-size:16px;max-width:1100px}.service-row summary:hover h3{color:var(--accent)}.proof{overflow:hidden;padding:52px 0;background:var(--paper)}.proof-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px;font-size:14px}.pause{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 16px;border:1px solid #132b3a50;border-radius:999px;background:transparent;font-size:12px}.marquee{overflow:hidden}.track{display:flex;width:max-content;animation:flow 38s linear infinite}.track-group{display:flex;gap:64px;padding:0 32px;align-items:center}.logo-item{width:170px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.logo-item img{width:132px;height:48px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.logo-item strong{height:48px;display:flex;align-items:center;font-size:34px;letter-spacing:-.05em;font-weight:600}.logo-item small{font-size:11px;line-height:1.4;text-align:center}.marquee:hover .track,.marquee:focus-within .track,.proof.paused .track{animation-play-state:paused}@keyframes flow{to{transform:translateX(-50%)}}.proof-foot{font-size:12px;margin-top:25px;line-height:1.6;max-width:780px}.team{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.team h2{max-width:650px}.team-intro{max-width:460px;font-size:19px;margin-top:28px}.partner{padding:25px 0;border-bottom:1px solid #132b3a30}.partner:first-child{padding-top:0}.partner p{margin-top:12px;font-size:16px;max-width:440px}.partner a{display:inline-block;margin-top:14px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.contact{background:var(--ink);color:white}.contact-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}.contact h2{max-width:700px}.contact p{margin-top:26px;font-size:18px;max-width:500px}.contact .button{background:white;color:var(--ink);border-color:white;flex-shrink:0}.contact .button:hover{background:var(--hero)}.footer{padding-block:32px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:12px}.footer-links{display:flex;gap:24px}.footer-links button{background:none;border:0;padding:0;min-height:44px;font-size:12px;text-decoration:underline}.footer>p{display:flex;align-items:center}dialog{border:0;border-radius:16px;padding:40px;width:min(520px,calc(100% - 32px));color:var(--ink);background:white;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#132b3a88;backdrop-filter:blur(5px)}dialog h2{font-size:36px;letter-spacing:-.04em;margin:20px 0}dialog p{font-size:17px}dialog .close{display:block;margin-left:auto;border:1px solid #132b3a50;background:none;border-radius:50%;width:44px;height:44px;font-size:25px}dialog .dialog-foot{margin-top:24px;font-size:13px}.work .hero{grid-template-columns:1.1fr 1fr;gap:72px}.work h1{font-size:clamp(54px,6.4vw,105px)}.work .art{background-image:linear-gradient(#2457d60c 1px,transparent 1px),linear-gradient(90deg,#2457d60c 1px,transparent 1px);background-size:32px 32px;border:1px solid #2457d630;height:520px}.work .piece{border:2px solid var(--accent);background:#2457d608;box-shadow:12px 12px 0 #2457d60a}.work .art:after{content:'ki';font-weight:500;letter-spacing:-.08em;font-size:90px;position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);color:var(--accent);opacity:calc(1 - var(--p))}.work .button{border-radius:4px;background:var(--accent);border-color:var(--accent)}.work .service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.work .service-row summary{grid-template-columns:1fr 35px;min-height:180px}.work .service-row summary h3{grid-column:1}.work .service-row summary p{grid-column:1;grid-row:2}.work .service-row .plus{grid-column:2;grid-row:1}.work .service-detail{padding:0 30px 30px 0}.work .service-row:last-child{border-bottom:0}.work .services{background:var(--soft)}.work .contact .button{background:white;color:var(--ink)}.horizon .hero{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:0;padding-top:32px;padding-bottom:42px}.horizon .hero-text{display:flex;flex-direction:column;align-items:center}.horizon h1{font-size:clamp(54px,6.8vw,112px);max-width:1050px}.horizon .locale{justify-content:center;margin-bottom:20px}.horizon .intro{max-width:570px;font-size:18px;margin-top:24px}.horizon .actions{justify-content:center;margin-top:24px}.horizon .hero-credit{margin-top:22px;font-size:12px}.horizon .art{height:240px;width:min(840px,100%);margin-top:20px}.horizon .piece{background:linear-gradient(135deg,#fff,#c4dde4);box-shadow:6px 18px 25px #163e4810}.horizon .art:before{content:'';width:130px;height:130px;background:#f2d566;border-radius:50%;position:absolute;left:50%;top:24%;transform:translate(-50%,-50%);z-index:-1}.horizon .art-label{bottom:0}.horizon .art-line{background:var(--ink);top:54%}.horizon .piece{top:54%}.workshop-feature{background:#f2d566;color:#163e48;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.workshop-feature p{font-size:19px;max-width:520px}.workshop-feature .text-link{margin-top:22px}.horizon .contact{background:#163e48}.chooser{--ink:#132b3a;--paper:#f4f8fa;--accent:#35667f;background:var(--paper)}.choose-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:34px}.choose-header>span{font-size:12px}.choose-intro{padding:55px 0 44px}.choose-intro h1{font-size:clamp(48px,5.5vw,84px);max-width:1000px}.choose-intro p{font-size:19px;max-width:600px;margin-top:26px}.concepts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-bottom:52px}.concept{display:block;min-width:0}.mini{height:300px;position:relative;overflow:hidden;background:var(--mini);padding:26px;border-radius:12px;isolation:isolate;transition:transform .25s}.concept:hover .mini{transform:translateY(-5px)}.mini .mini-brand{font-size:10px;font-weight:650}.mini h2{font-size:37px;max-width:200px;line-height:1.02;margin-top:44px;position:relative;z-index:2}.mini-shape{position:absolute;width:145px;height:145px;right:-14px;bottom:18px;background:linear-gradient(135deg,white,#86b8d2);border-radius:50%;box-shadow:-52px 12px 0 -9px #d6eaf5,-23px -39px 0 -18px white}.mini-work .mini-shape{border:2px solid #2457d6;border-radius:0;background:transparent;box-shadow:12px 12px 0 #2457d618;transform:rotate(-20deg);right:30px;width:120px;height:120px}.mini-horizon h2{max-width:100%;text-align:center;margin-top:40px}.mini-horizon .mini-shape{width:75px;height:75px;background:#f2d566;box-shadow:-52px 43px 0 5px white,42px 46px 0 14px #d2e5eb;left:calc(50% - 38px);bottom:35px}.concept-meta{padding-top:22px}.concept-meta h2{font-size:27px;letter-spacing:-.04em}.concept-meta p{font-size:15px;margin-top:12px;max-width:360px}.concept-meta span{display:inline-block;font-size:13px;margin-top:20px;text-decoration:underline;text-underline-offset:4px}.choice-notes{border-top:1px solid #132b3a30;padding:30px 0 45px;font-size:13px;line-height:1.7;max-width:1050px}.choice-notes strong{font-weight:600}
@media(min-width:1900px){.hero{min-height:850px;max-height:1050px}.hero-stage{height:1500px}.art{max-width:650px}.horizon .hero{min-height:1000px}.horizon .hero-stage{height:1800px}}
@media(max-width:850px){.header{height:80px}.nav{gap:24px}.nav a:not(.nav-contact){display:none}.hero,.work .hero{grid-template-columns:1fr;align-content:start;gap:10px;min-height:100svh;padding-top:28px;padding-bottom:34px}.hero-stage{height:185svh}.hero h1{font-size:clamp(49px,8.8vw,78px);max-width:700px}.locale{margin-bottom:20px}.intro{margin-top:20px;font-size:18px;max-width:510px}.actions{margin-top:24px;gap:20px}.hero-credit{margin-top:20px;font-size:11px}.art,.work .art{height:290px;max-width:510px;width:100%;margin-inline:auto}.work .art{height:280px}.scroll-note{display:none}.section{padding-block:64px}.section-head{display:block;margin-bottom:35px}.section-head p{margin-top:24px;max-width:500px}.service-row summary{grid-template-columns:1fr 30px;gap:12px;min-height:140px}.service-row summary h3{grid-column:1}.service-row summary p{grid-column:1;grid-row:2}.service-row .plus{grid-column:2;grid-row:1}.service-detail{padding:0 24px 24px 0}.team,.workshop-feature{grid-template-columns:1fr;gap:40px}.contact-inner{display:block}.contact .button{margin-top:30px}.work .service-list{gap:0 32px}.horizon .hero{padding-top:30px;justify-content:flex-start}.horizon h1{font-size:clamp(52px,8vw,78px)}.horizon .art{height:200px;margin-top:16px}.horizon .intro{font-size:17px}.horizon .art:before{width:90px;height:90px}.concepts{grid-template-columns:1fr;gap:42px}.mini{height:330px}.mini h2{font-size:50px;max-width:290px}.mini-shape{right:35px}.choose-intro{padding-top:30px}.choose-intro h1{font-size:54px}.concept-meta p{max-width:600px}.choose-header>span{max-width:120px;text-align:right}.mini-horizon h2{max-width:100%}}
@media(max-width:480px){.brand{font-size:17px;gap:8px}.brand svg{width:32px;height:32px}.header{gap:12px}.nav{font-size:12px;gap:0}.header .nav-contact{font-size:12px}.hero h1,.work h1{font-size:clamp(45px,12vw,58px)}.locale{font-size:12px;margin-bottom:20px}.intro{font-size:17px}.hero-credit{font-size:10px;line-height:1.5}.button{font-size:13px;gap:16px;padding:13px 20px;min-height:50px}.text-link{font-size:13px}.art,.work .art{height:225px}.hero{gap:0}.cloud .art:before{inset:0 13%}.hero-stage{height:175svh}.horizon .hero h1{font-size:49px}.horizon .art{height:170px}.horizon .hero-credit{font-size:10px}.horizon .intro{font-size:16px}.section-head p,.team-intro{font-size:17px}.service-row summary p{font-size:15px}.service-row h3{font-size:24px}.work .service-list{grid-template-columns:1fr}.work .service-row summary{min-height:150px}.proof{padding-block:34px}.track-group{gap:25px;padding-inline:12.5px}.logo-item{width:140px}.logo-item img{width:112px;height:42px}.logo-item small{font-size:10px}.proof-head{font-size:12px}.proof-foot{font-size:11px}.footer{gap:10px}.footer-links{gap:16px}.preview-bar{font-size:10px}.choose-header{padding-top:26px}.choose-intro h1{font-size:46px}.mini{height:300px}.mini h2{font-size:43px;max-width:245px}.mini-shape{right:0}.mini-horizon .mini-shape{right:auto}.mini-horizon h2{max-width:100%}dialog{padding:24px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-stage{height:auto}.hero{position:relative;min-height:0;padding-block:48px}.track{transform:none!important}.marquee{overflow:auto}.piece{will-change:auto}}
/* Full-bleed workshop colour; consistent readable gutters in both columns. */
.workshop-feature{padding-inline:clamp(24px,5vw,88px)}.workshop-feature>.wrap{padding-inline:0!important}
