/* Loomspace — responsive static recreation, October 2026 */
:root{--paper:#f4f5f1;--ink:#0a0d0c;--muted:#494d4a;--cyan:#65c5c7;--border:#d0d3ce;--white:#fff;--display:'Manrope','Arial',sans-serif;--body:'DM Sans',Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}::selection{background:var(--cyan);color:var(--ink)}:focus-visible{outline:2px solid #018f94;outline-offset:4px}h1,h2,h3,p{margin-top:0}main{overflow:hidden}.site-header{position:relative;z-index:80;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:112px;padding:0 clamp(24px,5.9vw,98px);border-bottom:1px solid var(--border);background:var(--paper)}.brand,.footer-logo{font-family:var(--display);font-weight:400;letter-spacing:-.075em;font-size:30px;line-height:1;white-space:nowrap}.brand span,.footer-logo span{font-weight:400}.desktop-nav{display:flex;gap:34px;align-items:center}.nav-link{position:relative;padding:8px 0;font-size:14px;font-weight:500}.nav-link:after{content:"";position:absolute;bottom:3px;left:0;width:0;height:1px;background:currentColor;transition:width .22s}.nav-link.active:after,.nav-link:hover:after{width:100%}.header-cta{justify-self:end;display:flex;align-items:center;gap:30px;padding:15px 20px;border:1px solid var(--ink);border-radius:40px;font-size:13px;font-weight:800;transition:color .25s,background .25s}.header-cta:hover{background:var(--ink);color:var(--white)}.header-cta span{font-size:20px;font-weight:400}.menu-toggle,.mobile-nav{display:none}.intro{position:fixed;z-index:500;inset:0;background:var(--cyan);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;pointer-events:none;opacity:0;visibility:hidden}.intro.is-playing{opacity:1;visibility:visible;animation:introGone .9s 1.6s forwards}.intro-logo{font-family:var(--display);font-size:clamp(54px,11vw,170px);font-weight:800;letter-spacing:-.095em;line-height:1}.intro-logo span{font-weight:400}.intro-logo i{display:inline-block;width:12px;height:12px;border-radius:50%;background:#0a0d0c;margin-left:12px;vertical-align:baseline;animation:blink 1s infinite alternate}.intro-subtitle{font-size:11px;font-weight:700;letter-spacing:.25em}.intro.is-playing .intro-logo{animation:introLogo 1.1s ease-out both}.cursor-orbit{position:fixed;width:18px;height:18px;border-radius:50%;background:var(--cyan);mix-blend-mode:multiply;pointer-events:none;left:0;top:0;z-index:250;opacity:0;transition:transform .14s ease-out,opacity .3s}
@keyframes blink{to{opacity:0}}@keyframes introLogo{from{opacity:0;transform:translateY(50px) scale(.94)}to{opacity:1;transform:none}}@keyframes introGone{0%,50%{opacity:1;visibility:visible}99%{visibility:visible}100%{opacity:0;visibility:hidden}}
.home-hero{position:relative;display:grid;grid-template-columns:57% 43%;min-height:calc(100svh - 112px);max-height:900px;align-items:center;padding:80px clamp(24px,5.9vw,98px) 65px;overflow:hidden}.hero-main{z-index:2;align-self:center}.kicker,.small-cap{font-size:12px;line-height:1.4;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.hero-kicker{margin-bottom:4px}.home-hero h1{font-family:var(--display);font-size:clamp(62px,7.9vw,143px);font-weight:800;line-height:.78;letter-spacing:-.105em;margin:0 0 55px -.015em}.home-hero h1 span{display:block;white-space:nowrap}.hero-bottom{display:grid;grid-template-columns:minmax(0,560px) auto;align-items:end;gap:30px}.hero-bottom>p{font-size:clamp(18px,1.55vw,25px);line-height:1.4;margin:0;max-width:580px;color:#333936;letter-spacing:-.02em}.hero-links{display:flex;align-items:flex-start;flex-direction:column;gap:15px;padding-bottom:2px}.pill{display:inline-flex;justify-content:center;align-items:center;gap:30px;white-space:nowrap;border:0;border-radius:60px;padding:18px 23px;font-size:13px;font-weight:700;transition:transform .2s,background .2s,color .2s}.pill:hover{transform:translateY(-3px)}.pill-dark{background:var(--ink);color:white}.pill-dark:hover{background:#306e70}.pill-light{background:white;color:var(--ink)}.text-link{font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:5px}.hero-cards{height:650px;position:relative;pointer-events:none;margin-left:-7%;margin-right:-6%;align-self:center}.float-card{position:absolute;width:min(92%,355px);height:195px;padding:26px 28px;pointer-events:auto;box-shadow:0 17px 29px #141a1612;transition:transform .6s cubic-bezier(.18,.7,.2,1);border:1.5px solid var(--ink);will-change:transform}.float-card:hover{z-index:10;filter:brightness(1.04)}.float-num{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:18px}.float-card h2{font-size:clamp(26px,2.2vw,38px);letter-spacing:-.055em;font-weight:800;line-height:.99;margin-bottom:12px}.float-card p{font-size:13px;line-height:1.35;max-width:260px}.fc-one{background:#090b0a;color:white;top:10px;right:7%;transform:rotate(-3deg)}.fc-two{background:var(--cyan);top:175px;left:5%;width:345px;transform:rotate(2deg)}.fc-three{background:var(--white);top:335px;right:-2%;transform:rotate(-1deg)}.fc-four{background:transparent;top:455px;left:20%;transform:rotate(2deg);box-shadow:none}.marquee{background:#101414;color:#faf9f4;overflow:hidden;padding:21px 0;white-space:nowrap}.marquee>div{display:inline-block;min-width:200%;font-family:var(--display);font-size:clamp(18px,2.5vw,36px);font-weight:800;letter-spacing:-.045em;animation:marquee 33s linear infinite}.marquee b{padding:0 48px;color:var(--cyan)}@keyframes marquee{to{transform:translateX(-50%)}}
.section-pad{padding:clamp(80px,10vw,175px) clamp(24px,5.9vw,98px)}.section-head{display:grid;grid-template-columns:200px 1fr auto;gap:25px;align-items:start;margin-bottom:62px}.section-head h2{font-family:var(--display);font-weight:800;letter-spacing:-.065em;font-size:clamp(42px,5.6vw,90px);line-height:.98;margin:0}.section-head>p{color:var(--muted);line-height:1.6;max-width:300px;font-size:16px}.home-about{background:var(--cyan)}.home-about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;margin-top:70px}.home-about h2{font-family:var(--display);font-size:clamp(48px,7vw,110px);letter-spacing:-.08em;line-height:1.02;margin:0}.home-about h2 em{font-style:normal;font-weight:400}.home-about-grid>div{align-self:end}.home-about-grid p{font-size:clamp(19px,2vw,27px);line-height:1.4;letter-spacing:-.025em;max-width:690px}.home-about-grid p+p{font-size:16px;line-height:1.6;margin-top:30px}.round-arrow{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border:1px solid var(--ink);border-radius:50%;font-size:30px;margin-top:28px;transition:color .2s,background .2s,transform .2s}.round-arrow:hover{background:var(--ink);color:white;transform:rotate(45deg)}.services-section{background:#f4f5f1}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:200px minmax(290px,1fr) minmax(170px,320px) 50px;gap:25px;padding:46px 0;align-items:center;border-bottom:1px solid #9da39d;transition:padding .25s,background .25s}.service-row:hover{padding-left:15px;background:#eaf0ec}.service-row h3{font-family:var(--display);font-size:clamp(30px,3.7vw,60px);line-height:1;letter-spacing:-.065em;margin:0}.service-row p{font-size:15px;line-height:1.5;color:var(--muted);margin:0}.service-arrow{font-size:25px;text-align:right}.process-section{background:#101413;color:white}.process-section .section-head{margin-bottom:65px}.process-top{display:flex;justify-content:space-between;gap:40px}.process-top .section-head{display:block}.process-top .section-head .kicker{margin-bottom:30px}.circle-mark{font-size:90px;color:var(--cyan)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.process-item{padding-top:30px;border-top:1px solid #858985}.process-item>span{color:var(--cyan);font-size:12px}.process-item h3{font-size:35px;letter-spacing:-.055em;margin:60px 0 20px}.process-item p{font-size:15px;line-height:1.65;color:#c2cac6}.work-section .section-head{grid-template-columns:200px 1fr auto}.section-side-link{align-self:end;font-weight:700;text-decoration:underline;text-underline-offset:6px}.selected-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 24px}.selected-card,.portfolio-card{display:block;min-width:0}.image-frame,.portfolio-image{position:relative;overflow:hidden;aspect-ratio:1.45;background:#dadeda}.image-frame img,.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.selected-card:hover img,.portfolio-card:hover img{transform:scale(1.055)}.project-open,.image-cta{position:absolute;right:20px;top:20px;border-radius:50%;height:55px;width:55px;display:flex;align-items:center;justify-content:center;background:var(--cyan);font-size:23px;transition:transform .3s}.selected-card:hover .project-open{transform:rotate(45deg)}.project-row,.portfolio-meta{display:grid;grid-template-columns:130px 1fr 35px;align-items:center;padding:16px 0;border-bottom:1px solid #bfc6c0;gap:15px}.project-row h3,.portfolio-meta h2{font-size:clamp(19px,1.8vw,28px);letter-spacing:-.05em;margin:0}.project-row>span:last-child,.portfolio-meta>span:last-child{text-align:right;font-size:21px}.closing-cta{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:clamp(95px,10vw,170px) clamp(24px,5.9vw,98px)}.closing-cta h2{font-family:var(--display);max-width:1100px;font-size:clamp(47px,6.8vw,107px);line-height:1.03;letter-spacing:-.075em;margin:24px 0 40px}.cta-spark{position:absolute;right:7%;top:20%;font-size:180px;color:var(--cyan);opacity:.75;transform:rotate(10deg)}.closing-cta>*:not(.cta-spark){position:relative;z-index:2}.footer{background:#e9ebe6;padding:78px clamp(24px,5.9vw,98px) 28px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:48px;padding-bottom:105px}.footer-brand-col p{font-size:16px;max-width:260px;line-height:1.5;margin:20px 0}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:17px}.footer-links .kicker{margin-bottom:15px;color:#646e68}.footer-links a{font-size:15px}.footer-links a:hover{text-decoration:underline}.footer-location{color:#5d6861;font-size:14px}.footer-bottom{border-top:1px solid #abb2ac;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:700;letter-spacing:.1em}
/* Inner page layout */
.inner-hero{min-height:540px;padding:90px clamp(24px,5.9vw,98px) 40px;border-bottom:1px solid var(--border);position:relative}.inner-hero .kicker{margin-bottom:50px}.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr;align-items:end;gap:6%;}.inner-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(72px,11vw,175px);line-height:.9;letter-spacing:-.095em;margin:0}.inner-hero p{font-size:clamp(19px,2.1vw,30px);line-height:1.35;max-width:610px;margin:0 0 10px;letter-spacing:-.035em}.hero-tags{display:flex;gap:12px;margin-top:65px}.hero-tags span{padding:12px 19px;border:1px solid #aeb4ad;border-radius:35px;font-size:13px}.hero-arrow{position:absolute;right:6%;bottom:38px;font-size:38px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--paper)}.split-section .section-head{display:block;margin-bottom:0}.split-section .section-head h2{margin-top:30px}.split-copy{font-size:clamp(19px,2vw,28px);line-height:1.45}.split-copy p+p{font-size:17px;line-height:1.6;margin-top:28px}.naming-section{background:var(--cyan)}.name-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:65px}.name-card{border-top:1px solid #0a0d0c;padding:30px 0}.name-card h3{font-family:var(--display);font-size:clamp(55px,8vw,130px);letter-spacing:-.085em;margin:25px 0}.name-card h4{font-size:24px;letter-spacing:-.055em;margin:5px 0 15px}.name-card p{max-width:480px;font-size:17px;line-height:1.6}.values-section{background:#101413;color:white}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.value{padding-top:20px;border-top:1px solid #737b75}.value .kicker{color:var(--cyan)}.value h3{font-size:34px;letter-spacing:-.055em;margin:45px 0 18px}.value p{color:#cdd1cb;line-height:1.6;font-size:15px}.founder-section{background:#f4f5f1}.founder-info{border-top:1px solid #aeb5af;padding-top:34px;display:flex;align-items:flex-start;justify-content:space-between;gap:50px}.founder-info h3{font-size:clamp(34px,5vw,75px);line-height:1.1;letter-spacing:-.07em;margin:28px 0}.founder-info p{max-width:490px;font-size:18px;line-height:1.55}.founder-info .pill{margin-top:55px}.capabilities{background:var(--paper)}.capability{display:grid;grid-template-columns:80px 1.1fr 1fr 100px;gap:28px;border-top:1px solid #b0b7ae;padding:45px 0;align-items:center}.capability:last-child{border-bottom:1px solid #b0b7ae}.capability h3{font-family:var(--display);font-size:clamp(26px,3.3vw,54px);letter-spacing:-.065em;line-height:1.1;margin:0}.capability p{font-size:16px;line-height:1.6;max-width:600px;margin:0}.cap-no,.cap-tag{font-size:12px;letter-spacing:.12em;font-weight:700}.how-section{background:var(--cyan)}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.how-item{padding:26px 0;border-top:1px solid #252c29}.how-item>span{font-size:12px;font-weight:700;letter-spacing:.13em}.how-item h3{font-family:var(--display);font-size:43px;letter-spacing:-.06em;margin:50px 0 16px}.how-item p{line-height:1.6;max-width:270px}.portfolio-section{background:var(--paper)}.portfolio-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:38px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-button{font-size:13px;background:transparent;border:1px solid #9ca59e;padding:12px 24px;border-radius:40px;transition:color .2s,background .2s}.filter-button:hover,.filter-button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.portfolio-card.is-hidden{display:none}.portfolio-image{aspect-ratio:1.45}.image-cta{height:auto;width:auto;padding:15px 19px;border-radius:50px;font-size:12px;font-weight:700}.portfolio-meta{grid-template-columns:138px 1fr 30px}.portfolio-end{margin:70px auto 0;width:fit-content}.journal-section{background:var(--paper)}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.journal-card>a{display:block;aspect-ratio:1.15;overflow:hidden;background:#ccd5cf}.journal-card>a img{height:100%;object-fit:cover;transition:transform .5s}.journal-card>a:hover img{transform:scale(1.05)}.journal-details{padding-top:25px}.journal-details h3{font-family:var(--display);font-size:clamp(24px,2.4vw,37px);line-height:1.12;letter-spacing:-.06em;margin:22px 0}.journal-details p{line-height:1.6;font-size:16px;color:#47514a;margin-bottom:24px}.point-section{background:var(--cyan)}.point-copy{display:grid;grid-template-columns:1fr 1fr;gap:8%}.point-copy p{font-size:clamp(21px,2.1vw,31px);line-height:1.45}.point-copy p+p{font-size:19px}.contact-section{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:9%}.contact-methods>div{display:flex;flex-direction:column;gap:16px;border-top:1px solid #aeb5af;padding:30px 0 45px}.contact-methods a{font-size:clamp(19px,2.3vw,33px);letter-spacing:-.055em;overflow-wrap:anywhere}.contact-form{display:flex;flex-direction:column;gap:28px}.contact-form label{display:flex;flex-direction:column;gap:12px;font-size:13px;font-weight:700}.form-split{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:18px 18px;border:1px solid #bbc2ba;background:transparent;border-radius:0;font-size:16px;outline:none}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#111}.contact-form .pill{align-self:flex-start}.form-help,.form-status{font-size:13px;line-height:1.4;color:#525a54;margin:-10px 0 0}
[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}[data-reveal].revealed{opacity:1;transform:none}
@media (max-width:1250px){.home-hero{grid-template-columns:54% 46%}.home-hero h1{font-size:clamp(58px,8.2vw,120px)}.hero-cards{transform:scale(.88);transform-origin:center center}.hero-bottom{grid-template-columns:1fr;gap:24px}.hero-links{flex-direction:row;align-items:center;gap:26px}.section-head{grid-template-columns:150px 1fr}.section-head>p{grid-column:2}.service-row{grid-template-columns:150px 1fr 230px 40px}.capability{grid-template-columns:55px 1fr 1fr 70px}.footer-main{gap:25px}}
@media (max-width:900px){.site-header{grid-template-columns:1fr auto;min-height:82px;padding:0 24px}.brand{font-size:29px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;width:46px;height:46px;justify-content:center;align-items:center;background:transparent;border:1px solid var(--ink);border-radius:50%}.menu-toggle span{height:2px;width:19px;background:var(--ink);transition:transform .25s}.menu-toggle.open span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;left:0;right:0;top:82px;flex-direction:column;gap:0;background:var(--paper);z-index:90;border-bottom:1px solid var(--ink);max-height:0;padding:0 24px;overflow:hidden;transition:max-height .28s,padding .28s}.mobile-nav.open{max-height:650px;padding:16px 24px 28px}.mobile-nav .nav-link{padding:14px 0;font-size:23px}.mobile-cta{border-radius:40px;background:var(--ink);color:white;padding:17px 20px;margin-top:15px;width:fit-content}.home-hero{display:block;min-height:auto;max-height:none;padding:95px 24px 35px}.home-hero h1{font-size:clamp(60px,12.6vw,125px);margin-bottom:45px}.hero-bottom{grid-template-columns:1fr 1fr;align-items:end}.hero-bottom>p{font-size:20px}.hero-links{align-items:flex-start;flex-direction:column}.hero-cards{margin:20px auto 0;height:590px;max-width:740px;transform:scale(.88);transform-origin:top center}.float-card{width:345px}.fc-one{right:7%}.fc-two{left:6%}.fc-three{right:4%}.fc-four{left:15%}.section-pad{padding:85px 24px}.section-head{display:block}.section-head .kicker{margin-bottom:32px}.section-head h2{font-size:clamp(45px,7vw,75px)}.section-head>p{margin-top:20px}.home-about-grid{gap:40px}.home-about h2{font-size:clamp(44px,7vw,78px)}.service-row{grid-template-columns:120px 1fr 40px;gap:15px}.service-row p{grid-column:2}.service-arrow{grid-column:3;grid-row:1}.process-grid,.values-grid,.how-grid{grid-template-columns:repeat(2,1fr)}.selected-grid{gap:30px 18px}.project-row,.portfolio-meta{grid-template-columns:1fr 30px}.project-row .small-cap,.portfolio-meta .small-cap{grid-column:1 / -1}.project-row h3,.portfolio-meta h2{grid-column:1}.project-row>span:last-child,.portfolio-meta>span:last-child{grid-column:2;grid-row:2}.footer-main{grid-template-columns:2fr 1fr 1fr}.footer-links:last-child{grid-column:2 / 4}.inner-hero{min-height:480px;padding:90px 24px 50px}.inner-hero h1{font-size:clamp(66px,12vw,115px)}.inner-hero-grid{gap:25px}.inner-hero p{font-size:20px}.split-section{gap:40px}.capability{grid-template-columns:55px 1fr;gap:18px}.capability p{grid-column:2}.cap-tag{grid-column:2}.journal-grid{grid-template-columns:repeat(2,1fr)}.journal-card:last-child{grid-column:1 / 3}.contact-grid{gap:35px}}
@media (max-width:600px){.site-header{padding:0 18px}.home-hero{padding:72px 20px 10px}.home-hero h1{font-size:clamp(51px,13vw,78px);letter-spacing:-.102em;line-height:.87;margin:0 0 38px}.hero-bottom{display:block}.hero-bottom>p{font-size:18px;max-width:360px;margin-bottom:26px}.hero-links{flex-direction:row;gap:24px;align-items:center}.pill{padding:15px 18px;gap:15px}.hero-cards{height:430px;margin-left:-32px;margin-right:-32px;transform:scale(.61);transform-origin:top center;width:calc(100% + 64px);max-width:none}.float-card{height:190px;width:350px}.fc-one{right:0;top:5px}.fc-two{left:-22%;top:142px}.fc-three{right:-10%;top:292px}.fc-four{left:-12%;top:427px}.marquee{padding:15px 0}.marquee>div{font-size:22px}.marquee b{padding:0 20px}.section-pad{padding:78px 20px}.home-about-grid,.split-section,.point-copy,.name-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.home-about-grid{margin-top:32px}.home-about h2{font-size:58px}.home-about-grid p{font-size:20px}.home-about-grid p+p{font-size:16px}.service-row{grid-template-columns:1fr 40px;padding:28px 0;gap:10px}.service-row .kicker{grid-column:1 / -1}.service-row h3{grid-column:1;font-size:37px}.service-row .service-arrow{grid-column:2;grid-row:2}.service-row p{grid-column:1 / -1;font-size:14px}.process-grid,.selected-grid,.portfolio-grid,.how-grid,.values-grid{grid-template-columns:1fr}.process-item h3{margin:24px 0}.circle-mark{font-size:55px}.process-top .section-head{margin-bottom:25px}.selected-grid{gap:36px}.selected-card,.portfolio-card{width:100%}.closing-cta{padding:90px 20px}.closing-cta h2{font-size:clamp(42px,12vw,75px)}.cta-spark{font-size:105px;top:10%;opacity:.3}.footer{padding:70px 20px 25px}.footer-main{grid-template-columns:1fr 1fr;gap:40px;padding-bottom:65px}.footer-brand-col{grid-column:1 / -1}.footer-links:last-child{grid-column:auto}.footer-bottom{font-size:10px}.inner-hero{min-height:auto;padding:74px 20px 70px}.inner-hero-grid{display:block}.inner-hero h1{font-size:clamp(64px,14vw,110px);margin-bottom:35px}.inner-hero p{font-size:20px}.inner-hero .kicker{margin-bottom:45px}.hero-tags{margin-top:42px;flex-wrap:wrap}.hero-tags span{padding:8px 12px;font-size:12px}.hero-arrow{bottom:15px}.founder-info{display:block}.founder-info .pill{margin-top:15px}.portfolio-top{align-items:flex-start;flex-direction:column}.filter-button{padding:10px 16px}.journal-grid{grid-template-columns:1fr}.journal-card:last-child{grid-column:auto}.form-split{grid-template-columns:1fr}.contact-methods a{font-size:24px}.contact-grid{gap:70px}.capability{grid-template-columns:45px 1fr}.capability h3{font-size:34px}.capability p{font-size:15px}.value h3,.how-item h3{margin:25px 0 15px}.home-hero .hero-kicker{font-size:9px;letter-spacing:.15em}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.intro{display:none}.cursor-orbit{display:none}}


/* Enhanced motion patch — preserves layout, upgrades motion */
.float-card{--card-rot:0deg;transform:rotate(var(--card-rot));transform-origin:center center}
.fc-one{--card-rot:-3deg}
.fc-two{--card-rot:2deg}
.fc-three{--card-rot:-1deg}
.fc-four{--card-rot:2deg}
body:not(.page-ready) .home-hero .float-card{opacity:0;transform:translate3d(0,-185px,0) rotate(var(--card-rot)) scale(.94)}
body.page-ready .home-hero .float-card{animation:cardDrop 1.08s cubic-bezier(.18,.9,.2,1.06) forwards}
body.page-ready .home-hero .fc-one{animation-delay:.08s}
body.page-ready .home-hero .fc-two{animation-delay:.22s}
body.page-ready .home-hero .fc-three{animation-delay:.36s}
body.page-ready .home-hero .fc-four{animation-delay:.5s}
.float-card:hover{transform:translateY(-8px) rotate(var(--card-rot)) !important}
@keyframes cardDrop{
  0%{opacity:0;transform:translate3d(0,-185px,0) rotate(var(--card-rot)) scale(.94)}
  58%{opacity:1;transform:translate3d(0,18px,0) rotate(calc(var(--card-rot) * .82)) scale(1.015)}
  76%{opacity:1;transform:translate3d(0,-11px,0) rotate(calc(var(--card-rot) * .9)) scale(.998)}
  100%{opacity:1;transform:translate3d(0,0,0) rotate(var(--card-rot)) scale(1)}
}
.drop-in{opacity:0;transform:translate3d(0,-54px,0) scale(.965);filter:blur(2.5px);will-change:opacity,transform,filter;transition:opacity .82s cubic-bezier(.19,1,.22,1),transform .92s cubic-bezier(.19,1,.22,1),filter .65s ease;transition-delay:var(--delay,0s)}
.drop-in.in-view{opacity:1;transform:none;filter:blur(0)}
.hero-tags span.drop-in,.filter-button.drop-in,.pill.drop-in,.hero-links .text-link.drop-in,.hero-links .pill.drop-in,.mobile-cta.drop-in{display:inline-flex;align-items:center;justify-content:center}
.hero-tags span.drop-in{transform:translate3d(0,-72px,0) scale(.94)}
.hero-tags span.drop-in.in-view{transform:none}
.values-grid .drop-in,.how-grid .drop-in,.service-list .drop-in,.process-grid .drop-in,.selected-grid .drop-in,.portfolio-grid .drop-in,.journal-grid .drop-in,.contact-methods .drop-in,.capabilities .drop-in,.name-grid .drop-in{transition-duration:.9s,1s,.65s}
.hero-arrow{transition:transform .6s ease,opacity .6s ease}
body:not(.page-ready) .hero-arrow{opacity:0;transform:translate3d(0,-30px,0)}
body.page-ready .hero-arrow{opacity:1;transform:none}


/* Motion upgrade patch v2 */
html{scroll-behavior:smooth}
.brand,.footer-logo{display:flex;align-items:center}
.brand-logo-img{display:block;width:min(270px,27vw);height:auto}
.footer-logo-img{display:block;width:min(250px,23vw);height:auto}
@media (max-width:900px){.brand-logo-img{width:210px}.footer-logo-img{width:210px}}
@media (max-width:560px){.brand-logo-img{width:180px}.footer-logo-img{width:180px}}

.intro{background:var(--paper);gap:22px;pointer-events:none}
.intro.is-playing{opacity:1;visibility:visible;animation:introGone 1s 1.8s forwards}
.intro-loader{position:relative;width:22px;height:120px;display:flex;align-items:flex-start;justify-content:center}
.loader-rail{position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background:rgba(10,13,12,.18)}
.loader-ball{position:absolute;left:50%;top:0;width:16px;height:16px;border-radius:50%;background:var(--cyan);transform:translate(-50%,0);animation:loaderDrop 1.15s cubic-bezier(.18,.82,.22,1) infinite}
.intro-logo-image{width:min(460px,60vw);height:auto;opacity:0;transform:translateY(22px) scale(.985)}
.intro.is-playing .intro-logo-image{animation:introLogoImage 1.05s .18s ease forwards}
.intro-subtitle{font-size:11px;font-weight:700;letter-spacing:.24em;opacity:0;transform:translateY(10px)}
.intro.is-playing .intro-subtitle{animation:introSubtitleIn .65s .45s ease forwards}
@keyframes loaderDrop{0%{transform:translate(-50%,0) scale(.92)}55%{transform:translate(-50%,78px) scale(1.02)}75%{transform:translate(-50%,104px) scale(.9,.82)}100%{transform:translate(-50%,0) scale(.92)}}
@keyframes introLogoImage{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
@keyframes introSubtitleIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.scroll-progress{position:fixed;right:18px;top:136px;height:calc(100vh - 190px);width:18px;display:flex;justify-content:center;pointer-events:none;z-index:140;opacity:.95}
.scroll-progress::before{content:"";position:absolute;top:0;bottom:0;width:1px;background:rgba(10,13,12,.12)}
.scroll-progress-ball{position:absolute;top:0;left:50%;width:12px;height:12px;border-radius:50%;background:var(--cyan);transform:translate(-50%,0);box-shadow:0 0 0 6px rgba(104,201,208,.12)}
@media (max-width:900px){.scroll-progress{display:none}}

.float-card{--card-rot:0deg;--scroll-shift:0px;transform:translate3d(0,var(--scroll-shift),0) rotate(var(--card-rot));transform-origin:center center}
.fc-one{--card-rot:-3deg}
.fc-two{--card-rot:2deg}
.fc-three{--card-rot:-1deg}
.fc-four{--card-rot:2deg}
body:not(.page-ready) .home-hero .float-card{opacity:0;transform:translate3d(0,-110vh,0) rotate(calc(var(--card-rot) - 8deg)) scale(.92)}
body.page-ready .home-hero .float-card{animation:cardDropStrong 1.18s cubic-bezier(.19,.92,.18,1.04) both}
body.page-ready .home-hero .fc-one{animation-delay:.14s}
body.page-ready .home-hero .fc-two{animation-delay:.28s}
body.page-ready .home-hero .fc-three{animation-delay:.42s}
body.page-ready .home-hero .fc-four{animation-delay:.56s}
.float-card:hover{transform:translate3d(0,calc(var(--scroll-shift) - 9px),0) rotate(var(--card-rot)) !important}
@keyframes cardDropStrong{0%{opacity:0;transform:translate3d(0,-110vh,0) rotate(calc(var(--card-rot) - 8deg)) scale(.92)}58%{opacity:1;transform:translate3d(0,16px,0) rotate(calc(var(--card-rot) * .85)) scale(1.015)}76%{opacity:1;transform:translate3d(0,-8px,0) rotate(calc(var(--card-rot) * .92)) scale(.998)}100%{opacity:1;transform:translate3d(0,var(--scroll-shift),0) rotate(var(--card-rot)) scale(1)}}

.type-target{position:relative}
.typing-active{opacity:1 !important}
.typing-active::after{content:"";display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:-0.08em;margin-left:3px;animation:typingCaret .85s steps(1,end) infinite}
.typed-done::after{display:none}
@keyframes typingCaret{50%{opacity:0}}
body:not(.page-ready) .hero-kicker,body:not(.page-ready) .home-hero h1 span,body:not(.page-ready) .hero-bottom>p{opacity:0}
.hero-kicker,.home-hero h1 span,.hero-bottom>p{min-height:1ch}

.drop-in{opacity:0;transform:translate3d(0,-72px,0) scale(.97);filter:blur(2px);will-change:opacity,transform,filter;transition:opacity .86s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1),filter .6s ease;transition-delay:var(--delay,0s)}
.drop-in.in-view{opacity:1;transform:none;filter:blur(0)}
.hero-tags span.drop-in{transform:translate3d(0,-92px,0) scale(.94)}
.values-grid .drop-in,.how-grid .drop-in,.service-list .drop-in,.process-grid .drop-in,.selected-grid .drop-in,.portfolio-grid .drop-in,.journal-grid .drop-in,.contact-methods .drop-in,.capabilities .drop-in,.name-grid .drop-in{transition-duration:.92s,1.02s,.65s}

[data-reveal]{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}
[data-reveal].revealed{opacity:1;transform:none}


/* User refinement patch v4 */
body.home-scroll-locked{overflow:hidden;height:100vh}
.brand-logo-img{width:min(220px,21vw)!important}
.footer-logo-img{width:min(220px,20vw)!important}
@media (max-width:900px){.brand-logo-img{width:175px!important}.footer-logo-img{width:180px!important}}

.header-cta{min-width:180px;justify-content:space-between}
.hero-bottom{grid-template-columns:minmax(0,620px) minmax(250px,320px)!important;gap:48px!important;align-items:end!important}
.hero-bottom>p{max-width:620px}
.hero-links{align-self:end;justify-self:start;gap:16px!important}
.hero-links .pill{padding:22px 44px!important;min-width:270px;justify-content:space-between;font-size:16px;border-radius:999px}
.hero-links .text-link{font-size:16px;line-height:1.3}
@media (max-width:1100px){.hero-bottom{grid-template-columns:1fr!important;gap:26px!important}.hero-links{align-self:start}}

.scroll-progress::before{background:rgba(10,13,12,.16)!important}
.scroll-progress-ball{background:#0a0d0c!important;box-shadow:0 0 0 6px rgba(10,13,12,.08)!important}

.hero-bounce-ball,.global-bounce-ball{width:18px;height:18px;border-radius:50%;background:#0a0d0c;box-shadow:0 8px 18px rgba(10,13,12,.18);z-index:30}
.hero-bounce-ball{position:absolute;top:-42px;left:calc(50% - 9px);opacity:0;pointer-events:none}
.hero-bounce-ball.run{opacity:1;animation:heroBallJourney 4.85s cubic-bezier(.2,.86,.24,1) forwards}
.global-bounce-ball{position:fixed;right:22px;top:136px;opacity:0;pointer-events:none;z-index:160}
.global-bounce-ball.active{opacity:1}
@media (max-width:900px){.global-bounce-ball{display:none}}

@keyframes heroBallJourney{
  0%{transform:translate3d(0,-30px,0) scale(1)}
  10%{transform:translate3d(-330px,235px,0) scale(1)}
  12%{transform:translate3d(-330px,238px,0) scale(1.18,.82)}
  16%{transform:translate3d(-250px,170px,0) scale(.96,1.06)}
  24%{transform:translate3d(140px,265px,0) scale(1)}
  26%{transform:translate3d(140px,270px,0) scale(1.18,.82)}
  32%{transform:translate3d(65px,220px,0) scale(.96,1.04)}
  40%{transform:translate3d(365px,172px,0) scale(1)}
  42%{transform:translate3d(365px,176px,0) scale(1.17,.84)}
  48%{transform:translate3d(290px,230px,0) scale(.97,1.05)}
  58%{transform:translate3d(440px,430px,0) scale(1)}
  60%{transform:translate3d(440px,435px,0) scale(1.18,.82)}
  68%{transform:translate3d(350px,355px,0) scale(.97,1.05)}
  78%{transform:translate3d(205px,515px,0) scale(1)}
  80%{transform:translate3d(205px,520px,0) scale(1.18,.82)}
  88%{transform:translate3d(160px,478px,0) scale(.98,1.04)}
  100%{transform:translate3d(205px,542px,0) scale(1)}
}

@media (max-width:1450px){
  @keyframes heroBallJourney{
    0%{transform:translate3d(0,-30px,0) scale(1)}
    10%{transform:translate3d(-260px,220px,0) scale(1)}
    12%{transform:translate3d(-260px,223px,0) scale(1.18,.82)}
    16%{transform:translate3d(-205px,165px,0) scale(.96,1.06)}
    24%{transform:translate3d(80px,252px,0) scale(1)}
    26%{transform:translate3d(80px,257px,0) scale(1.18,.82)}
    32%{transform:translate3d(40px,205px,0) scale(.96,1.04)}
    40%{transform:translate3d(260px,160px,0) scale(1)}
    42%{transform:translate3d(260px,164px,0) scale(1.17,.84)}
    48%{transform:translate3d(205px,210px,0) scale(.97,1.05)}
    58%{transform:translate3d(350px,392px,0) scale(1)}
    60%{transform:translate3d(350px,396px,0) scale(1.18,.82)}
    68%{transform:translate3d(275px,332px,0) scale(.97,1.05)}
    78%{transform:translate3d(150px,475px,0) scale(1)}
    80%{transform:translate3d(150px,479px,0) scale(1.18,.82)}
    88%{transform:translate3d(120px,445px,0) scale(.98,1.04)}
    100%{transform:translate3d(150px,500px,0) scale(1)}
  }
}


/* Ball refinement patch v5 */
.footer-brand-col{position:relative}
.footer-ball-rest{width:18px;height:18px;border-radius:50%;background:#0a0d0c;box-shadow:0 8px 18px rgba(10,13,12,.18);margin-top:18px;opacity:0;transform:translate(0,-24px) scale(.92,.96);transition:opacity .45s ease,transform .65s cubic-bezier(.2,.9,.25,1.1)}
.footer-ball-rest.active{opacity:1;transform:translate(34px,0) scale(1)}

.hero-bounce-ball{width:16px;height:16px;top:-60px;left:23%;opacity:0;pointer-events:none}
.hero-bounce-ball.run{opacity:1;animation:heroBallJourneyText 5.7s cubic-bezier(.2,.86,.24,1) forwards}
@keyframes heroBallJourneyText{
  0%{transform:translate3d(0,-45px,0) scale(1)}
  8%{transform:translate3d(8px,180px,0) scale(1)}
  10%{transform:translate3d(8px,185px,0) scale(1.16,.82)}
  14%{transform:translate3d(72px,124px,0) scale(.98,1.04)}
  20%{transform:translate3d(178px,200px,0) scale(1)}
  22%{transform:translate3d(178px,206px,0) scale(1.16,.82)}
  28%{transform:translate3d(258px,158px,0) scale(.98,1.04)}
  35%{transform:translate3d(98px,312px,0) scale(1)}
  37%{transform:translate3d(98px,318px,0) scale(1.17,.82)}
  44%{transform:translate3d(178px,276px,0) scale(.98,1.04)}
  50%{transform:translate3d(6px,432px,0) scale(1)}
  52%{transform:translate3d(6px,438px,0) scale(1.17,.82)}
  58%{transform:translate3d(86px,395px,0) scale(.98,1.04)}
  66%{transform:translate3d(428px,220px,0) scale(1)}
  68%{transform:translate3d(428px,226px,0) scale(1.17,.82)}
  74%{transform:translate3d(520px,188px,0) scale(.98,1.04)}
  82%{transform:translate3d(642px,420px,0) scale(1)}
  84%{transform:translate3d(642px,427px,0) scale(1.17,.82)}
  90%{transform:translate3d(580px,378px,0) scale(.98,1.04)}
  100%{transform:translate3d(280px,566px,0) scale(1)}
}
@media (max-width:1450px){
  .hero-bounce-ball{left:18%}
  @keyframes heroBallJourneyText{
    0%{transform:translate3d(0,-45px,0) scale(1)}
    8%{transform:translate3d(6px,162px,0) scale(1)}
    10%{transform:translate3d(6px,168px,0) scale(1.16,.82)}
    14%{transform:translate3d(58px,118px,0) scale(.98,1.04)}
    20%{transform:translate3d(145px,185px,0) scale(1)}
    22%{transform:translate3d(145px,190px,0) scale(1.16,.82)}
    28%{transform:translate3d(210px,150px,0) scale(.98,1.04)}
    35%{transform:translate3d(78px,286px,0) scale(1)}
    37%{transform:translate3d(78px,292px,0) scale(1.17,.82)}
    44%{transform:translate3d(145px,258px,0) scale(.98,1.04)}
    50%{transform:translate3d(0px,395px,0) scale(1)}
    52%{transform:translate3d(0px,401px,0) scale(1.17,.82)}
    58%{transform:translate3d(68px,367px,0) scale(.98,1.04)}
    66%{transform:translate3d(332px,206px,0) scale(1)}
    68%{transform:translate3d(332px,212px,0) scale(1.17,.82)}
    74%{transform:translate3d(402px,180px,0) scale(.98,1.04)}
    82%{transform:translate3d(498px,380px,0) scale(1)}
    84%{transform:translate3d(498px,386px,0) scale(1.17,.82)}
    90%{transform:translate3d(450px,348px,0) scale(.98,1.04)}
    100%{transform:translate3d(210px,500px,0) scale(1)}
  }
}
@media (max-width:1024px){
  .hero-bounce-ball{left:22%;top:-45px}
  .hero-bounce-ball.run{animation-duration:4.8s}
  @keyframes heroBallJourneyText{
    0%{transform:translate3d(0,-32px,0) scale(1)}
    12%{transform:translate3d(10px,118px,0) scale(1)}
    14%{transform:translate3d(10px,123px,0) scale(1.15,.82)}
    21%{transform:translate3d(70px,160px,0) scale(.98,1.04)}
    30%{transform:translate3d(18px,265px,0) scale(1)}
    32%{transform:translate3d(18px,270px,0) scale(1.16,.82)}
    42%{transform:translate3d(182px,180px,0) scale(1)}
    44%{transform:translate3d(182px,184px,0) scale(1.16,.82)}
    56%{transform:translate3d(252px,292px,0) scale(1)}
    58%{transform:translate3d(252px,297px,0) scale(1.16,.82)}
    72%{transform:translate3d(112px,382px,0) scale(1)}
    74%{transform:translate3d(112px,387px,0) scale(1.16,.82)}
    100%{transform:translate3d(92px,452px,0) scale(1)}
  }
}

/* FINAL CLEAN MOTION: no balls, just logo opacity loader and smooth typing */
.hero-bounce-ball,.footer-ball-rest,.scroll-progress,.scroll-progress-ball,.intro-loader,.loader-ball,.loader-rail{display:none!important}
html{scroll-behavior:smooth}
body{overflow:auto!important;height:auto!important}
.intro,.intro.is-playing{position:fixed;inset:0;z-index:9999;display:flex!important;justify-content:center;align-items:center;visibility:visible;opacity:1;background:var(--paper);gap:0;animation:none!important;transition:opacity .48s ease,visibility .48s ease;pointer-events:all}
.intro.intro-finished{opacity:0;visibility:hidden;pointer-events:none}
.intro-logo-image,.intro.is-playing .intro-logo-image{width:min(370px,64vw);height:auto;opacity:1;transform:none;animation:loomLogoPulse 1.35s ease-in-out infinite alternate!important}
@keyframes loomLogoPulse{0%{opacity:.18}100%{opacity:1}}
body.page-leaving .intro{opacity:1;visibility:visible;pointer-events:all}
.js-motion .will-type:not(.type-shell){visibility:hidden}
.type-shell{position:relative!important;visibility:visible!important}
.type-ghost{visibility:hidden!important;display:block}
.type-live{position:absolute;left:0;top:0;width:100%;height:auto;white-space:pre-line;visibility:visible!important;pointer-events:none}
.type-live::after{content:"";display:inline-block;vertical-align:baseline;width:.035em;min-width:2px;height:.77em;margin-left:.03em;background:currentColor;animation:loomCaretBlink .9s steps(1) infinite}
.type-shell.typed-complete .type-live::after{display:none}
@keyframes loomCaretBlink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.intro,.intro.is-playing{display:none!important}.js-motion .will-type:not(.type-shell){visibility:visible}.type-live::after{display:none}}

/* V6: only real Loomspace PNG during page loading */
html:not(.js-motion) .intro{display:none}
.js-motion .intro,.js-motion .intro.is-playing{display:flex!important;position:fixed!important;inset:0!important;z-index:2147483000!important;background:#f5f6f2!important;align-items:center!important;justify-content:center!important;opacity:1;visibility:visible;pointer-events:all}
.js-motion .intro.intro-finished{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.intro>*:not(.intro-logo-image){display:none!important}
.intro-logo-image{display:block!important;width:min(350px,67vw)!important;max-width:100%;height:auto!important;animation:loomLogoPulse 1.3s ease-in-out infinite alternate!important}
.js-motion body:not(.page-ready) [data-reveal]{opacity:0!important;transform:translateY(26px)!important}
/* Hide older homepage cards after Behance sync chooses the newest four. */
.selected-card[hidden]{display:none!important}
