@font-face{font-family:Manrope;src:url('../assets/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--paper:#f4f3ef;--ink:#171717;--yellow:#3d8bff;--muted:#6b6a65;--line:#d8d7d1;--gutter:clamp(24px,4.2vw,76px);--font:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}body.menu-open,body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button,a,input,textarea{touch-action:manipulation}button{border:0}img{max-width:100%;display:block}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0a5bd8;outline-offset:6px}::selection{background:var(--yellow);color:var(--ink)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:20px;top:12px;background:var(--ink);color:white;padding:14px;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header>.brand{mix-blend-mode:multiply}.footer-bottom>.brand{mix-blend-mode:screen}.site-header{height:104px;padding:0 var(--gutter);display:flex;align-items:center;gap:36px;position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{flex-shrink:0;display:inline-block}.brand-logo{display:block;width:86px;height:36px;overflow:hidden}.brand-logo img{max-width:none;width:86px;height:36px;mix-blend-mode:multiply}.header-caption{font-size:11px;line-height:1.45;margin-left:12px}.site-header nav{display:flex;gap:28px;margin-left:auto;font-size:13px;font-weight:600}.site-header nav a{position:relative;padding:8px 0}.site-header nav a::after{content:'';position:absolute;height:5px;width:5px;background:var(--ink);border-radius:50%;left:50%;bottom:-4px;transform:scale(0)}.site-header nav a[aria-current]::after{transform:scale(1)}.header-contact{display:flex;gap:20px;align-items:center;font-size:13px;font-weight:700;margin-left:20px;border-bottom:1px solid var(--ink);padding:10px 0}.header-contact svg{width:18px;height:18px}.menu-toggle{display:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}.section{padding:112px var(--gutter)}
.hero{height:calc(100svh - 104px);min-height:600px;max-height:1050px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-top{position:absolute;left:var(--gutter);right:var(--gutter);top:26px;display:flex;align-items:center;justify-content:space-between;z-index:4}.hero-coordinate{font-size:9px;letter-spacing:.1em;font-weight:600}.hero-wordmark{position:absolute;left:50%;top:89px;transform:translateX(-52%);font-size:clamp(200px,30vw,510px);line-height:.78;letter-spacing:-.085em;font-weight:800;white-space:nowrap;user-select:none}.hero-mascot{position:absolute;left:50%;bottom:68px;transform:translateX(-42%);height:calc(100% - 72px);width:min(47vw,540px);object-fit:contain;z-index:2;pointer-events:none;filter:drop-shadow(0 18px 20px #0000000b)}.hero-spark{position:absolute;right:var(--gutter);top:129px;font-size:76px;line-height:1;color:var(--ink);z-index:3}.hero-copy{position:absolute;left:var(--gutter);bottom:97px;z-index:4;max-width:390px}.hero h1{font-size:clamp(42px,4.7vw,77px);line-height:.99;letter-spacing:-.065em;font-weight:500}.hero h1 span{font-weight:500}.hero-copy p{font-size:12px;line-height:1.7;margin-top:22px;color:#53534e}.hero-project-link{position:absolute;right:var(--gutter);bottom:105px;z-index:4;display:grid;grid-template-columns:110px 69px;align-items:center;gap:12px 18px}.hero-project-link>span{font-size:22px;line-height:1.15;letter-spacing:-.045em}.hero-project-link i{width:69px;height:69px;background:var(--ink);color:var(--paper);border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s}.hero-project-link i svg{width:25px;height:25px}.hero-project-link small{grid-column:1/3;font-size:8px;letter-spacing:.13em;text-align:right}.hero-project-link:hover i{background:#333;transform:rotate(8deg)}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:20px;border-top:1px solid #17171730;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:600;letter-spacing:.04em;z-index:5}.hero-bottom a{display:flex;gap:16px;align-items:center}.hero-bottom svg{width:17px;height:17px}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}.intro h2{font-size:clamp(32px,4.1vw,65px);line-height:1.12;letter-spacing:-.05em}.intro p{max-width:660px;color:var(--muted);line-height:1.85;font-size:16px;margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding:10px 0;background:transparent}.text-link svg{width:19px;height:19px}.intro .text-link{margin-top:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:58px}.section-heading>.eyebrow{align-self:flex-start}.section-heading h2{font-size:clamp(34px,4.6vw,69px);line-height:1.05;letter-spacing:-.055em}.section-heading>div .eyebrow{display:block;margin-bottom:18px}.services-preview{background:var(--ink);color:var(--paper)}.services-preview .section-heading h2{width:66.666%}.service-link-list a{display:grid;grid-template-columns:8% 43% 1fr 24px;gap:12px;align-items:center;padding:31px 0;border-top:1px solid #ffffff35}.service-link-list a:last-child{border-bottom:1px solid #ffffff35}.row-number{font-size:11px;color:var(--muted);font-weight:600}.services-preview .row-number{color:#a8a8a1}.service-link-list h3{font-size:clamp(20px,2.2vw,34px);letter-spacing:-.045em}.row-description{color:#a8a8a1;font-size:12px;line-height:1.6}.service-link-list svg{transition:transform .2s}.service-link-list a:hover svg{transform:translate(4px,-4px);color:var(--yellow)}.selected-work{padding-bottom:96px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 30px}.home-work{grid-template-columns:1.15fr .85fr;align-items:start}.home-work .project-card:nth-child(2){margin-top:110px}.project-open{display:block;width:100%;background:transparent;padding:0;position:relative;text-align:left;overflow:hidden;border-radius:3px}.mock-browser{aspect-ratio:1.34;background:#e9e7df;overflow:hidden;position:relative;transition:transform .6s cubic-bezier(.2,.8,.2,1);container-type:inline-size}.project-open:hover .mock-browser{transform:scale(1.025)}.browser-bar{height:27px;background:#fff9;display:flex;align-items:center;gap:4px;padding:0 11px;border-bottom:1px solid #00000010}.browser-bar i{display:block;width:4px;height:4px;border:1px solid #0005;border-radius:50%}.browser-bar span{font-size:7px;position:absolute;left:50%;transform:translateX(-50%);color:#555}.mini-site{height:calc(100% - 27px);padding:6% 6% 4%;position:relative}.mini-nav{display:flex;justify-content:space-between;align-items:center}.mini-nav b{font-size:3.5cqw;letter-spacing:-.06em}.mini-nav>span{font-size:1.45cqw}.mini-eyebrow{display:block;font-size:1.2cqw;letter-spacing:.08em;font-family:Arial,sans-serif}.mini-link{display:inline-block;font-size:1.65cqw;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:8%}.mini-bottom{position:absolute;left:6%;bottom:5%;font-size:1.3cqw}.maison{background:#dfd6c8}.maison .mini-nav b{font-family:Georgia,serif;font-weight:400;letter-spacing:.12em}.maison-layout{margin-top:13%;display:grid;grid-template-columns:1fr 1fr;gap:4%;align-items:center}.maison-layout strong{display:block;font-family:Georgia,serif;font-size:5.4cqw;font-weight:400;line-height:1.13;letter-spacing:-.045em;margin-top:8%}.maison-room{height:38cqw;background:#b6a995;position:relative;overflow:hidden}.room-arch{position:absolute;left:25%;top:5%;width:60%;height:100%;border-radius:60% 60% 0 0;background:linear-gradient(90deg,#9a8c74,#e8deca)}.room-sofa{position:absolute;left:3%;bottom:2%;width:95%;height:30%;background:#d4c5a9;border-radius:12% 12% 0 0;box-shadow:0 -10px 0 #cdc0a9}.room-vase{position:absolute;right:12%;bottom:23%;height:20%;width:12%;border-radius:40% 40% 50% 50%;background:#7c6046}.ost{background:#8fc0ff}.ost .browser-bar{background:#cfe3ff}.ost .mini-nav b{font-size:5.5cqw;line-height:.8;font-weight:800}.ost-layout{margin-top:12%;position:relative}.ost-layout strong{display:block;font-size:10cqw;line-height:.92;font-weight:800;letter-spacing:-.07em;margin-top:6%}.ost-stamp{position:absolute;right:0;top:27%;border:1px solid var(--ink);border-radius:50%;width:17cqw;height:17cqw;display:grid;place-content:center;text-align:center;font-size:1.5cqw;line-height:1.5;transform:rotate(15deg)}.forma{background:#c8ccf0}.forma .mini-nav b{font-size:4cqw;font-weight:800}.forma-layout{margin-top:12%;position:relative}.forma-layout strong{display:block;font-size:9cqw;line-height:.95;font-weight:700;letter-spacing:-.07em;margin-top:5%}.forma-bars{position:absolute;right:1%;top:15%;width:32%;height:30cqw;display:flex;gap:8%;align-items:flex-end;transform:skew(-15deg)}.forma-bars i{width:20%;background:#2e3657;height:50%}.forma-bars i:nth-child(2){height:70%}.forma-bars i:nth-child(3){height:90%}.forma-bars i:nth-child(4){height:100%}.project-hover{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:14px;font-size:11px;font-weight:600;background:var(--paper);padding:12px 15px;border-radius:30px;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}.project-hover svg{width:15px;height:15px}.project-open:hover .project-hover,.project-open:focus-visible .project-hover{opacity:1;transform:none}.project-meta{display:flex;justify-content:space-between;gap:20px;margin-top:23px}.project-meta h3{font-size:25px;font-weight:600;letter-spacing:-.05em}.project-meta p{font-size:12px;line-height:1.65;margin-top:6px;color:var(--muted);max-width:330px}.concept-label{font-size:8px;letter-spacing:.08em;padding:7px 9px;border:1px solid var(--line);border-radius:20px;align-self:flex-start}.project-services{font-size:9px;color:var(--muted);margin-top:18px}.concept-note{font-size:11px;color:var(--muted);margin-top:38px;line-height:1.6}
.site-footer{background:var(--ink);color:var(--paper);padding:75px var(--gutter) 30px}.footer-top>.eyebrow{color:#b8b8b1}.footer-cta{display:block;font-size:clamp(40px,7.2vw,114px);letter-spacing:-.065em;line-height:1.05;margin:34px 0 74px;position:relative;padding-right:100px}.footer-cta>span{color:#9c9c94}.footer-cta>svg{position:absolute;right:0;bottom:5px;width:70px;height:70px;color:var(--yellow);transition:transform .2s}.footer-cta:hover>svg{transform:translate(6px,-6px)}.footer-bottom{border-top:1px solid #ffffff30;padding-top:32px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:25px;align-items:start}.footer-bottom .brand-logo img{filter:invert(1);mix-blend-mode:screen}.footer-bottom>div{font-size:11px;line-height:1.7;display:grid;gap:6px}.footer-links{justify-self:center}.footer-note{font-size:9px;line-height:1.8;color:#a8a8a1;text-align:right}
.page-intro{padding-top:88px;padding-bottom:65px}.page-intro>.eyebrow{display:block;margin-bottom:30px}.page-intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end}.page-intro h1,.contact-info h1{font-size:clamp(54px,7.6vw,116px);line-height:1.02;letter-spacing:-.07em}.page-intro h1>span,.contact-info h1>span{color:#85847e}.page-intro-grid>p{max-width:400px;font-size:15px;line-height:1.9;color:var(--muted);padding-bottom:5px}.service-detail-section{padding-top:10px;padding-bottom:90px}.service-detail{border-top:1px solid var(--line);scroll-margin-top:20px}.service-detail:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-detail>summary{display:grid;grid-template-columns:8% 1fr 30px;gap:12px;align-items:center;padding:30px 0}.service-detail h2{font-size:clamp(24px,3.3vw,49px);letter-spacing:-.05em}.plus{height:25px;width:25px;position:relative}.plus::before,.plus::after{content:'';position:absolute;left:0;top:12px;height:1px;width:25px;background:var(--ink);transition:transform .2s}.plus::after{transform:rotate(90deg)}details[open] .plus::after{transform:none}.service-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:15px 8% 45px}.service-detail-body h3{font-size:28px;line-height:1.3;letter-spacing:-.05em;max-width:300px}.service-detail-body p{font-size:14px;color:var(--muted);line-height:1.9}.service-detail-body ul{padding-left:18px;font-size:12px;line-height:2.2;margin:22px 0}.process{background:#e8e7e0}.process .section-heading h2{width:66.666%}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-grid article{border-top:1px solid #17171760;padding-top:20px}.process-grid article>span{font-size:10px}.process-grid h3{font-size:24px;letter-spacing:-.05em;margin:55px 0 15px}.process-grid p{color:var(--muted);font-size:13px;line-height:1.8;max-width:230px}.faq{display:grid;grid-template-columns:1fr 2fr;gap:45px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font-size:18px;letter-spacing:-.035em;display:flex;justify-content:space-between;gap:20px}.faq details p{font-size:14px;color:var(--muted);line-height:1.8;max-width:600px;margin:18px 0 5px}.project-filters{display:flex;gap:10px;margin-top:58px}.project-filters button{padding:12px 20px;border-radius:30px;border:1px solid var(--line);background:transparent;font-size:12px;display:flex;gap:20px;align-items:center}.project-filters button>span{font-size:9px}.project-filters button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.portfolio-section{padding-top:5px}.portfolio-grid .project-card:nth-child(2){padding-top:110px}.portfolio-grid .project-card:nth-child(3){grid-column:1/2}.portfolio-grid.filtered .project-card{padding-top:0;grid-column:auto}
.project-dialog{border:0;background:var(--paper);padding:70px 45px 45px;max-width:880px;width:calc(100% - 40px);max-height:90svh;overflow:auto;color:var(--ink)}.project-dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:25px;top:20px;background:transparent;font-size:11px;display:flex;gap:16px;align-items:center}.dialog-close>span{font-size:30px;line-height:1}.dialog-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.dialog-intro h2{font-size:55px;letter-spacing:-.06em}.dialog-image{max-width:100%;margin-bottom:30px}.dialog-image .mock-browser{aspect-ratio:1.7}.dialog-text{display:grid;grid-template-columns:1fr 2fr;gap:30px}.dialog-text p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:20px}.dialog-text h3{font-size:20px;line-height:1.4;letter-spacing:-.04em}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:85px;padding-bottom:90px}.contact-info>.eyebrow{display:block;margin-bottom:35px}.contact-info h1{font-size:clamp(56px,6.5vw,98px)}.contact-info>p{font-size:14px;color:var(--muted);line-height:1.9;max-width:330px;margin-top:28px}.contact-links{display:grid;gap:18px;margin-top:32px}.contact-links a{display:flex;align-items:center;gap:25px;font-size:clamp(18px,2vw,30px);letter-spacing:-.035em}.contact-links svg{width:20px;height:20px}.contact-mascot{display:flex;align-items:center;margin-top:35px;gap:10px}.contact-mascot .mascot-mini{width:150px;height:210px;flex-shrink:0}.contact-mascot>span{font-size:11px;color:var(--muted);line-height:1.8}.contact-form{padding-top:8px;min-width:0}.form-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:26px;margin-bottom:18px}.form-title>span:last-child{font-size:30px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{margin:28px 0}.field label{display:block;font-size:11px;font-weight:600;margin-bottom:12px}.field label>span{color:var(--muted)}.field input,.field textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:13px;line-height:1.7;color:var(--ink);resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#6b6a65;opacity:1}.optional{font-size:8px;letter-spacing:.08em;margin-left:12px}.service-choice{border:0;padding:0;margin:35px 0}.service-choice legend{font-size:11px;font-weight:600;margin-bottom:17px}.service-choice>div{display:flex;gap:8px;flex-wrap:wrap}.service-choice label{position:relative}.service-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}.service-choice label>span{display:block;border:1px solid var(--line);border-radius:25px;padding:11px 15px;font-size:11px;pointer-events:none}.service-choice input:checked+span{background:var(--yellow);border-color:var(--yellow)}.service-choice input:focus-visible+span{outline:3px solid #0a5bd8;outline-offset:3px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:35px;padding:20px 25px;font-size:12px;font-weight:600}.button-dark{background:var(--ink);color:var(--paper)}.button svg{width:20px;height:20px}.submit-button{width:100%;margin-top:10px}.form-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:15px;max-width:350px}.form-feedback{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.form-feedback p{font-size:12px;line-height:1.8;color:var(--muted)}.form-feedback .text-link{font-size:11px;margin-top:8px}
@media(min-width:1650px){.hero-wordmark{top:90px}.hero-mascot{width:590px}.hero-copy{max-width:470px}}
@media(max-width:1100px){.header-caption{display:none}.site-header{gap:25px}.site-header nav{gap:23px}.header-contact{margin-left:6px}.hero h1{font-size:52px}.hero-copy{max-width:300px}.hero-project-link{grid-template-columns:85px 58px;gap:12px}.hero-project-link>span{font-size:19px}.hero-project-link i{width:58px;height:58px}.hero-mascot{transform:translateX(-37%);width:48vw}.hero-wordmark{font-size:31vw;top:100px}.hero-spark{font-size:55px}.row-description{display:none}.service-link-list a{grid-template-columns:10% 1fr 24px}.page-intro-grid{gap:35px}.contact-section{gap:6%}.contact-info h1{font-size:66px}.field-grid{grid-template-columns:1fr;gap:0}.field-grid .field{margin:22px 0 6px}.contact-links a{font-size:20px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:82px;justify-content:space-between}.site-header nav{display:none;position:absolute;left:0;right:0;top:81px;margin:0;padding:35px var(--gutter) 45px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:19px;font-size:30px;box-shadow:0 25px 30px #0001}.site-header nav.is-open{display:flex}.site-header nav a::after{left:auto;right:2px;bottom:50%;width:7px;height:7px}.header-contact{display:none}.menu-toggle{display:grid;grid-template-columns:auto 25px;column-gap:14px;align-items:center;background:transparent;font-size:12px;padding:12px 0}.menu-toggle>span{grid-row:1/3}.menu-toggle i{width:25px;height:1px;background:var(--ink);display:block;margin:3px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}.section{padding:75px var(--gutter)}.hero{height:calc(100svh - 82px);min-height:720px;max-height:900px}.hero-top{top:23px}.hero-coordinate{display:none}.hero-wordmark{font-size:37vw;top:100px;transform:translateX(-53%)}.hero-mascot{height:440px;width:320px;max-width:90vw;bottom:215px;left:50%;transform:translateX(-45%)}.hero-spark{right:25px;top:196px;font-size:38px}.hero-copy{bottom:76px;max-width:270px}.hero h1{font-size:46px;line-height:1.02}.hero-copy p{font-size:11px;margin-top:14px}.hero-project-link{bottom:101px;right:24px;display:block}.hero-project-link>span,.hero-project-link small{display:none}.hero-project-link i{width:52px;height:52px}.hero-project-link i svg{width:21px;height:21px}.hero-bottom{bottom:18px;padding-top:14px;font-size:8px}.hero-bottom>span:nth-child(2){display:none}.hero-bottom svg{width:14px;height:14px}.hero-bottom a{gap:8px}.intro{grid-template-columns:1fr;gap:28px}.intro h2{font-size:35px}.intro p{font-size:14px;margin-top:24px}.intro .text-link{margin-top:20px}.section-heading{display:block;margin-bottom:36px}.section-heading>.eyebrow{display:block;margin-bottom:25px}.section-heading h2{font-size:38px}.services-preview .section-heading h2,.process .section-heading h2{width:100%}.service-link-list a{grid-template-columns:29px 1fr 19px;padding:26px 0;gap:10px}.service-link-list h3{font-size:23px}.service-link-list svg{width:19px;height:19px}.section-heading>.text-link{margin-top:22px}.work-grid,.home-work{grid-template-columns:1fr;gap:42px}.home-work .project-card:nth-child(2){margin-top:0}.project-meta h3{font-size:24px}.project-meta p{font-size:12px}.project-hover{opacity:1;transform:none;padding:10px 13px;right:12px;bottom:12px;font-size:10px}.concept-note{font-size:10px}.site-footer{padding:60px var(--gutter) 25px}.footer-cta{font-size:43px;line-height:1.08;letter-spacing:-.065em;padding-right:0;margin:27px 0 45px}.footer-cta>svg{position:relative;display:block;width:35px;height:35px;margin-top:20px}.footer-bottom{grid-template-columns:1fr 1fr;gap:30px 10px;padding-top:28px}.footer-bottom>.brand{grid-column:1/3}.footer-links{justify-self:start}.footer-note{grid-column:1/3;text-align:left}.page-intro{padding-top:58px;padding-bottom:38px}.page-intro>.eyebrow{font-size:9px;margin-bottom:28px}.page-intro-grid{grid-template-columns:1fr;gap:25px}.page-intro h1{font-size:61px}.page-intro-grid>p{font-size:14px;line-height:1.8}.service-detail-section{padding-top:5px;padding-bottom:65px}.service-detail>summary{grid-template-columns:25px 1fr 22px;padding:25px 0;gap:10px}.service-detail h2{font-size:26px}.plus,.plus::before,.plus::after{width:20px}.service-detail-body{grid-template-columns:1fr;gap:18px;padding:10px 0 30px 35px}.service-detail-body h3{font-size:24px}.service-detail-body p{font-size:13px}.service-detail-body .text-link{font-size:12px;gap:12px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 24px}.process-grid h3{margin-top:30px;font-size:22px}.process-grid p{font-size:12px}.faq{grid-template-columns:1fr;gap:25px}.faq summary{font-size:17px}.project-filters{gap:7px;margin-top:33px;flex-wrap:wrap}.project-filters button{font-size:11px;gap:12px;padding:11px 16px}.portfolio-section{padding-top:5px}.portfolio-grid .project-card:nth-child(2){padding-top:0}.portfolio-grid .project-card:nth-child(3){grid-column:auto}.contact-section{grid-template-columns:1fr;gap:45px;padding-top:58px}.contact-info h1{font-size:65px}.contact-info>.eyebrow{margin-bottom:28px}.contact-info>p{margin-top:25px}.contact-links{margin-top:25px}.contact-links a{font-size:23px}.contact-mascot{display:none}.contact-form{padding-top:0}.field-grid{grid-template-columns:1fr}.contact-form .field{margin:26px 0}.contact-form .field-grid .field{margin:18px 0 8px}.project-dialog{padding:65px 20px 30px;width:calc(100% - 24px);max-height:92svh}.dialog-intro h2{font-size:40px}.dialog-intro{margin-bottom:20px}.dialog-text{grid-template-columns:1fr;gap:18px}.dialog-image .mock-browser{aspect-ratio:1.34}}
@media(max-width:360px){.hero h1{font-size:40px}.hero-copy{max-width:230px}.hero-mascot{width:300px;bottom:220px}.page-intro h1{font-size:52px}.service-detail h2{font-size:23px}.contact-info h1{font-size:56px}.project-filters button{padding:10px 13px;gap:8px}.footer-cta{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Final optical refinements from responsive browser review. */
.site-header{background:#fff}.site-footer{background:#000}
@media(max-width:760px){body[data-page="services"] .page-intro h1{font-size:clamp(42px,13.1vw,56px)}}

[data-view][hidden]{display:none!important}

.hero-mascot{container-type:size}
.mascot-rig{position:absolute;left:50%;top:50%;width:min(100cqw,66.667cqh);aspect-ratio:1024/1536;translate:-50% -50%;container-type:inline-size;transform-origin:50% 100%}
.mascot-rig img{position:absolute;max-width:none}
.mascot-body{inset:0;width:100%;height:100%}
.mascot-head{position:absolute;left:14.648%;top:0;width:71.289%;height:45.573%;transform-origin:44% 93%}
.mascot-head img{inset:0;width:100%;height:100%;filter:drop-shadow(0 .5cqw .7cqw #0a1e5030)}
.mascot-eye{position:absolute;border-radius:50%;background:radial-gradient(ellipse at 42% 38%,#11306a 0%,#061633 55%,#0a2a66 100%);box-shadow:0 0 .9cqw .25cqw #04153a55;animation:mascot-blink 5.2s infinite}
.mascot-eye::after{content:"";position:absolute;left:28%;top:16%;width:26%;height:12%;border-radius:50%;background:#ffffff8c;filter:blur(.15cqw)}
.mascot-eye-left{left:18.9%;top:47.14%;width:4.4%;height:16.88%}
.mascot-eye-right{left:46.15%;top:43.28%;width:8.8%;height:17.44%;animation-delay:.04s}
@keyframes mascot-blink{0%,93%,100%{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}
@media(prefers-reduced-motion:reduce){.mascot-eye{animation:none}}
.raceme{background:#111}.raceme .browser-bar{background:#1d1d1d;border-bottom-color:#ffffff14}.raceme .browser-bar i{border-color:#fff6}.raceme .browser-bar span{color:#bbb}.mock-shot{display:block;width:100%;height:calc(100% - 27px);object-fit:cover;object-position:top}.done-label{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.lang-switch{order:5;display:flex;gap:2px;margin-left:-14px;font-size:11px;font-weight:700;letter-spacing:.06em}.lang-switch button{background:transparent;border:0;border-radius:20px;padding:8px 8px;color:var(--muted);transition:color .2s,background .2s}.lang-switch button:hover{color:var(--ink)}.lang-switch button[aria-pressed=true]{color:var(--ink);background:var(--paper)}@media(max-width:760px){.lang-switch{order:0;margin-left:auto;margin-right:4px}}
/* Kleine mannetjes op de andere pagina's; links staat hij gespiegeld zodat hij naar de inhoud kijkt. */
.mascot-mini{position:relative;container-type:size;filter:drop-shadow(0 10px 12px #00000010)}
.mascot-mini[data-side=left] .mascot-rig{scale:-1 1}
.page-intro-grid.has-mascot>h1{grid-row:1/3}
.page-intro-grid.has-mascot>p{grid-column:2;grid-row:2}
.page-intro-grid>.mascot-mini{grid-column:2;grid-row:1;justify-self:start;width:230px;height:328px;margin:0 0 -18px calc((min(400px,100%) - 230px)/2)}
@media(max-width:760px){.page-intro-grid.has-mascot>h1,.page-intro-grid.has-mascot>p,.page-intro-grid>.mascot-mini{grid-row:auto;grid-column:auto}.page-intro-grid>.mascot-mini{order:1;justify-self:center;width:150px;height:214px;margin:0 0 -8px}.page-intro-grid.has-mascot>p{order:2}}
/* Groot NIRI achter het mannetje, zoals op de voorpagina. */
.mascot-wordmark{position:absolute;left:50%;top:20%;transform:translateX(-52%);font-size:74cqw;line-height:.78;letter-spacing:-.085em;font-weight:800;white-space:nowrap;user-select:none;pointer-events:none}
.mascot-mini>.mascot-rig{z-index:1}
/* Anatomie: een website in het midden, met lijnen naar uitleg errond (geïnspireerd op een blueprint). */
.anatomy{position:relative;height:calc(100svh - 104px);min-height:720px;max-height:1000px;overflow:hidden;border-bottom:1px solid var(--line)}
.anatomy-grid i{position:absolute;background:var(--line)}
.anatomy-grid .v{top:0;bottom:0;left:var(--x);width:1px}
.anatomy-grid .h{left:0;right:0;top:var(--y);height:1px}
.anatomy-grid .plus{position:absolute;left:var(--x);top:var(--y);width:11px;height:11px;translate:-50% -50%}
.anatomy-grid .plus::before,.anatomy-grid .plus::after{content:"";position:absolute;background:#9c9b94;left:5px;top:0;width:1px;height:11px}
.anatomy-grid .plus::after{left:0;top:5px;width:11px;height:1px}
.anatomy-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.anatomy-lines path{fill:none;stroke:var(--ink);stroke-width:1}
.anatomy-title{position:absolute;left:var(--gutter);top:34px;z-index:3;font-size:clamp(44px,5.4vw,84px);line-height:1;letter-spacing:-.065em;font-weight:500}
.anatomy-title>span{color:#85847e}
.anatomy-badge{position:absolute;left:50%;top:28px;translate:-50% 0;z-index:3;border:1px solid var(--ink);padding:5px 9px;font-size:9px;font-weight:700;letter-spacing:.1em}
.anatomy-clock{position:absolute;right:var(--gutter);top:28px;z-index:3;text-align:right;font-size:9px;letter-spacing:.1em;line-height:1.5}
.anatomy-clock span{display:block;color:var(--muted)}
.anatomy{--w:clamp(420px,44vw,700px);--h:calc(var(--w) * .625 + 27px);--d:16px}
.anatomy-stage3d{position:absolute;left:50%;top:53%;translate:-50% -50%;z-index:1;width:var(--w);height:var(--h);perspective:1700px}
.anatomy-object{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-8deg) rotateY(-18deg);cursor:grab;touch-action:pan-y;user-select:none}
.anatomy-object.is-dragging{cursor:grabbing}
.anatomy-face{position:absolute;inset:0;margin:0;background:#fff;border-radius:6px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 0 0 1px #0000000f}
.anatomy-front{transform:translateZ(calc(var(--d) / 2))}
.anatomy-back{transform:rotateY(180deg) translateZ(calc(var(--d) / 2));background:#111}
.anatomy-back .browser-bar{background:#1d1d1d;border-bottom-color:#ffffff14}.anatomy-back .browser-bar i{border-color:#fff6}.anatomy-back .browser-bar span{color:#bbb}
.anatomy-back .anatomy-shot{height:calc(100% - 27px);overflow:hidden}
.anatomy-back img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;pointer-events:none}
.anatomy-face .browser-bar{position:relative}
.anatomy-shot img{pointer-events:none}
.anatomy-edge{position:absolute;background:linear-gradient(90deg,#cfcec7,#e9e8e2 50%,#cfcec7)}
.anatomy-edge.is-left,.anatomy-edge.is-right{top:6px;bottom:6px;left:50%;width:var(--d);margin-left:calc(var(--d) / -2)}
.anatomy-edge.is-left{transform:rotateY(-90deg) translateZ(calc(var(--w) / 2))}
.anatomy-edge.is-right{transform:rotateY(90deg) translateZ(calc(var(--w) / 2))}
.anatomy-edge.is-top,.anatomy-edge.is-bottom{left:6px;right:6px;top:50%;height:var(--d);margin-top:calc(var(--d) / -2);background:linear-gradient(#cfcec7,#e9e8e2 50%,#cfcec7)}
.anatomy-edge.is-top{transform:rotateX(90deg) translateZ(calc(var(--h) / 2))}
.anatomy-edge.is-bottom{transform:rotateX(-90deg) translateZ(calc(var(--h) / 2))}
.anatomy-floor{position:absolute;left:12%;right:12%;bottom:-70px;height:40px;border-radius:50%;background:radial-gradient(closest-side,#0a1e5026,#0a1e5000);filter:blur(6px);transition:transform .2s}
.anatomy-hint{position:absolute;left:50%;top:60px;translate:-50% 0;z-index:3;font-size:8px;letter-spacing:.14em;color:var(--muted);font-weight:700}
.anatomy-lines{transition:opacity .25s}
.anatomy-note,.anatomy-card{transition:opacity .25s}
.anatomy .for-back,.anatomy.show-back .for-front{display:none}
.anatomy.show-back .for-back{display:block}
.anatomy-note{opacity:var(--seen,1)}
.anatomy-shot{position:relative}
.anatomy-shot img{display:block;width:100%;height:auto}
.anatomy-dot{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;translate:-50% -50%;border:1px solid var(--ink);background:#fff;animation:anatomy-pulse 2.6s infinite}
.anatomy-dot::after{content:"";position:absolute;inset:3px;background:var(--yellow)}
.anatomy-dot em{display:none}
@keyframes anatomy-pulse{0%{box-shadow:0 0 0 0 #3d8bff66}70%,100%{box-shadow:0 0 0 10px #3d8bff00}}
.anatomy-note{position:absolute;left:var(--x);top:var(--y);z-index:3;width:150px;margin:0;padding-bottom:7px;background:var(--paper);font-size:9px;line-height:1.55;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.anatomy-note>span>b{display:block;font-weight:800;letter-spacing:.1em;margin-bottom:3px}
.anatomy-card{width:172px;padding:0;border:1px solid var(--ink);background:var(--paper)}
.anatomy-card p{margin:0;padding:6px 10px}
.anatomy-card p+p{border-top:1px solid var(--line)}
.anatomy-card-head{display:flex;justify-content:space-between;align-items:baseline;background:var(--ink);color:var(--paper)}
.anatomy-card-head b{font-size:15px;letter-spacing:-.04em;font-weight:800}
.anatomy-list{position:absolute;left:var(--gutter);bottom:28px;z-index:3;width:260px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.anatomy-list-head{margin:0 0 10px;font-weight:800;letter-spacing:.1em}
.anatomy-list-body{display:grid;grid-template-columns:54px 1fr;gap:10px}
.anatomy-thumb{display:grid;place-items:center;border:1px solid var(--ink);font-size:22px;background:repeating-linear-gradient(-60deg,#0000 0 4px,#17171714 4px 5px)}
.anatomy-list ol{list-style:none;margin:0;padding:0}
.anatomy-list li{padding:5px 0 6px;border-bottom:1px solid var(--ink);line-height:1.5}
.anatomy-list li>span{display:flex;align-items:center;gap:6px;color:var(--muted)}
.anatomy-list li i{display:inline-block;width:64px;height:6px;background:repeating-linear-gradient(-60deg,var(--ink) 0 1.4px,#0000 1.4px 4px)}
.anatomy-about{position:absolute;right:var(--gutter);bottom:28px;z-index:3;width:270px}
.anatomy-about-head{display:inline-block;margin:0;background:var(--ink);color:var(--paper);padding:3px 7px;font-size:9px;font-weight:800;letter-spacing:.1em}
.anatomy-about-text{margin:0;border:1px solid var(--ink);padding:11px 12px;font-size:11px;line-height:1.6;background:var(--paper)}
.anatomy-pills{display:flex;justify-content:flex-end;gap:6px;margin:9px 0 0}
.anatomy-pills a{border:1px solid var(--ink);border-radius:20px;padding:4px 10px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s}
.anatomy-pills a:hover{background:var(--ink);color:var(--paper)}
@media(prefers-reduced-motion:reduce){.anatomy-dot{animation:none}}
@media(max-width:860px){
.anatomy{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;gap:22px;padding:42px var(--gutter) 56px}
.anatomy-grid,.anatomy-lines{display:none}
.anatomy{--w:calc(100vw - 2 * var(--gutter));--d:12px}
.anatomy-title,.anatomy-badge,.anatomy-clock,.anatomy-stage3d,.anatomy-note,.anatomy-list,.anatomy-about,.anatomy-hint{position:static;translate:none}
.anatomy-title,.anatomy-badge,.anatomy-clock,.anatomy-note,.anatomy-list,.anatomy-about,.anatomy-hint{width:auto}
.anatomy-title{font-size:clamp(40px,12vw,56px)}
.anatomy-badge{align-self:flex-start}
.anatomy-clock{text-align:left}
.anatomy-stage3d{margin:10px 0 40px}.anatomy-floor{bottom:-46px}.anatomy-hint{align-self:flex-start}
.anatomy-dot{width:18px;height:18px;border-radius:50%;background:var(--ink);border-color:#fff}
.anatomy-dot::after{display:none}
.anatomy-dot em{display:grid;place-items:center;height:100%;font-style:normal;font-size:9px;font-weight:800;color:#fff}
.anatomy-note{display:grid;grid-template-columns:26px 1fr;column-gap:8px;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:10px}
.anatomy-note::before{content:attr(data-note);grid-row:1/4;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800}
.anatomy-card{padding:0;border:1px solid var(--ink);display:block}
.anatomy-card::before{display:none}
.anatomy-pills{justify-content:flex-start}
}
/* Prijzen: richtprijs voor een website en abonnementen voor hosting en onderhoud. */
.pricing-websites{padding-top:40px}
.price-calculator{display:grid;grid-template-columns:1.45fr .9fr;gap:44px;align-items:start}
.price-step{border:0;margin:0 0 38px;padding:0;min-width:0}
.price-step legend{padding:0;margin-bottom:16px;font-size:13px;font-weight:700}
.price-types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.price-type{position:relative;display:block;border:1px solid var(--line);border-radius:4px;padding:22px 20px 20px;cursor:pointer;transition:border-color .2s,background .2s}
.price-type:hover{border-color:#a9a8a1}
.price-type input,.price-extra input{position:absolute;opacity:0;pointer-events:none}
.price-type:has(input:checked){border-color:var(--ink);background:#fff}
.price-type:has(input:focus-visible),.price-extra:has(input:focus-visible){outline:3px solid #0a5bd8;outline-offset:3px}
.price-type>b{display:block;font-size:19px;letter-spacing:-.03em;font-weight:600;padding-right:22px}
.price-type small{display:block;font-size:12px;color:var(--muted);line-height:1.55;margin:8px 0 18px}
.price-type strong{font-size:13px;font-weight:700}
.price-type::after{content:"";position:absolute;right:16px;top:20px;width:12px;height:12px;border-radius:50%;border:1px solid #b9b8b1;transition:background .2s,border-color .2s}
.price-type:has(input:checked)::after{border-color:var(--yellow);background:var(--yellow);box-shadow:inset 0 0 0 3px #fff}
.price-extras{display:flex;flex-wrap:wrap;gap:10px}
.price-extra{position:relative;display:inline-flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:30px;padding:12px 17px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.price-extra em{font-style:normal;color:var(--muted);font-weight:500}
.price-extra:has(input:checked){background:var(--yellow);border-color:var(--yellow)}
.price-extra:has(input:checked) em{color:var(--ink)}
.price-included{font-size:12px;color:var(--muted);line-height:1.7}
.price-summary{position:sticky;top:30px;background:var(--ink);color:var(--paper);border-radius:4px;padding:30px}
.price-summary .eyebrow{color:#9c9c94}
#price-total{display:block;font-size:clamp(36px,4vw,56px);letter-spacing:-.05em;font-weight:500;line-height:1.05;margin:14px 0 26px}
.price-care{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff22;padding-top:16px;font-size:12px;color:#c9c8c1}
.price-care b{color:var(--paper)}
.price-summary .button{width:100%;margin-top:26px;background:var(--paper);color:var(--ink)}
.price-summary small{display:block;margin-top:14px;font-size:11px;color:#9c9c94}
.pricing-plans{padding-top:30px}
.pricing-lead{max-width:330px;font-size:14px;line-height:1.8;color:var(--muted)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;padding:32px 28px 28px;transition:box-shadow .25s}
.plan.is-popular{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.plan-badge,.plan-flag{position:absolute;top:-11px;padding:5px 10px;border-radius:20px;font-size:9px;font-weight:800;letter-spacing:.1em}
.plan-badge{left:26px;background:var(--yellow);color:var(--ink)}
.plan-flag{right:26px;display:none;background:var(--paper);color:var(--ink);border:1px solid var(--yellow)}
.plan.is-recommended{box-shadow:0 0 0 2px var(--yellow)}
.plan.is-recommended .plan-flag{display:block}
.plan h3{font-size:22px;letter-spacing:-.04em;font-weight:600}
.plan-price{font-size:48px;letter-spacing:-.06em;line-height:1;margin:20px 0 14px}
.plan-price span{font-size:13px;letter-spacing:0;color:var(--muted);margin-left:4px}
.plan>p:not(.plan-price){font-size:13px;line-height:1.65;color:var(--muted)}
.plan.is-popular>p:not(.plan-price),.plan.is-popular .plan-price span{color:#b9b8b1}
.plan ul{list-style:none;margin:22px 0 28px;padding:0;flex:1}
.plan li{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:13px}
.plan.is-popular li{border-top-color:#ffffff1f}
.plan li::before{content:"✓";color:var(--yellow);font-weight:800}
.plan .button{border:1px solid var(--ink)}
.plan.is-popular .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.plans-note{margin-top:22px;font-size:11px;color:var(--muted)}
.included{margin-top:80px}
.included-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid var(--ink)}
.included-grid article{padding:28px 26px 8px 0}
.included-grid b{display:block;font-size:38px;letter-spacing:-.06em;font-weight:500;margin-bottom:16px}
.included-grid h3{font-size:14px;font-weight:700;margin-bottom:8px}
.included-grid p{font-size:12px;line-height:1.65;color:var(--muted);max-width:230px}
.pricing-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:70px;padding-top:30px;border-top:1px solid var(--line)}
.pricing-cta h3{font-size:clamp(24px,2.6vw,36px);letter-spacing:-.05em;font-weight:500}
.pricing-cta .text-link{margin-top:0}
@media(max-width:1000px){.price-calculator{grid-template-columns:1fr}.price-summary{position:static}.price-types,.plans{grid-template-columns:1fr}.included-grid{grid-template-columns:1fr 1fr}.plans{gap:24px}}
.pricing-intro .page-intro-grid{grid-template-columns:2fr 1fr}
.pricing-intro h1{font-size:clamp(50px,6.2vw,96px)}
@media(max-width:760px){.pricing-intro .page-intro-grid{grid-template-columns:1fr}}

/* Leesbaarheid: kleine labels en hulpteksten iets groter */
.eyebrow,.page-intro>.eyebrow{font-size:11px}
.project-services,.form-note,.concept-note{font-size:12px}
.footer-note,.hero-bottom,.hero-coordinate,.anatomy-clock,.anatomy-badge,.anatomy-about-head{font-size:11px}
.concept-label,.optional,.hero-project-link small,.anatomy-hint,.plan-badge,.plan-flag{font-size:10px}
.anatomy-note,.anatomy-list,.anatomy-pills a{font-size:10px}
