:root{--ink:#111111;--paper:#f7f6f2;--white:#fff;--accent:#ff3d00;--blue:#2d47f5;--muted:#64635f;--line:rgba(17,17,17,.15);--serif:"Playfair Display",Georgia,serif;--sans:"Manrope","DM Sans",Arial,sans-serif;--shell:min(1220px,calc(100% - 48px));--radius:18px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;background:var(--white);color:var(--ink);padding:10px 14px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:100;padding:18px 0;color:var(--white);transition:background .3s,padding .3s,border-color .3s;border-bottom:1px solid transparent}.site-header.scrolled{padding:11px 0;background:rgba(15,15,15,.72);backdrop-filter:blur(16px);border-color:rgba(255,255,255,.1)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:34px}.brand{position:relative;display:grid;width:max-content;line-height:1;color:inherit}.brand span{font-size:21px;font-weight:600;letter-spacing:.18em}.brand small{margin-top:7px;font-size:7px;letter-spacing:.3em}.brand i,.spark{position:absolute;width:28px;height:28px;background:conic-gradient(from 0deg,transparent 0 8%,var(--accent) 8% 11%,transparent 11% 20%,var(--accent) 20% 23%,transparent 23% 32%,var(--accent) 32% 35%,transparent 35% 44%,var(--accent) 44% 47%,transparent 47% 56%,var(--accent) 56% 59%,transparent 59% 68%,var(--accent) 68% 71%,transparent 71% 80%,var(--accent) 80% 83%,transparent 83% 92%,var(--accent) 92% 95%,transparent 95%);border-radius:50%}.brand i{top:-7px;right:-27px}.main-nav{display:flex;gap:34px;margin-left:auto;font-size:13px;font-weight:600}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--accent);transition:right .25s}.main-nav a:hover:after,.main-nav a:focus-visible:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:0 21px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1.2;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid rgba(45,71,245,.4);outline-offset:3px}.button-outline{border-color:rgba(255,255,255,.65);color:var(--white)}.button-outline:hover{background:var(--white);color:var(--ink)}.button-primary{background:var(--accent);color:var(--white)}.button-primary:hover{background:#e83600}.nav-cta svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-button{display:none;background:none;border:0;padding:6px;color:inherit}.menu-button span{display:block;width:25px;height:1px;margin:6px;background:currentColor;transition:.25s}
.hero{min-height:720px;background:#101010;color:var(--white);padding:136px 0 42px;display:flex;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(420px,1.09fr);align-items:center;gap:62px}.hero-copy h1{max-width:650px;margin:0;font-family:var(--serif);font-size:clamp(54px,5.7vw,88px);font-weight:500;line-height:.98;letter-spacing:-.045em}.hero-copy h1 em,.section-intro h2 em,.strategy-copy h2 em{color:var(--accent);font-weight:500}.hero-copy p{max-width:560px;margin:29px 0 0;color:#d0d0cd;font-size:17px;line-height:1.75}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-media{position:relative}.hero-media picture{display:block;overflow:hidden;border-radius:var(--radius);aspect-ratio:1.04/1}.hero-media img{height:100%;object-fit:cover}.spark-large{right:-13px;bottom:-7px;width:92px;height:92px}.principles{background:var(--white);border-bottom:1px solid var(--line)}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr)}.principles p{display:flex;align-items:center;gap:18px;margin:0;padding:25px 28px;font-size:12px;font-weight:600;line-height:1.45;border-left:1px solid var(--line)}.principles p:last-child{border-right:1px solid var(--line)}.principles span{color:var(--accent);font-size:11px}
.section{padding:126px 0}.section-label{margin:0 0 19px!important;color:var(--accent)!important;font-size:11px!important;font-weight:700;text-transform:uppercase;letter-spacing:.14em;line-height:1.4!important}.services{background:var(--paper)}.services-layout{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.55fr);gap:72px}.section-intro{position:sticky;top:130px;align-self:start}.section-intro h2,.strategy-copy h2,.contact h2{margin:0;font-family:var(--serif);font-size:clamp(43px,4.4vw,67px);font-weight:500;line-height:1.04;letter-spacing:-.04em}.section-intro>p:last-child{margin:27px 0 0;max-width:390px;color:var(--muted)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--line)}.service{display:grid;grid-template-columns:43px 1fr;align-content:start;padding:30px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-number{padding-top:4px;color:var(--blue);font-size:12px;font-weight:700}.service h3{margin:0;font-size:19px;line-height:1.25}.service p{max-width:560px;margin:10px 0;color:var(--muted);font-size:13px}.service a,.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:700}.service a span,.text-link span{transition:transform .2s}.service a:hover span,.text-link:hover span{transform:translateX(4px)}
.strategy{background:var(--white)}.strategy-grid{display:grid;grid-template-columns:1fr 1fr;gap:86px;align-items:center}.strategy-media{overflow:hidden;border-radius:var(--radius);aspect-ratio:1.15/1}.strategy-media img{height:100%;object-fit:cover}.strategy-copy h2{font-size:clamp(40px,4.1vw,63px)}.strategy-copy>p:not(.section-label){max-width:540px;margin:21px 0;color:var(--muted)}.strategy-copy .text-link{margin-top:12px}.founder{background:var(--paper);overflow:hidden}.founder-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:center}.founder-copy h2{margin:0;font-family:var(--serif);font-size:clamp(48px,5vw,72px);font-weight:500;letter-spacing:-.04em}.founder-role{margin:7px 0 25px;color:var(--accent);font-size:13px;font-weight:700}.founder-copy>p:not(.section-label):not(.founder-role){color:var(--muted)}.founder-copy .text-link{margin-top:12px}.founder-media{position:relative;max-height:620px;overflow:hidden;border-radius:var(--radius)}.founder-media img{aspect-ratio:1.2/1;object-fit:cover;object-position:center 36%}.founder-media .spark{right:-7px;bottom:-6px;width:82px;height:82px}
.contact{background:var(--white);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.contact h2{font-size:clamp(48px,5vw,74px)}.contact-copy>p:not(.section-label){max-width:420px;color:var(--muted)}address{display:grid;gap:12px;margin-top:34px;font-style:normal}address a{display:grid;width:max-content}address span{color:var(--muted);font-size:11px}address strong{font-size:14px}.contact-form{display:grid;gap:19px;padding-left:70px;border-left:1px solid var(--line)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px}.contact-form label>span{font-size:11px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid #c7c7c4;background:transparent;border-radius:0;padding:15px 16px;color:var(--ink);transition:border .2s,box-shadow .2s}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px rgba(45,71,245,.12)}.optin{grid-template-columns:auto 1fr!important;align-items:start;justify-content:start}.optin input{width:17px!important;height:17px;margin-top:2px}.optin span{font-weight:400!important;color:var(--muted)}.form-submit{width:100%;border:0}.form-submit[disabled]{opacity:.65;cursor:wait}.form-status{min-height:24px;margin:0;font-size:13px}.form-status.error{color:#b42318}.form-status.success{color:#067647}
.site-footer{background:#101010;color:#e9e9e6;padding:72px 0 24px}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:58px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-grid>div:first-child p{max-width:330px;margin:27px 0 0;color:#aeadab;font-size:13px}.footer-grid h3{margin:0 0 20px;color:var(--white);font-size:12px}.footer-grid>div:not(:first-child) a{margin:4px 0;color:#bdbdb9;font-size:12px}.footer-grid>div:not(:first-child) a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:66px;padding-top:21px;border-top:1px solid rgba(255,255,255,.12);color:#8d8d89;font-size:13px}.footer-bottom p{margin:0}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].visible{opacity:1;transform:none}
@media(max-width:980px){:root{--shell:min(100% - 36px,760px)}.nav-cta{display:none}.menu-button{display:block;z-index:2}.main-nav{position:fixed;inset:0;background:#101010;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;font-size:24px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.25s}.main-nav.open{opacity:1;visibility:visible;transform:none}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{padding-top:124px}.hero-grid{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:690px}.hero-media picture{aspect-ratio:1.45/1}.services-layout,.strategy-grid,.founder-grid,.contact-grid{grid-template-columns:1fr;gap:58px}.section-intro{position:static}.section-intro h2{max-width:660px}.service-list{margin-top:10px}.strategy-copy{max-width:660px}.founder-copy{max-width:620px}.founder-media{order:-1;max-width:680px}.contact-form{padding:0;border:0}.footer-grid{grid-template-columns:1.6fr repeat(2,1fr)}.footer-grid>div:last-child{grid-column:2}.section{padding:96px 0}}
@media(max-width:640px){:root{--shell:calc(100% - 32px)}.site-header{padding:14px 0}.brand span{font-size:18px}.hero{min-height:auto;padding:113px 0 32px}.hero-copy h1{font-size:clamp(47px,14.1vw,66px)}.hero-copy p{font-size:15px}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-media picture{aspect-ratio:1/1}.spark-large{width:64px;height:64px}.principles-grid{grid-template-columns:1fr}.principles p,.principles p:last-child{border:0;border-bottom:1px solid var(--line);padding:18px 0}.section{padding:76px 0}.section-intro h2,.strategy-copy h2,.contact h2{font-size:43px}.services-layout{gap:42px}.service-list{grid-template-columns:1fr}.service{grid-template-columns:43px 1fr;padding:27px 20px}.service h3{font-size:18px}.strategy-grid,.founder-grid,.contact-grid{gap:42px}.strategy-media{aspect-ratio:1/1}.founder-media img{aspect-ratio:1/1.08}.founder-copy h2{font-size:49px}.field-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:42px 28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;margin-top:50px}.footer-bottom a{line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}

/* Animated website fitted inside the laptop screen in the hero photo. */
.hero-media picture{aspect-ratio:1/1}
.laptop-screen{position:absolute;z-index:2;left:20.55%;top:27.05%;width:59.15%;height:37.25%;overflow:hidden;background:#111;border-radius:.8%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 20px rgba(255,61,0,.04);pointer-events:none;isolation:isolate}
.laptop-screen:after{content:"";position:absolute;z-index:4;inset:-45% -70%;background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.22) 48%,transparent 58%);transform:translateX(-35%);animation:screenShine 8s ease-in-out infinite}
.screen-site{position:relative;height:100%;overflow:hidden;background:#f7f6f2;color:#111;font-family:var(--sans);filter:saturate(.9)}
.screen-nav{position:relative;z-index:3;display:flex;align-items:center;gap:4%;height:12%;padding:0 5%;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(17,17,17,.1)}
.screen-nav b{margin-right:auto;font-size:clamp(3px,.42vw,6px);letter-spacing:.16em}
.screen-nav span{width:8%;height:1px;background:#777}
.screen-scroll{animation:screenScroll 10s var(--ease) infinite}
.screen-slide{position:relative;height:88%;min-height:88%;padding:8% 7%}
.screen-slide small{display:block;color:#ff3d00;font-size:clamp(3px,.36vw,5px);font-style:normal;font-weight:700;letter-spacing:.12em}
.screen-slide-hero{display:flex;align-items:center;background:#151515;color:#fff}
.screen-slide-hero>div{position:relative;z-index:1;width:62%}
.screen-slide-hero strong{display:block;margin-top:5%;font-family:var(--serif);font-size:clamp(8px,1.34vw,19px);font-weight:500;line-height:1.02;letter-spacing:-.04em}
.screen-slide-hero i{display:flex;width:max-content;margin-top:8%;padding:2.5% 8%;background:#ff3d00;color:#fff;font-family:var(--sans);font-size:clamp(3px,.34vw,5px);font-style:normal;font-weight:700;letter-spacing:.08em}
.screen-device{position:absolute;right:8%;width:29%;height:58%;border:1px solid rgba(255,255,255,.65);border-radius:3%;background:linear-gradient(#ff3d00 0 0) 10% 16%/37% 3% no-repeat,linear-gradient(rgba(255,255,255,.45) 0 0) 10% 30%/72% 2% no-repeat,linear-gradient(rgba(255,255,255,.28) 0 0) 10% 42%/58% 2% no-repeat}
.screen-device:before{content:"";position:absolute;right:-14%;bottom:-12%;width:34%;height:58%;border:1px solid #ff3d00;border-radius:8%;background:#151515;box-shadow:0 0 0 2px rgba(21,21,21,.85);animation:screenDevice 3.2s ease-in-out infinite alternate}
.screen-device:after{content:"";position:absolute;left:10%;right:10%;bottom:12%;height:25%;background:linear-gradient(90deg,#f7f6f2 0 47%,transparent 47% 53%,#f7f6f2 53%)}
.screen-slide-services{background:#f7f6f2}
.screen-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;height:70%;margin-top:7%}
.screen-service-grid i{position:relative;padding:10% 12%;border:1px solid rgba(17,17,17,.17);font-style:normal}
.screen-service-grid b{display:block;font-size:clamp(3px,.38vw,6px);line-height:1.1}
.screen-service-grid span{display:block;width:76%;height:1px;margin-top:9%;background:#aaa}.screen-service-grid span:last-child{width:55%}
.screen-service-grid i:nth-child(2),.screen-service-grid i:nth-child(3){background-color:#fff}
.screen-slide-contact{background:#fff}
.screen-contact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8%;height:66%;margin-top:7%;padding:7%;background:#151515;color:#fff}
.screen-contact b{display:block;font-family:var(--serif);font-size:clamp(6px,.9vw,13px);font-weight:500}.screen-contact span{display:block;width:76%;height:1px;margin-top:7%;background:rgba(255,255,255,.35)}.screen-contact span:last-child{width:52%}
.screen-contact i{padding:7px;background:#ff3d00;color:#fff;font-size:clamp(3px,.32vw,5px);font-style:normal;font-weight:700;white-space:nowrap}
.screen-cursor{position:absolute;z-index:5;right:13%;bottom:17%;width:2.5%;aspect-ratio:1;background:#ff3d00;border-radius:50%;box-shadow:0 0 0 3px rgba(255,61,0,.22);animation:screenCursor 10s var(--ease) infinite}
@keyframes screenScroll{0%,24%{transform:translateY(0)}32%,57%{transform:translateY(-29.3%)}65%,90%{transform:translateY(-58.6%)}100%{transform:translateY(0)}}
@keyframes screenShine{0%,25%{transform:translateX(-35%)}48%,100%{transform:translateX(35%)}}
@keyframes screenDevice{to{transform:translateY(-5%)}}
@keyframes screenCursor{0%,22%{transform:translate(0,0);opacity:0}27%,52%{transform:translate(-180%,-120%);opacity:1}60%,86%{transform:translate(-20%,50%);opacity:1}94%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.screen-scroll{transform:none}.laptop-screen:after,.screen-device:before,.screen-cursor{animation:none!important}.screen-cursor{display:none}}

/* Slight proportional type increase for improved readability. */
body{font-size:16.8px}
.brand span{font-size:22.1px}.brand small{font-size:7.4px}.main-nav,.button{font-size:13.7px}
.hero-copy h1{font-size:clamp(56.7px,5.985vw,92.4px)}.hero-copy p{font-size:17.9px}
.principles p,.service-number,.footer-grid h3,.footer-grid>div:not(:first-child) a{font-size:12.6px}
.principles span,.section-label,address span,.contact-form label>span{font-size:11.6px!important}
.section-intro h2,.strategy-copy h2,.contact h2{font-size:clamp(45.2px,4.62vw,70.4px)}
.service h3{font-size:20px}.service p,.service a,.text-link,.founder-role,.form-status,.footer-grid>div:first-child p,.footer-bottom{font-size:13.7px}
.strategy-copy h2{font-size:clamp(42px,4.305vw,66.2px)}.founder-copy h2{font-size:clamp(50.4px,5.25vw,75.6px)}
.contact h2{font-size:clamp(50.4px,5.25vw,77.7px)}address strong{font-size:14.7px}
@media(max-width:980px){.main-nav{font-size:25.2px}}
@media(max-width:640px){.brand span{font-size:18.9px}.hero-copy h1{font-size:clamp(49.4px,14.805vw,69.3px)}.hero-copy p{font-size:15.8px}.section-intro h2,.strategy-copy h2,.contact h2{font-size:45.2px}.service h3{font-size:18.9px}.founder-copy h2{font-size:51.5px}}

/* Keep the contact form compact while retaining the larger site typography. */
.contact-form{align-self:start}
.contact-form input,.contact-form textarea{font-size:16px}
.form-submit{font-size:13px}

/* Give the three working principles a little more visual presence. */
.principles p{font-size:14.2px}.principles span{font-size:12.2px!important}
