:root{--paper:#faf7ef;--ink:#090909;--blue:#1455ff;--orange:#ff5d12;--line:#aaa8a1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary,input,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue)}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:800;letter-spacing:-.065em;line-height:.98}header,main>section:not(.enquiry),footer{margin-left:3.25vw;margin-right:3.25vw}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0}.brand{display:flex;align-items:baseline;gap:8px;font-size:29px;letter-spacing:-1.4px;white-space:nowrap}.brand b{font-weight:800;letter-spacing:-2px}.brand .slash{color:var(--orange)}nav{display:flex;gap:40px;font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:5px;padding:18px 25px;font-size:17px;font-weight:700}.nav-talk{padding:13px 28px;font-size:15px}.hero{position:relative;display:grid;grid-template-columns:49% 51%;align-items:center;min-height:670px;padding:62px 0 48px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(55px,6.3vw,99px);margin:0 0 22px;line-height:.98;letter-spacing:-.075em}.hero-intro{font-size:clamp(21px,2.25vw,34px);line-height:1.16;letter-spacing:-1.1px;margin-bottom:28px}.hero-price{display:flex;align-items:baseline;gap:12px;font-size:32px;letter-spacing:-1.5px;margin-bottom:30px}.hero-price strong{font-size:60px;letter-spacing:-3px}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:17px;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}.helper{font-size:14px;color:#777;margin:17px 0 0}.hero-art{position:relative;z-index:1;width:117%;margin-left:-8%;pointer-events:none}.hero-art img{width:100%;height:auto;display:block;filter:drop-shadow(10px 25px 20px #0002)}.bridge{border-top:1px solid var(--line);padding:37px 0}.bridge h2{font-size:clamp(35px,4vw,60px);margin:0}.recognition{padding:38px 0 25px;border-top:1px solid var(--line)}.recognition h2{font-size:clamp(42px,5.5vw,83px);margin-bottom:35px}.dot{color:var(--orange)}.situations{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.situations p{display:flex;align-items:center;gap:12px;border-right:1px solid var(--line);padding-right:25px;font-size:18px}.situations p:last-child{border:0}.situations span{height:1px;background:var(--line);flex:1}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.section-heading h2{font-size:clamp(30px,3.4vw,50px);margin:0}.section-heading>p{font-size:11px;margin:0}.projects{padding:28px 0 35px;border-top:1px solid var(--line)}.rail-controls{display:flex;justify-content:space-between;align-items:center;margin:22px 0 14px}.rail-controls p{font-size:13px;margin:0;color:#555}.rail-controls button{width:36px;height:36px;border-radius:50%;border:1px solid #aaa;background:var(--paper);font-size:20px;margin-left:5px}.project-rail{display:flex;gap:23px;overflow-x:auto;scroll-snap-type:x mandatory;padding:15px 6px 24px;scrollbar-width:thin;scrollbar-color:#aaa transparent;cursor:grab;touch-action:pan-x pan-y}.project-rail.dragging{cursor:grabbing;scroll-snap-type:none}.project-card{flex:0 0 32%;min-width:300px;scroll-snap-align:center;perspective:900px}.project-open{width:100%;display:block;padding:8px;background:#ffffff90;border:1px solid #fff;border-radius:16px;box-shadow:0 4px 8px #1111,0 16px 35px #1111;transition:transform .55s cubic-bezier(.18,1.4,.32,1),box-shadow .3s;transform-style:preserve-3d}.project-open img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block;border-radius:10px}.project-caption{display:flex;justify-content:space-between;padding:15px 5px 0;font-size:12px}.project-caption span{font-size:10px;color:#555}.concept-note{font-size:10px;color:#666;line-height:1.6;margin:17px 0 0}.process{display:flex;align-items:stretch;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0}.process h2{width:35%;font-size:clamp(35px,4.4vw,65px);margin:0}.process ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;flex:1}.process li{padding:6px 25px;border-left:1px solid var(--line)}.process li>span{font-size:49px;font-weight:400;letter-spacing:-3px}.process h3{font-size:17px;letter-spacing:-.5px;margin:0 0 12px}.process li p{font-size:12px;line-height:1.5;color:#666;margin:0}.mobile-demos{padding:65px 0}.phone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:45px;max-width:1100px;margin:40px auto 0}.phone{aspect-ratio:.5;border:5px solid #161616;border-radius:26px;overflow:hidden;background:var(--paper);box-shadow:0 15px 22px #0001;position:relative}.phone:after{content:'';position:absolute;top:6px;left:37%;width:26%;height:7px;background:#161616;border-radius:5px}.phone-screen{padding:30px 17px 20px;min-height:170%;will-change:transform;background:var(--paper)}.demo-nav{font-size:9px;font-weight:bold;display:flex;justify-content:space-between;margin-bottom:30px}.phone h3{font-size:27px;font-weight:800;line-height:1;letter-spacing:-1.5px;margin-bottom:20px}.phone img{width:100%;height:150px;object-fit:cover;display:block;border-radius:4px}.phone p{font-size:10px;line-height:1.5;margin-top:15px}.phone a{font-size:8px;border-bottom:1px solid;padding-bottom:6px}.demo-story{border-top:1px solid #ccc;margin-top:25px;padding-top:25px}.demo-story>span{font-size:6px;letter-spacing:1px}.demo-story h4{font-size:25px;letter-spacing:-1px;margin:20px 0}.demo-story img{height:170px;object-position:80% center}.mobile-project:nth-child(2) .phone-screen{background:#f0e5d9}.mobile-project:nth-child(3) .phone-screen{background:#e2eaf3}.mobile-project:nth-child(4) .phone-screen{background:#e9e3cf}.mobile-project>p{font-size:10px;margin-top:15px}.offer{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 25px}.price-display strong{display:block;font-size:clamp(120px,17.5vw,260px);line-height:.86;letter-spacing:-.085em}.price-display h2{font-size:clamp(40px,4.8vw,72px);margin:15px 0}.price-display h2 span{color:var(--blue)}.price-display p{font-size:23px;letter-spacing:-.7px;margin-bottom:0}.offer-copy h2{font-size:clamp(42px,5.2vw,77px);margin-bottom:25px}.offer-copy>p{font-size:22px;line-height:1.25;letter-spacing:-.6px}.offer-copy .blue{color:var(--blue);font-weight:700;font-size:22px}.offer-copy .small-note{font-size:11px;line-height:1.5;letter-spacing:0;max-width:380px;color:#666;margin-bottom:0}.faq{display:grid;grid-template-columns:1fr 1fr;padding:40px 25px 50px;gap:55px}.faq h2{font-size:35px}.faq details{border-bottom:1px solid #bbb;padding:16px 0}.faq summary{font-size:14px;cursor:pointer}.faq details p{font-size:12px;line-height:1.6;color:#555;margin:15px 0 0}.enquiry{position:relative;display:grid;grid-template-columns:55% 45%;gap:0;background:#0c0c0c;color:var(--paper);padding:42px 6vw 40px;overflow:hidden}.enquiry h2{position:relative;z-index:2;font-size:clamp(46px,6.8vw,103px);margin:0;letter-spacing:-.07em}.enquiry-title{position:relative}.enquiry-ribbon{position:absolute;width:90%;height:160px;border:45px solid var(--blue);border-bottom-color:#0634ba;border-right-color:#4076ff;border-radius:50%;transform:rotate(-17deg);top:250px;left:-80px;box-shadow:0 15px 15px #0008,inset 0 8px 10px #fff3}.enquiry-ribbon:after{content:'';position:absolute;width:75%;height:130px;border:35px solid #1a55ff;border-radius:50%;transform:rotate(70deg);top:-50px;right:-80px;box-shadow:inset 0 12px 10px #0005}form{padding-left:25px;position:relative;z-index:2}label{display:block;font-size:13px;margin:0 0 8px}input,textarea{display:block;width:100%;color:var(--paper);background:#ffffff04;border:1px solid #999;border-radius:5px;font-size:14px;padding:13px;margin-bottom:18px}textarea{resize:vertical;min-height:100px}.form-helper{font-size:11px;color:#bbb;margin-top:-7px}.copy-button{background:var(--paper);color:#090909;width:100%;font-size:17px;padding:13px}.download{display:block;color:var(--paper);background:none;border:0;border-bottom:1px solid #666;margin:12px 0;padding:5px 0;font-size:11px}.form-note,#status{font-size:10px;color:#aaa;line-height:1.5;margin:8px 0}#status{min-height:15px;color:#fff}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}footer .brand{font-size:21px}footer .brand b{letter-spacing:-1px}footer p{margin:0;font-size:14px}#motion-toggle{border:1px solid #aaa;background:var(--paper);border-radius:4px;padding:8px 10px;font-size:10px}.page-ribbon{position:absolute;inset:0 0 auto;height:100%;min-height:3800px;overflow:hidden;z-index:-1;pointer-events:none}.page-ribbon svg{height:100%;width:100%;overflow:visible}.page-ribbon path{fill:none;stroke:url(#ribbon-colour);stroke-width:48;stroke-linecap:round;filter:drop-shadow(0 9px 5px #0002)}.ribbon-highlight{fill:none;stroke:url(#ribbon-light);stroke-width:43;opacity:.4}main>section{position:relative}main>section:not(.hero):not(.enquiry){background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 90%,#faf7ef00 100%)}dialog{border:1px solid #fff9;background:var(--paper);border-radius:14px;padding:20px;max-width:95vw;width:1100px;max-height:94vh;box-shadow:0 25px 100px #0006}dialog::backdrop{background:#101015bb;backdrop-filter:blur(12px)}dialog img{width:100%;max-height:76vh;object-fit:contain;display:block}dialog h2{font-size:20px;letter-spacing:-.6px;margin:0 0 15px}.modal-close{float:right;background:#111;color:white;border:0;border-radius:4px;padding:8px 15px}.motion-paused *{scroll-behavior:auto!important}.motion-paused .project-open{transition:none}.motion-paused .phone-screen{transform:none!important}@media(max-width:1100px){nav{gap:20px}.hero{min-height:590px}.hero-actions{gap:18px;flex-wrap:wrap}.hero .button{font-size:14px;padding:15px 18px}.hero-intro{font-size:25px}.hero-price{font-size:26px}.hero-price strong{font-size:53px}.phone-grid{gap:25px}.process li{padding:5px 15px}.enquiry-ribbon{top:240px;height:120px}.phone h3{font-size:23px}.enquiry{grid-template-columns:52% 48%}}@media(max-width:760px){header,main>section:not(.enquiry),footer{margin-left:6vw;margin-right:6vw}header{padding:22px 0}.brand{font-size:21px;gap:5px}.brand b{letter-spacing:-1.4px}header nav{display:none}.nav-talk{font-size:12px;padding:10px 14px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:34px 0 18px}.hero h1{font-size:clamp(43px,10.9vw,72px);letter-spacing:-.07em}.hero-intro{font-size:23px;letter-spacing:-.7px;margin-bottom:24px}.desktop-break{display:none}.hero-price{font-size:27px;margin-bottom:22px;gap:8px}.hero-price strong{font-size:54px}.hero-actions{gap:20px}.hero-actions .button{font-size:15px;padding:17px 20px;flex:1;white-space:nowrap}.hero-actions .text-link{font-size:14px}.helper{font-size:12px}.hero-art{width:115%;margin:-5px -7.5% -15px}.bridge{padding:25px 0}.bridge h2{font-size:34px}.recognition{padding:30px 0 22px}.recognition h2{font-size:40px;letter-spacing:-2.8px;margin-bottom:22px}.situations{display:block}.situations p{font-size:15px;border:0;padding:0;margin-bottom:12px}.situations span{max-width:100px}.section-heading{display:block}.section-heading h2{font-size:35px;letter-spacing:-2px}.section-heading>p{margin-top:15px;font-size:10px}.projects{padding:25px 0}.rail-controls p{font-size:11px}.project-card{flex-basis:87%;min-width:0}.project-rail{gap:17px;margin-right:-6vw;padding-right:6vw}.project-open img{aspect-ratio:1.35}.process{display:block;padding:30px 0}.process h2{width:auto;font-size:41px;margin-bottom:25px}.process ol{display:block}.process li{display:grid;grid-template-columns:55px 1fr;border:0;border-top:1px solid #ccc;padding:23px 0;column-gap:18px}.process li>span{grid-row:1/3;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#eae6dc;font-size:25px;letter-spacing:-1px}.process h3{font-size:20px;margin-bottom:8px}.process li p{font-size:14px}.mobile-demos{padding:40px 0}.phone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px;margin-top:30px}.phone{border-width:4px;border-radius:20px}.phone-screen{padding:26px 11px}.phone h3{font-size:23px}.phone img{height:130px}.demo-nav{font-size:7px;margin-bottom:23px}.phone p{font-size:8px}.demo-story h4{font-size:23px}.mobile-project>p{font-size:9px}.offer{display:block;padding:35px 0}.price-display strong{font-size:145px}.price-display h2{font-size:48px;margin-top:10px}.price-display p{font-size:21px}.offer-copy{margin-top:35px}.offer-copy h2{font-size:45px}.offer-copy>p{font-size:19px}.offer-copy .blue{font-size:19px}.faq{display:block;padding:30px 0}.faq h2{font-size:31px}.enquiry{display:block;padding:40px 6vw}.enquiry h2{font-size:49px;letter-spacing:-3px;margin-bottom:40px}.enquiry-ribbon{width:100%;height:80px;border-width:25px;top:auto;bottom:-620px;left:40%;opacity:.65}form{padding:0}label{font-size:13px}input,textarea{font-size:16px}.form-note{max-width:290px}.enquiry .copy-button{font-size:16px}footer{flex-wrap:wrap;padding:25px 0}footer p{font-size:12px}footer .brand{font-size:19px}.page-ribbon{min-height:5300px}.page-ribbon path{stroke-width:30}dialog{padding:15px}dialog h2{font-size:15px;padding-right:85px}.modal-close{padding:7px 10px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-open{transition:none}.phone-screen{will-change:auto}.page-ribbon{display:none}}
body{position:relative;isolation:isolate}.page-ribbon{z-index:0;height:100%;min-height:0}header,main,footer{position:relative;z-index:1}.hero-copy{background:linear-gradient(90deg,var(--paper) 90%,transparent)}.recognition h2,.section-heading h2,.process h2,.process ol,.offer-copy,.price-display,.faq{position:relative;z-index:1}.project-open:active{transform:scale(.985)}

/* Keep decorative overflow outside the layout; copy remains above the ribbon. */
html{overflow-x:clip}main{overflow-x:clip}.hero-art{transition:transform .65s cubic-bezier(.2,.9,.3,1);will-change:transform}.page-ribbon stop{transition:stop-color .7s ease}.project-card.is-active .project-caption>b{color:var(--blue)}.project-open{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.rail-controls button{min-width:44px;min-height:44px}.download{min-height:44px}.motion-paused .hero-art{transform:none!important;transition:none}@media(prefers-reduced-motion:reduce){.hero-art{transform:none!important;transition:none;will-change:auto}.page-ribbon stop{transition:none}}
.hero-art{width:110%;margin-left:-5%}.page-ribbon{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 12%,#000 18%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 12%,#000 18%,#000 100%)}
@media(max-width:760px){.hero-art{width:calc(100vw - 10px);margin-left:calc(-6vw + 5px);margin-right:0}.page-ribbon{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 16%,#000 21%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 16%,#000 21%,#000 100%)}}

/* Keep the art and message in the same hero at desktop and tablet widths. */
.hero-art-scene{position:relative;width:100%;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) rotate(var(--hero-rotate,0deg));will-change:transform;transition:transform .14s ease-out}.hero-hello{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:blur(.15px)}.hero-art{transform:none!important;transition:none;will-change:auto;pointer-events:none}.hero-art img{width:100%;height:auto}
@media(min-width:560px) and (max-width:1100px){header,main>section:not(.enquiry),footer{margin-left:3.25vw;margin-right:3.25vw}header nav{display:flex;gap:18px;font-size:11px}.brand{font-size:22px}.nav-talk{font-size:12px;padding:12px 17px}.hero{display:grid;grid-template-columns:49% 51%;align-items:center;min-height:520px;padding:36px 0}.hero h1{font-size:clamp(38px,6.4vw,70px);letter-spacing:-.073em}.hero-intro{font-size:clamp(18px,2.25vw,25px);margin-bottom:22px;letter-spacing:-.6px}.hero-price{font-size:clamp(21px,2.5vw,29px);gap:9px;margin-bottom:22px}.hero-price strong{font-size:clamp(43px,5vw,56px)}.hero-art{width:110%;margin-left:-5%;margin-right:0}.hero-actions{gap:15px}.hero-actions .button{flex:none;padding:15px 16px;font-size:13px}.hero-actions .text-link{font-size:13px}.helper{font-size:11px}.desktop-break{display:none}}
@media(max-width:559px){.hero{padding-top:22px}.hero-art{width:min(100vw - 18px,490px);margin:20px auto 0;align-self:center}.hero h1{font-size:clamp(42px,10.8vw,64px)}.hero-art-scene{transition:transform .16s ease-out}}
@media(prefers-reduced-motion:reduce){.hero-art-scene{transform:none;will-change:auto;transition:none}}.motion-paused .hero-art-scene{transform:none;transition:none}

@media(min-width:560px) and (max-width:800px){header nav{display:none}.hero h1{font-size:clamp(34px,6.1vw,49px)}.hero-actions .button{font-size:12px;padding:13px 12px}.hero-actions .text-link{font-size:12px}.hero-intro{font-size:18px}.hero{min-height:470px;padding-top:22px;padding-bottom:24px}}
