/* Eqvola — dark typography-first design system. No external font or image dependencies. */
:root{color-scheme:dark;--bg:#0a0a0c;--panel:#101013;--panel-2:#151417;--ink:#f0edeb;--muted:#b2aeb6;--faint:#86808d;--line:#302d34;--line-light:#504451;--rose:#cea4ad;--lilac:#c3b3dc;--cream:#efdcce;--plum:#33202e;--radius:5px;--max:1360px;--gutter:clamp(22px,4.5vw,68px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 84% 2%,#3d253014,transparent 48%);z-index:-1}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:#634450;color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--lilac);outline-offset:6px}button:disabled{cursor:wait;opacity:.65}img,svg{max-width:100%;display:block}p,h1,h2,h3,h4{margin:0}p+p{margin-top:16px}h1,h2,h3,h4{font-weight:400;line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(44px,5.5vw,78px);line-height:1.04;letter-spacing:-.052em}h2{font-size:clamp(32px,3.25vw,48px)}h3{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.032em}small{font-size:12px}ul,ol{padding:0;margin:0;list-style:none}main{min-height:65vh}strong{font-weight:600}.site-frame{max-width:var(--max);margin:0 auto;border-inline:1px solid #252329;background:#0a0a0cf0}.section{padding:76px var(--gutter);border-top:1px solid var(--line)}.section-tight{padding-top:42px;padding-bottom:42px}.wrap{padding-inline:var(--gutter)}.eyebrow{font-size:10px;line-height:1.55;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--lilac)}.muted{color:var(--muted)}.accent{color:var(--rose)}.accent-lilac{color:var(--lilac)}.text-gradient{background:linear-gradient(100deg,var(--ink),var(--lilac) 42%,var(--rose) 82%);-webkit-background-clip:text;background-clip:text;color:transparent}.text-small{font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:36px}.section-heading h2{max-width:780px}.section-heading p{max-width:355px;color:var(--muted);font-size:14px}.section-heading .eyebrow{margin-bottom:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:14px 22px;min-height:50px;border:1px solid #e8d7cd;border-radius:var(--radius);background:var(--cream);color:#151215;font-size:13px;font-weight:500;line-height:1.3;transition:background .25s,transform .25s,border-color .25s;white-space:normal;text-align:center}.btn:hover{background:#fff0e5;transform:translateY(-2px)}.btn svg{width:17px;height:17px;flex-shrink:0;transition:transform .25s}.btn:hover svg{transform:translateX(3px)}.btn-small{font-size:11px;min-height:39px;padding:10px 15px;gap:22px}.btn-outline{background:transparent;border-color:var(--line-light);color:var(--ink)}.btn-outline:hover{background:#211921;border-color:var(--rose)}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:13px;color:var(--lilac);line-height:1.4}.text-link svg{width:17px;height:17px;transition:transform .3s}.text-link:hover svg{transform:translateX(5px)}.round-arrow{width:38px;height:38px;border:1px solid var(--line-light);border-radius:50%;display:grid;place-items:center;flex:none}.round-arrow svg{width:16px;height:16px}.ghost-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.ghost-link:hover{color:var(--ink)}.icon{width:25px;height:25px;color:var(--rose);stroke-width:1.25;flex-shrink:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--cream);color:var(--bg);padding:12px 22px;z-index:100}.skip-link:focus{top:12px}
/* Navigation */
.site-header{height:87px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);gap:25px;position:sticky;top:0;z-index:30;border-bottom:1px solid #28242b;background:#0a0a0cf5;backdrop-filter:blur(14px)}.logo{display:inline-flex;align-items:center;width:150px;flex-shrink:0}.logo img{width:100%;height:auto}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.nav-item{position:relative}.nav-button,.nav-link{display:flex;align-items:center;gap:7px;padding:16px 0;background:none;border:0;font-size:12px;line-height:1.3;color:#c7c1c8;white-space:nowrap}.nav-button svg{width:10px;height:10px;transition:transform .2s}.nav-button[aria-expanded=true] svg{transform:rotate(180deg)}.nav-button:hover,.nav-link:hover,.nav-link.active,.nav-button.active{color:var(--cream)}.nav-button.active:after,.nav-link.active:after{content:"";position:absolute;bottom:6px;left:0;width:20px;height:1px;background:var(--rose)}.dropdown{position:absolute;top:100%;left:-24px;min-width:270px;background:#141116;border:1px solid #3c303c;box-shadow:0 20px 50px #0008;padding:10px;display:none;z-index:35}.dropdown.open{display:block;animation:fadeIn .18s ease}.dropdown a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px;font-size:12px;color:var(--muted);border-bottom:1px solid #28222c}.dropdown a:last-child{border-bottom:0}.dropdown a:hover,.dropdown a[aria-current=page]{color:var(--cream);background:#251b25}.dropdown svg{width:14px}.header-tools{display:flex;align-items:center;gap:24px}.language{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.06em}.language span{color:#5d5663}.language a{padding:5px 0;color:var(--faint)}.language a.active{color:var(--cream)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px;border-radius:3px}.menu-toggle svg{width:19px;height:19px}.mobile-cta{display:none}
/* First screen */
.hero{min-height:580px;position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;isolation:isolate;padding:72px var(--gutter) 66px;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:660px}.hero-copy .eyebrow{margin-bottom:29px}.hero-lead{max-width:470px;margin-top:27px;color:#b9b2be;font-size:15px;line-height:1.75}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:32px}.hero-art{position:relative;width:100%;height:475px;align-self:center;pointer-events:none;z-index:0}.geometry{position:absolute;inset:-8% -14% -5% -12%;width:124%;height:113%;max-width:none;overflow:visible}.art-label{position:absolute;font-family:Arial,sans-serif;font-size:10px;line-height:1.8;letter-spacing:.2em;color:#aea4b3;font-weight:400;text-transform:uppercase}.home-art .label-a{left:9%;top:31%}.home-art .label-b{left:65%;top:44%}.home-art .label-bottom{right:0;bottom:8%;font-size:9px;color:var(--faint)}.hero-art .micro-index{position:absolute;bottom:5%;left:12%;font-size:9px;letter-spacing:.16em;color:var(--faint)}.art-glow{position:absolute;height:67%;width:1px;top:17%;left:56%;background:linear-gradient(transparent,#f2d9c9,#f2d9c9,transparent);box-shadow:0 0 13px 1px #d5a6b33b}.hero-art .art-rail{position:absolute;inset:12% 0 auto auto;font-size:9px;letter-spacing:.14em;line-height:1.8;color:#b3a3b7;text-transform:uppercase}.plane-stack{height:400px;width:90%;position:absolute;top:36px;left:7%;perspective:900px}.plane{position:absolute;top:0;left:8%;height:330px;width:66%;border:1px solid #9d84917d;background:linear-gradient(130deg,#95748216,transparent 52%,#a4829a0a);transform:rotateY(-25deg) skewY(-9deg);transform-origin:center;box-shadow:inset 0 0 22px #b99cac04;transition:transform 1.3s var(--ease)}.plane.p1{transform:translate(0,34px) rotateY(-25deg) skewY(-9deg);opacity:.4}.plane.p2{transform:translate(35px,18px) rotateY(-25deg) skewY(-9deg);opacity:.6}.plane.p3{transform:translate(70px,0) rotateY(-25deg) skewY(-9deg);opacity:.9}.plane.p4{transform:translate(105px,-18px) rotateY(-25deg) skewY(-9deg);border-color:#d7adb486;background:linear-gradient(145deg,#6c4d653b,transparent 62%);display:flex;align-items:center;padding:30px}.plane-words{display:flex;flex-direction:column;gap:17px;font-size:11px;letter-spacing:.13em;line-height:1.4;color:#d0c3d3;text-transform:uppercase}.smm-art .plane.p4{transform:translate(82px,9px) rotateY(-25deg) skewY(7deg);background:#0c0b0dcc}.smm-art .plane{transform:translate(0,0) rotateY(-25deg) skewY(7deg)}.smm-art .plane.p2{transform:translate(28px,-17px) rotateY(-25deg) skewY(7deg)}.smm-art .plane.p3{transform:translate(56px,-33px) rotateY(-25deg) skewY(7deg)}.smm-art .plane-stack:after{content:"";position:absolute;left:0;right:10%;height:1px;bottom:20px;transform:rotate(-13deg);background:linear-gradient(90deg,transparent,#ca95a9a0,transparent)}.hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.hero-tag{padding:5px 10px;border:1px solid #3b303c;border-radius:30px;font-size:10px;color:#bcb2c3}.hero.small-hero{min-height:490px}.hero.small-hero .hero-art{height:360px}.hero.small-hero .plane-stack{transform:scale(.8);transform-origin:top left}.breadcrumb{padding:24px var(--gutter) 0;display:flex;gap:10px;align-items:center;font-size:11px;color:var(--faint)}.breadcrumb a:hover{color:var(--cream)}.breadcrumb svg{width:10px;height:10px}.breadcrumb+.hero{padding-top:38px}
/* Credibility without fictional metrics */
.proofbar{display:grid;grid-template-columns:repeat(4,1fr);padding:25px var(--gutter);border-block:1px solid var(--line);gap:0}.proof-item{border-right:1px solid var(--line);padding:0 23px;min-width:0}.proof-item:first-child{padding-left:0}.proof-item:last-child{border:0;padding-right:0}.proof-value{font-size:21px;line-height:1.25;letter-spacing:-.03em;color:var(--rose);margin-bottom:9px}.proof-label{font-size:10px;color:var(--muted);letter-spacing:.06em;line-height:1.6}
/* Two complementary disciplines */
.directions{padding:40px var(--gutter) 56px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.direction{border:1px solid var(--line-light);position:relative;padding:35px;min-height:350px;overflow:hidden;background:linear-gradient(125deg,#25182070,#101013 52%);isolation:isolate}.direction.tech{background:linear-gradient(125deg,#201e2d70,#101013 52%)}.direction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;position:relative;z-index:1}.direction-head h2{font-size:clamp(29px,3vw,43px);max-width:330px}.direction-head .index{color:var(--faint);font-size:12px;letter-spacing:.1em}.direction p{font-size:13px;color:var(--muted);max-width:350px;position:relative;margin-top:20px}.direction-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:26px;position:relative;z-index:1}.direction-links a{font-size:11px;padding:9px 0;display:flex;align-items:center;gap:9px;border-bottom:1px solid #3d30375e;color:#c2b7c5}.direction-links a:hover{color:var(--cream)}.direction-links svg{width:12px;height:12px;flex-shrink:0}.direction .text-link{margin-top:27px;position:relative;z-index:1}.corner-art{position:absolute;inset:auto -20px -25px auto;width:230px;height:310px;opacity:.42;z-index:-1;background:linear-gradient(145deg,transparent 49.8%,#d8a3b883 50%,transparent 50.3%),linear-gradient(28deg,transparent 49.8%,#9b829333 50%,transparent 50.3%);clip-path:polygon(27% 0,100% 0,100% 100%,0 100%)}.corner-art:after{content:"";position:absolute;inset:0;border-left:1px solid #9b8293;background:linear-gradient(135deg,#a65f802e,transparent 62%);transform:skewY(-26deg)}
/* Services, concise grids */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{min-width:0;border:1px solid var(--line);padding:24px 22px;min-height:185px;position:relative;background:linear-gradient(145deg,#ffffff02,transparent);transition:border-color .3s,background .3s,transform .3s;display:flex;flex-direction:column}.service-card:hover{border-color:#8e667c;background:#2419223b;transform:translateY(-3px)}.service-card .icon{margin-bottom:22px}.service-card h3{font-size:18px;line-height:1.25;letter-spacing:-.025em}.service-card p{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.65}.service-card .card-arrow{width:17px;height:17px;margin-top:auto;padding-top:22px;box-sizing:content-box;color:var(--rose)}.capabilities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.capability{position:relative;border:1px solid var(--line);padding:30px 32px;background:linear-gradient(150deg,#2d202b22,transparent);min-height:170px}.capability .number{font-size:11px;letter-spacing:.09em;color:var(--rose);margin-bottom:23px;display:block}.capability h3{font-size:24px;margin-bottom:14px}.capability p{font-size:14px;color:var(--muted);max-width:510px}.capability.wide{grid-column:1/-1}.capability .deliverable{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--lilac)}.principle-band{display:grid;grid-template-columns:.36fr 1fr;gap:35px;align-items:start;padding-block:64px;background:linear-gradient(130deg,#31233135,transparent 65%)}.principle-band h2{font-size:clamp(36px,4.6vw,66px);max-width:930px;line-height:1.08}.principle-band p{max-width:600px;margin-top:24px;color:var(--muted);font-size:15px}.two-column{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.two-column .intro h2{margin-top:18px}.two-column .intro p{margin-top:22px;color:var(--muted);font-size:14px;max-width:350px}.two-column .intro .text-link{margin-top:25px}.numbered-list{border-top:1px solid var(--line)}.numbered-list li{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.numbered-list .num{font-size:13px;color:var(--rose);padding-top:3px}.numbered-list h3{font-size:23px;margin-bottom:11px}.numbered-list p{font-size:13px;color:var(--muted);line-height:1.75}.process-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.process-card{border:1px solid var(--line);padding:23px 19px;position:relative;min-height:205px}.process-card:not(:last-child):after{content:'→';position:absolute;right:-14px;top:45%;z-index:2;color:var(--rose);font-size:16px;background:var(--bg);width:16px;text-align:center}.process-card .num{display:inline-grid;place-items:center;border:1px solid #6f586d;width:28px;height:28px;font-size:10px;border-radius:4px;color:var(--lilac);margin-bottom:24px}.process-card h3{font-size:17px;letter-spacing:-.02em}.process-card p{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.7}.signal-block{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;padding:42px;border:1px solid var(--line-light);background:linear-gradient(120deg,#2b1b272e,transparent 65%)}.signal-block h2{font-size:36px}.signal-block p{margin-top:20px;color:var(--muted);font-size:14px}.signal-list{display:flex;flex-direction:column}.signal{display:grid;grid-template-columns:28px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.signal:first-child{padding-top:0}.signal:last-child{border-bottom:0}.signal .icon{width:21px;height:21px}.signal strong{font-size:14px;font-weight:400;display:block}.signal span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.platforms{display:flex;flex-wrap:wrap;gap:0;border-block:1px solid var(--line)}.platform{font-size:14px;padding:17px 23px;border-right:1px solid var(--line);color:#c6bccd}.platform:last-child{border-right:0}.platforms-note{margin-top:15px;font-size:12px;color:var(--muted)}
/* FAQ, estimates and conversion */
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;font-size:17px;line-height:1.5;letter-spacing:-.015em}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:23px;line-height:1;color:var(--rose);font-weight:300;flex:none;transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{font-size:14px;color:var(--muted);padding:0 35px 26px 0;line-height:1.8;max-width:850px}.pricing{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--line-light);background:linear-gradient(125deg,#35213154,transparent 73%)}.pricing-intro{padding:39px;border-right:1px solid var(--line)}.pricing-intro h2{margin-top:24px;font-size:37px}.pricing-intro p{margin-top:17px;color:var(--muted);font-size:13px}.pricing-detail{padding:39px}.pricing-detail h3{font-size:23px}.pricing-detail p{margin-top:18px;color:var(--muted);font-size:14px}.pricing-detail .text-link{margin-top:28px}.quote-scope{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.quote-scope span{border:1px solid var(--line);padding:6px 10px;font-size:10px;color:var(--lilac)}.cta-band{padding:48px var(--gutter);border-block:1px solid var(--line-light);display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;overflow:hidden;background:linear-gradient(100deg,#4c273422,transparent 65%)}.cta-band:after{content:"";pointer-events:none;position:absolute;right:24%;top:-150px;width:1px;height:510px;background:linear-gradient(transparent,#8c5b6d80,transparent);transform:rotate(45deg)}.cta-band h2{font-size:clamp(29px,3.2vw,43px);max-width:760px;position:relative;z-index:1}.cta-band p{font-size:13px;color:var(--muted);margin-top:12px;max-width:650px}.cta-band .btn{flex-shrink:0;position:relative;z-index:1}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.related-card{padding:27px;border:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center;transition:border-color .2s}.related-card:hover{border-color:var(--rose)}.related-card h3{font-size:22px}.related-card p{font-size:12px;color:var(--muted);margin-top:10px}
/* Contact: honest front-end only until an endpoint is configured */
.contact-hero{padding:78px var(--gutter) 55px;border-bottom:1px solid var(--line)}.contact-hero h1{max-width:1000px;margin-top:27px}.contact-hero p{max-width:650px;color:var(--muted);margin-top:26px;font-size:16px}.contact-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:75px;padding:56px var(--gutter) 75px}.contact-sidebar .eyebrow{margin-bottom:26px}.contact-step{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-step:first-of-type{padding-top:0}.contact-step .num{font-size:11px;color:var(--rose);padding-top:3px}.contact-step h3{font-size:18px}.contact-step p{font-size:12px;color:var(--muted);margin-top:8px}.contact-sidebar .sidebar-note{font-size:12px;color:var(--faint);margin-top:28px}.contact-links{display:flex;flex-direction:column;gap:14px;margin-top:28px}.brief-form{min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:25px;min-width:0}.field label,.field legend{display:block;font-size:12px;color:#d6ccd8;margin-bottom:10px}.field label span,.field legend span{color:var(--faint);font-size:11px;margin-left:8px}.field input,.field textarea,.field select{width:100%;background:#111013;border:1px solid #423544;color:var(--ink);border-radius:3px;padding:13px 14px;font-size:14px;line-height:1.5;transition:border-color .2s;min-height:49px}.field input:hover,.field textarea:hover{border-color:#6e566c}.field input::placeholder,.field textarea::placeholder{color:#827986;opacity:1}.field textarea{resize:vertical;min-height:135px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#e79ea9}.field-set{padding:0;border:0;margin:0 0 25px}.service-options{display:flex;flex-wrap:wrap;gap:8px}.service-option{position:relative;cursor:pointer}.service-option input{position:absolute;opacity:0;width:1px;height:1px}.service-option span{display:inline-block;padding:9px 13px;border:1px solid #413345;color:var(--muted);font-size:11px;border-radius:4px;transition:background .2s,border-color .2s}.service-option input:checked+span{background:#3c273a;border-color:#b289ac;color:var(--cream)}.service-option input:focus-visible+span{outline:2px solid var(--lilac);outline-offset:3px}.service-option span:hover{border-color:var(--rose)}.form-note{font-size:11px;color:var(--faint);margin:13px 0 23px;line-height:1.8}.preview-notice{font-size:12px;color:#c3aec9;padding:15px 17px;border:1px solid #574254;background:#34233030;margin-bottom:26px;line-height:1.7}.submit-row{display:flex;align-items:center;gap:20px}.form-status{margin-top:20px;font-size:13px;color:var(--lilac)}.form-status.error{color:#f0a9b5}.brief-result{margin-top:25px;padding:25px;border:1px solid #6e576c;background:#1d151f}.brief-result h3{font-size:23px}.brief-result p{margin:13px 0;font-size:13px;color:var(--muted)}.brief-result pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:12px;line-height:1.8;color:#d0c3d0;margin:20px 0;padding:18px;background:#0d0b0f;max-height:310px;overflow:auto}.brief-result .result-actions{display:flex;flex-wrap:wrap;gap:12px}.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}.about-stat{display:flex;gap:35px;align-items:center;padding:40px 0}.about-stat .big-number{font-size:100px;font-weight:300;line-height:1;color:var(--lilac);letter-spacing:-.065em}.about-stat p{max-width:420px;color:var(--muted);font-size:14px}.empty-state{padding:120px var(--gutter);text-align:center}.empty-state h1{margin-block:20px}.empty-state .btn{margin-top:30px}
/* Footer */
.site-footer{padding:42px var(--gutter) 22px;border-top:1px solid var(--line)}.footer-main{display:grid;grid-template-columns:1.05fr .65fr .65fr;gap:45px}.footer-brand .logo{width:163px}.footer-brand .eyebrow{margin-top:22px;color:var(--faint);font-size:9px;max-width:260px;line-height:1.9}.footer-column h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:17px}.footer-column a{display:block;font-size:12px;color:var(--muted);margin:9px 0}.footer-column a:hover{color:var(--cream)}.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;color:var(--faint)}.palette{display:flex;gap:8px}.palette i{display:block;width:9px;height:9px;border-radius:50%;background:var(--lilac)}.palette i:nth-child(2){background:#8d6d8a}.palette i:nth-child(3){background:var(--rose)}.palette i:nth-child(4){background:var(--cream)}.footer-bottom a:hover{color:var(--cream)}
/* Motion is progressive enhancement; everything remains visible without scripts. */
.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(16px)}.motion-ready .reveal{transition:opacity .65s var(--ease),transform .65s var(--ease)}.motion-ready .page-marketing .reveal{transition-duration:.85s}.marketing-motion .plane-stack{animation:gentle-drift 10s ease-in-out infinite}.tech-motion .plane-stack{animation:none}@keyframes gentle-drift{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.site-frame{margin-top:20px;margin-bottom:20px;border:1px solid #39333d;border-radius:8px;overflow:clip}.site-header{top:0}.hero{min-height:630px}}
@media(max-width:1100px){.main-nav{gap:19px}.header-tools{gap:17px}.hero{grid-template-columns:1.1fr .9fr;min-height:560px}.hero-art{height:410px}.plane-stack{scale:.88;transform-origin:left center}.art-label{font-size:8px}.proof-value{font-size:18px}.direction{padding:28px}.service-card{padding:22px 17px}.two-column{gap:45px}.contact-layout{gap:40px}.process-card{padding:19px 14px}.process-card h3{font-size:15px}.hero-actions{gap:16px}.footer-main{gap:35px}}
@media(max-width:880px){h1{font-size:52px}.site-header{height:75px}.logo{width:125px}.header-tools>.btn{display:none}.menu-toggle{display:block}.main-nav{position:absolute;display:none;top:74px;left:-1px;right:-1px;margin:0;padding:18px var(--gutter) 25px;background:#100c12;border:1px solid var(--line-light);border-top:0;max-height:calc(100dvh - 75px);overflow-y:auto}.main-nav.open{display:block}.nav-item{border-bottom:1px solid var(--line)}.nav-button,.nav-link{width:100%;font-size:17px;justify-content:space-between;padding:19px 0}.dropdown{position:static;box-shadow:none;border:0;background:transparent;padding:0 0 15px;min-width:0}.dropdown a{font-size:13px;padding:12px 0}.mobile-cta{display:inline-flex;margin-top:24px}.nav-button.active:after,.nav-link.active:after{bottom:10px}.hero{grid-template-columns:1.05fr .95fr;padding-top:46px;padding-bottom:48px;min-height:530px}.hero-art{height:350px;opacity:.85}.hero-copy .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:22px}.hero-lead{font-size:14px}.hero-actions{gap:18px}.hero-actions .ghost-link{font-size:11px}.plane-stack{scale:.72;transform-origin:left center}.home-art .label-a{left:5%;top:34%;font-size:7px}.home-art .label-b{left:69%;top:44%;font-size:7px}.home-art .label-bottom{font-size:6px}.art-rail,.micro-index{display:none}.direction-links{grid-template-columns:1fr}.directions{gap:14px}.direction-head h2{font-size:31px}.service-grid{grid-template-columns:repeat(2,1fr)}.section{padding-top:55px;padding-bottom:55px}.section-tight{padding-top:32px;padding-bottom:32px}.proofbar{grid-template-columns:repeat(2,1fr);gap:23px 0}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(3){padding-left:0}.section-heading{gap:24px;align-items:start}.section-heading p{max-width:260px}.process-cards{grid-template-columns:repeat(3,1fr);row-gap:14px}.process-card:nth-child(3):after{display:none}.process-card{min-height:200px}.two-column{grid-template-columns:.8fr 1.2fr;gap:30px}.signal-block{padding:32px;gap:30px}.signal-block h2{font-size:30px}.pricing-intro,.pricing-detail{padding:30px}.pricing-intro h2{font-size:30px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand .eyebrow{margin-top:0;max-width:220px}.contact-layout{grid-template-columns:1fr}.contact-sidebar{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.contact-sidebar>.eyebrow,.contact-sidebar>.sidebar-note,.contact-links{grid-column:1/-1;margin-top:0}.contact-sidebar>.eyebrow{margin:0}.contact-step{border:0;padding:0}.contact-step:first-of-type{padding:0}.contact-hero{padding-top:55px}.contact-hero h1{font-size:57px}}
@media(max-width:620px){:root{--gutter:23px}.site-frame{border-inline:0}.site-header{height:70px;gap:15px}.main-nav{top:69px}.header-tools{gap:18px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:47px;padding-bottom:0;min-height:0;overflow:hidden}.hero-copy{max-width:none}.hero h1{font-size:clamp(39px,10.3vw,62px);letter-spacing:-.05em;line-height:1.065}.hero-lead{font-size:14px;line-height:1.75;max-width:440px;margin-top:23px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:26px}.hero-actions{margin-top:27px;gap:19px}.hero-actions .btn{font-size:12px;min-height:47px;padding-inline:17px;gap:20px}.hero-actions .ghost-link{font-size:10px;gap:8px}.round-arrow{height:32px;width:32px}.hero-art{height:240px;width:100%;margin-top:17px;opacity:.95;overflow:hidden}.geometry{width:100%;height:130%;inset:-17% 0 -13% 0}.home-art .label-a{left:19%;top:25%;font-size:8px}.home-art .label-b{left:67%;top:42%;font-size:8px}.home-art .label-bottom{display:none}.home-art .art-glow{left:55%;height:83%;top:10%}.plane-stack{scale:.59;transform-origin:top center;width:380px;left:calc(50% - 210px);height:400px;top:20px}.hero.small-hero{min-height:0}.hero.small-hero .hero-art{height:230px}.hero.small-hero .plane-stack{transform:none;scale:.6;transform-origin:top center}.hero-tags{margin-top:20px}.hero-tag{font-size:9px}.breadcrumb{font-size:10px;padding-top:20px}.breadcrumb+.hero{padding-top:27px}.proofbar{padding-block:23px;gap:20px 0}.proof-item{padding-inline:18px}.proof-value{font-size:17px}.proof-label{font-size:9px;letter-spacing:.03em}.directions{grid-template-columns:1fr;padding-top:24px;padding-bottom:35px;gap:16px}.direction{padding:27px;min-height:0}.direction-head h2{font-size:32px}.direction p{font-size:13px}.direction-links{grid-template-columns:1fr 1fr;gap:0 16px;margin-top:20px}.direction-links a{font-size:10px}.direction .text-link{margin-top:24px}.section{padding-top:43px;padding-bottom:43px}.section-tight{padding-top:29px;padding-bottom:29px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:32px}.section-heading p{margin-top:18px;max-width:none;font-size:13px}.section-heading>.text-link{margin-top:18px}.service-grid{gap:10px}.service-card{padding:22px 16px;min-height:189px}.service-card .icon{width:22px;height:22px;margin-bottom:21px}.service-card h3{font-size:17px}.service-card p{font-size:11px}.service-card .card-arrow{padding-top:15px}.principle-band{grid-template-columns:1fr;gap:21px}.principle-band h2{font-size:38px}.principle-band p{font-size:13px;margin-top:21px}.two-column{grid-template-columns:1fr;gap:29px}.two-column .intro h2{font-size:34px;max-width:350px}.two-column .intro p{max-width:none}.numbered-list li{grid-template-columns:30px 1fr;gap:12px;padding-block:23px}.numbered-list h3{font-size:22px}.numbered-list p{font-size:13px}.capabilities-grid{grid-template-columns:1fr;gap:12px}.capability{padding:26px;min-height:0}.capability h3{font-size:23px}.capability p{font-size:13px}.capability .number{margin-bottom:18px}.process-cards{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.process-card{display:grid;grid-template-columns:34px 1fr;column-gap:18px;min-height:0;padding:23px 0;border:0;border-bottom:1px solid var(--line);background:none}.process-card .num{grid-row:1/3;margin-bottom:0}.process-card h3{font-size:19px;margin-top:4px}.process-card p{grid-column:2;margin-top:8px;font-size:12px}.process-card:after{display:none!important}.signal-block{grid-template-columns:1fr;padding:26px;gap:27px}.signal-block h2{font-size:31px}.signal-block p{font-size:13px}.signal strong{font-size:14px}.platforms{border-bottom:0}.platform{padding:13px 17px;font-size:12px;border-bottom:1px solid var(--line)}.platforms-note{font-size:11px}.faq summary{font-size:16px;padding:20px 0}.faq details p{font-size:13px;padding-right:18px}.pricing{grid-template-columns:1fr}.pricing-intro{border-right:0;border-bottom:1px solid var(--line)}.pricing-intro,.pricing-detail{padding:27px}.pricing-intro h2{font-size:31px;margin-top:19px}.pricing-detail h3{font-size:23px}.pricing-detail p{font-size:13px}.cta-band{align-items:flex-start;flex-direction:column;padding-block:35px;gap:25px}.cta-band h2{font-size:32px}.cta-band p{font-size:12px}.cta-band:after{right:12%}.related-grid{grid-template-columns:1fr;gap:12px}.related-card{padding:24px}.related-card h3{font-size:22px}.contact-hero{padding-top:44px;padding-bottom:34px}.contact-hero h1{font-size:45px}.contact-hero p{font-size:14px;margin-top:23px}.contact-layout{padding-top:34px;padding-bottom:45px;gap:34px}.contact-sidebar{display:block}.contact-sidebar>.eyebrow{margin-bottom:22px}.contact-step{padding-block:18px;border-bottom:1px solid var(--line)}.contact-step:first-of-type{padding-top:0;padding-bottom:18px}.contact-sidebar .sidebar-note{margin-top:22px;font-size:11px}.contact-links{margin-top:22px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:22px}.field-set{margin-bottom:22px}.field input,.field textarea{font-size:16px}.service-option span{font-size:11px;padding:9px 11px}.preview-notice{font-size:11px;padding:14px}.submit-row{flex-wrap:wrap}.submit-row .btn{width:100%;justify-content:space-between}.brief-result{padding:21px}.about-stat{align-items:flex-start;gap:25px}.about-stat .big-number{font-size:74px}.about-stat p{font-size:13px}.footer-main{gap:28px 25px}.footer-brand{display:block}.footer-brand .logo{width:148px}.footer-brand .eyebrow{margin-top:18px;max-width:none}.footer-column a{font-size:11px}.site-footer{padding-top:34px}.footer-bottom{font-size:9px;gap:15px;align-items:flex-start}.palette{gap:6px}.palette i{width:7px;height:7px}.footer-bottom .footer-claim{max-width:135px;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}
@media print{body,.site-frame{background:white;color:black}.site-header,.hero-art,.cta-band,.site-footer{display:none}.section{break-inside:avoid;border-color:#ddd}.hero{display:block;min-height:0;padding:30px}.text-gradient{-webkit-text-fill-color:black;color:black}.reveal{opacity:1!important;transform:none!important}}
@media(max-width:359px){.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card .card-arrow{margin-top:16px;padding-top:0}.direction-links{grid-template-columns:1fr}.hero-actions{align-items:flex-start}.hero-actions .ghost-link{margin-bottom:3px}.contact-hero h1{font-size:40px}}

/* Complete-content edition. Same visual language; layout does the work. */
[id]{scroll-margin-top:100px}
.page-outline{display:flex;flex-wrap:wrap;gap:0;padding:0 var(--gutter);border-block:1px solid var(--line);background:var(--bg)}
.page-outline a{font-size:12px;color:var(--muted);padding:18px 25px 18px 0;margin-right:23px;line-height:1.5;transition:color .2s}
.page-outline a:hover{color:var(--cream)}
.page-outline a:last-child{margin-left:auto;margin-right:0;color:var(--cream);padding-right:0}
.task-list{border-top:1px solid var(--line)}
.task-link{display:grid;grid-template-columns:28px 1fr 36px;gap:22px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line)}
.task-index{font-size:11px;color:var(--rose);padding-top:5px}
.task-link h3{font-size:25px;letter-spacing:-.035em;line-height:1.2}
.task-link p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:12px;max-width:520px}
.task-link:hover h3{color:var(--lilac)}
.task-link:hover .round-arrow{border-color:var(--rose);transform:translateX(3px)}
.task-link .round-arrow{margin-top:3px;transition:transform .2s,border-color .2s}
.editorial-section .intro>p:not(.eyebrow){max-width:390px;line-height:1.85}
.deliverable-list{border-top:1px solid var(--line)}
.deliverable{display:grid;grid-template-columns:25px 1fr;gap:19px;padding:25px 0;border-bottom:1px solid var(--line)}
.deliverable-mark{color:var(--rose);padding-top:4px}
.deliverable-mark svg{width:20px;height:20px}
.deliverable h3{font-size:23px;line-height:1.25;letter-spacing:-.025em}
.deliverable p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}
.inline-action{padding:0 var(--gutter) 34px}
.principle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.principle-grid article{border-left:1px solid var(--line);padding-left:22px}
.micro-number{font-size:11px;color:var(--rose);display:block;margin-bottom:20px}
.principle-grid h3{font-size:22px;line-height:1.2;letter-spacing:-.025em;margin-bottom:15px}
.principle-grid p{font-size:13px;color:var(--muted);line-height:1.8}
.collaboration-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.collaboration-grid article{padding:32px;background:linear-gradient(135deg,#30202e30,transparent)}
.collaboration-grid article+article{border-left:1px solid var(--line);background:none}
.collaboration-grid h3{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin-top:21px}
.collaboration-grid article>p:last-child{font-size:14px;color:var(--muted);line-height:1.85;margin-top:17px}
.pricing-detail .price-clarifier{font-size:12px;line-height:1.85;border-top:1px solid var(--line);padding-top:20px}
.brief-heading{padding:50px var(--gutter) 33px;border-top:1px solid var(--line-light);background:linear-gradient(115deg,#39232c32,transparent)}
.brief-heading h2{font-size:clamp(32px,3.9vw,54px);line-height:1.12;letter-spacing:-.035em;max-width:1050px;margin-top:22px}
.brief-heading>p:last-child{font-size:15px;color:var(--muted);margin-top:21px;line-height:1.8;max-width:690px}
.brief-heading+.contact-layout{padding-top:34px}
.location-copy{border-top:1px solid var(--line);padding-top:25px}
.location-copy h3{font-size:29px;line-height:1.2;letter-spacing:-.025em;margin-top:25px}
.location-copy>p:last-child{font-size:15px;color:var(--muted);line-height:1.85;margin-top:20px}
.signal-block .text-link{margin-top:24px}
.capability p,.numbered-list p{font-size:14px;line-height:1.85}
h1,h2,h3{overflow-wrap:break-word}
.contact-hero h1{font-size:clamp(40px,5.9vw,80px);line-height:1.07;letter-spacing:-.05em;max-width:1150px}
.hero-lead{max-width:550px}
.hero h1{font-size:clamp(42px,5.4vw,74px)}
@media(max-width:1100px){.page-outline a{margin-right:15px;padding-right:13px}.principle-grid{grid-template-columns:1fr 1fr;row-gap:32px}.task-link{gap:16px}.task-link h3{font-size:23px}}
@media(max-width:880px){.hero h1{font-size:49px}.page-outline a{padding-block:14px;font-size:11px}.page-outline a:last-child{margin-left:0}.collaboration-grid article{padding:26px}.editorial-section .two-column{grid-template-columns:1fr;gap:33px}.editorial-section .intro{max-width:670px}.editorial-section .intro>p:not(.eyebrow){max-width:600px}.task-layout{grid-template-columns:1fr;gap:33px}.task-link p{max-width:none}}
@media(max-width:620px){[id]{scroll-margin-top:82px}.hero h1{font-size:clamp(37px,9.7vw,59px)}.page-outline{padding-block:5px}.page-outline a{padding:9px 0;margin-right:19px;font-size:10px}.page-outline a:last-child{margin-right:0}.task-link{grid-template-columns:22px 1fr 30px;gap:12px;padding:24px 0}.task-link h3{font-size:22px}.task-link p{font-size:13px;line-height:1.8}.task-link .round-arrow{width:29px;height:29px}.deliverable{grid-template-columns:19px 1fr;gap:13px;padding:23px 0}.deliverable h3{font-size:22px}.deliverable p{font-size:13px}.principle-grid{gap:25px 18px}.principle-grid article{padding-left:14px}.principle-grid h3{font-size:20px}.principle-grid p{font-size:12px}.collaboration-grid{grid-template-columns:1fr}.collaboration-grid article+article{border-left:0;border-top:1px solid var(--line)}.collaboration-grid h3{font-size:23px}.collaboration-grid article>p:last-child{font-size:13px}.brief-heading{padding-top:38px;padding-bottom:25px}.brief-heading h2{font-size:33px}.brief-heading>p:last-child{font-size:13px}.location-copy h3{font-size:25px}.location-copy>p:last-child{font-size:13px}.capability p,.numbered-list p{font-size:13px}.contact-hero h1{font-size:clamp(35px,9.4vw,51px)}}
@media(max-width:359px){.principle-grid{grid-template-columns:1fr}.hero h1{font-size:36px}.task-link h3{font-size:20px}.brief-heading h2{font-size:30px}}
@media print{.page-outline,.brief-heading,.contact-layout{display:none}.principle-grid,.collaboration-grid,.capabilities-grid{display:block}.capability,.deliverable,.collaboration-grid article{break-inside:avoid}.faq details p{display:block}}

/* Anchor offset is defined once, via target scroll margin. */
html{scroll-padding-top:0}


/* Current-site content in this design: blocks the original pages did not need. Same tokens and rhythm. */
.content-anchor{display:block;height:0;overflow:hidden}
main p a:not([class]),main li a:not([class]){color:var(--lilac);text-decoration:underline;text-decoration-color:#c3b3dc55;text-underline-offset:3px;transition:text-decoration-color .2s}
main p a:not([class]):hover,main li a:not([class]):hover{text-decoration-color:var(--lilac)}

/* Navigation: more top-level items and grouped service lists */
.dropdown .dropdown-hub{color:var(--cream)}
/* Header type: the menu reads at body size; language and project button form their own group */
.nav-button,.nav-link{font-size:14px;color:#d8d2d8}
.main-nav{gap:28px;margin-right:16px}
.header-tools{gap:26px}
.language{font-size:12px;gap:9px}
.language a{color:var(--muted)}
.header-tools>.btn{font-size:13px;min-height:42px;padding-inline:18px}
.dropdown-mega{min-width:660px;padding:12px 14px 14px;grid-template-columns:1fr 1fr;column-gap:22px;max-height:calc(100vh - 110px);overflow-y:auto}
.dropdown-mega.open{display:grid}
.dropdown-mega .dropdown-hub{grid-column:1/-1;margin-bottom:4px}
.dropdown-group{min-width:0}
.dropdown-group a{padding:10px 12px}
.dropdown-heading{font-size:9px;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;color:var(--rose);padding:14px 12px 6px}

/* Headings with longer introductions */
.section-lede{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;margin-bottom:40px;align-items:start}
.section-lede h2{max-width:560px}
.section-lede .eyebrow{margin-bottom:15px}
.lede-copy p{font-size:15px;color:var(--muted);line-height:1.85;max-width:720px}
.lede-copy .text-link{margin-top:22px;margin-right:26px}
.section-actions{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:32px}
.section-note{margin-top:30px;max-width:780px}
.section-note p{font-size:13px;color:var(--muted);line-height:1.85}
.two-column .column-body{min-width:0}
.two-column .intro .text-link{margin-right:24px}
.two-column .intro p+p{margin-top:16px}
.two-column .intro .bullet-list{margin-top:22px;max-width:360px}
.two-column .intro .bullet-list li{font-size:13px}

/* Running copy */
.prose p{font-size:15px;color:var(--muted);line-height:1.9;max-width:720px}
.prose p+p{margin-top:18px}
.prose>p:first-child{color:var(--ink);font-size:17px;line-height:1.75}
.bullet-list{margin-top:14px;display:grid;gap:9px}
.bullet-list li{position:relative;padding-left:20px;font-size:14px;line-height:1.75;color:var(--muted)}
.bullet-list li:before{content:"";position:absolute;left:0;top:.8em;width:9px;height:1px;background:var(--rose)}
.prose .bullet-list{max-width:720px;margin-block:18px}

/* Cards that carry more than a title and one line */
.capability p+p,.numbered-list p+p,.deliverable p+p,.principle-grid p+p{margin-top:12px}
.capability .bullet-list li,.numbered-list .bullet-list li,.deliverable .bullet-list li,.principle-grid .bullet-list li,.collab-copy .bullet-list li{font-size:13px}
.capability .text-link,.numbered-list .text-link,.deliverable .text-link,.principle-grid .text-link,.collab-copy .text-link,.signal .text-link{display:flex;width:fit-content;margin-top:18px}
.capability-tagline{color:var(--lilac)!important;font-size:15px!important;line-height:1.6!important;margin-bottom:14px}
.principle-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.principle-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.collaboration-grid .micro-number{margin-bottom:0}
.collab-copy p{font-size:14px;color:var(--muted);line-height:1.85;margin-top:17px}
.collab-copy p+p{margin-top:12px}
.signal span+span{margin-top:8px}
.related-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.related-grid.cols-3 .related-card{flex-direction:column;align-items:flex-start;justify-content:space-between}
.related-card p{line-height:1.75}
.related-action,.task-action{display:block;margin-top:14px;font-size:12px;color:var(--lilac)}
.service-grid:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.principle-band.band-long h2{font-size:clamp(30px,3.3vw,48px);line-height:1.14}
.principle-band .band-note{font-size:12px;color:var(--faint);margin-top:20px}
.principle-band .text-link{margin-top:26px;margin-right:26px}
.signal-block .eyebrow{margin-bottom:16px}
.pricing-detail .deliverable-list{margin-top:22px}
.pricing-detail .deliverable h3{font-size:19px}

/* Service catalogue inside a card: name, then what it covers */
.service-item{padding:15px 0;border-top:1px solid var(--line)}
.service-item:last-child{padding-bottom:0}
.service-item>.text-link{margin-top:0!important;font-size:14px;color:var(--cream)}
.service-item>p:not(.service-item-title){margin-top:7px!important;font-size:13px!important;line-height:1.75!important;color:var(--muted)}
.service-item .service-item-title{font-size:14px!important;color:var(--cream)!important}
p+.service-item,ul+.service-item{margin-top:18px}

/* Three disciplines on the home page */
.directions-section .directions{padding:0}
.directions-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.direction-head h3{font-size:clamp(27px,2.5vw,38px);line-height:1.12;letter-spacing:-.04em;max-width:330px}
.direction .direction-copy{margin-top:20px;position:relative}
.direction .direction-copy p{margin-top:0;max-width:none}
.direction .direction-copy p+p{margin-top:12px}

/* Section titles carry the hero gradient; an accented line inside follows it */
@media screen{.text-gradient .accent,.text-gradient .accent-lilac{color:transparent}}

/* Situations on the home page: heading with its note underneath, then a grid of cards */
.task-layout .intro{margin-bottom:44px}
.task-layout .intro p{margin-top:20px;max-width:none;font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--muted);text-wrap:pretty}
.task-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:0}
.task-link{position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;border:1px solid var(--line);background:linear-gradient(150deg,#2d202b22,transparent);transition:border-color .3s,background .3s}
.task-link:hover{border-color:#8e667c;background:#2419223b}
.task-link .task-index{margin-bottom:6px}
.task-link>div{display:flex;flex-direction:column;flex:1}
.task-link h3{font-size:21px;line-height:1.25;padding-right:42px}
.task-link p{font-size:13px;line-height:1.75}
.task-link .task-action{margin-top:auto;padding-top:20px}
.task-link .round-arrow{position:absolute;top:22px;right:22px;margin:0}

/* Brief introduction with more than one paragraph */
.brief-heading p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:21px;line-height:1.8;max-width:690px}
.brief-heading h2+p{color:var(--ink);font-size:17px}
.brief-heading p+p:not(.eyebrow){margin-top:12px}

/* Long sections keep their title in view */
@media(min-width:881px){.two-column>.intro{position:sticky;top:112px;align-self:start}}

/* First screen additions */
.hero-note{margin-top:22px;font-size:12px;color:var(--muted);line-height:1.7}
.contact-hero .hero-actions{margin-top:32px}
.empty-state p:not(.eyebrow){color:var(--muted);margin-top:14px}

/* Footer with all sections of the site */
.footer-main.footer-wide{grid-template-columns:1.3fr repeat(4,minmax(0,.75fr));gap:38px}
.footer-text{font-size:12px;color:var(--muted);line-height:1.75;margin-top:14px;max-width:300px}
.footer-bottom{flex-wrap:wrap}

/* Brief form: contact method, currency and an undecided budget */
.field select{width:100%;background:#111013;border:1px solid #423544;color:var(--ink);border-radius:3px;padding:13px 12px;font-size:14px;line-height:1.5;min-height:49px;color-scheme:dark}
.field select:hover{border-color:#6e566c}
.contact-composite,.budget-composite{display:flex;gap:8px}
.contact-composite select{width:136px;flex:none}
.contact-composite input,.budget-composite input{flex:1;min-width:0}
.budget-composite{max-width:380px}
.budget-composite select{width:116px;flex:none}
.field input:disabled,.field select:disabled{opacity:.45;cursor:not-allowed}
.field .check-option{display:inline-flex;align-items:center;gap:10px;margin:13px 0 0;font-size:12px;color:var(--muted);cursor:pointer}
.field .check-option input{width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:var(--rose)}
.field-error{display:block;font-style:normal;font-size:11px;color:#f0a9b5;margin-top:7px}
.field-error:empty{display:none}
.form-required{margin-top:-12px}

@media(max-width:1279px){.nav-button,.nav-link{font-size:13px}
.main-nav{gap:21px;margin-right:8px}
.header-tools{gap:20px}
}

@media(max-width:1100px){.section-lede{gap:45px}
.main-nav{gap:16px;margin-right:4px}
.header-tools{gap:16px}
.header-tools>.btn{font-size:12px;padding-inline:14px}
.task-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.principle-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px}
.footer-main.footer-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-wide .footer-brand{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.footer-wide .footer-brand .eyebrow{margin-top:0}
.related-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1020px){.main-nav{gap:18px}
.nav-button,.nav-link{font-size:13px}
.header-tools>.btn{display:none}
}

@media(max-width:880px){.dropdown-mega{min-width:0;padding:0 0 15px;max-height:none;overflow:visible}
.main-nav{margin-right:0}
.dropdown-mega.open{display:block}
.dropdown-heading{padding:16px 0 4px}
.dropdown-group a{padding:12px 0}
.nav-button,.nav-link{font-size:17px}
.directions-3{grid-template-columns:1fr}
.section-lede{grid-template-columns:1fr;gap:22px}
.principle-grid.cols-3{grid-template-columns:1fr 1fr;row-gap:32px}
.related-grid.cols-3{grid-template-columns:1fr}
.related-grid.cols-3 .related-card{flex-direction:row;align-items:center}
.footer-main.footer-wide{grid-template-columns:1fr 1fr}
.footer-wide .footer-brand{display:block}
.footer-wide .footer-brand .eyebrow{margin-top:18px}
.service-grid:has(>:nth-child(3):last-child){grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){.section-lede{margin-bottom:28px}
.header-tools{gap:18px}
.task-layout .intro{margin-bottom:28px}
.task-layout .intro p{font-size:15px}
.task-list{grid-template-columns:1fr;gap:10px}
.task-link{padding:24px 22px 22px}
.task-link h3{font-size:20px}
.task-link .round-arrow{top:18px;right:18px}
.lede-copy p,.prose p{font-size:13px}
.prose>p:first-child{font-size:15px}
.principle-grid.cols-2,.principle-grid.cols-3{grid-template-columns:1fr}
.contact-composite select{width:118px}
.budget-composite{max-width:none}
.footer-main.footer-wide{gap:28px 22px}
}

/* Type scale for the whole site, last so it settles every earlier size.
   Lead 18 · body 16 · card copy 15 · secondary 13 · uppercase labels 11. Phones keep reading sizes; only display headings shrink. */
:root{--fs-lead:18px;--fs-body:16px;--fs-card:15px;--fs-small:13px;--fs-label:11px}
@media(max-width:880px){:root{--fs-lead:17px}}

/* Lead copy */
.hero-lead,.contact-hero p,.prose>p:first-child,.brief-heading h2+p:not(.eyebrow),.location-copy>p:last-child{font-size:var(--fs-lead);line-height:1.65}

/* Body copy */
.section-heading p,.two-column .intro p,.lede-copy p,.prose p,.faq details p,.signal-block p,.collab-copy p,.collaboration-grid article>p:last-child,
.pricing-intro p,.pricing-detail p,.principle-band p,.cta-band p,.about-stat p,.brief-heading p:not(.eyebrow),.brief-heading>p:last-child{font-size:var(--fs-body);line-height:1.75}
.prose>p:first-child{font-size:var(--fs-lead)}
.brief-heading h2+p:not(.eyebrow){font-size:var(--fs-lead)}

/* Copy inside cards and lists */
.capability p,.numbered-list p,.deliverable p,.principle-grid p,.related-card p,.task-link p,.direction p,.bullet-list li,
.capability .bullet-list li,.numbered-list .bullet-list li,.deliverable .bullet-list li,.principle-grid .bullet-list li,.collab-copy .bullet-list li,
.two-column .intro .bullet-list li,.signal strong{font-size:var(--fs-card);line-height:1.7}
.service-item>p:not(.service-item-title){font-size:var(--fs-card)!important;line-height:1.7!important}
.service-item .service-item-title,.service-item>.text-link{font-size:var(--fs-card)!important}
.capability-tagline{font-size:17px!important}
.service-card p,.contact-step p,.signal span,.platform,.process-card p{font-size:14px;line-height:1.65}

/* Card and list titles: two steps */
.capability h3,.collaboration-grid h3,.numbered-list h3,.deliverable h3,.pricing-detail h3{font-size:24px}
.principle-grid h3,.related-card h3,.task-link h3{font-size:22px}
.service-card h3,.contact-step h3,.pricing-detail .deliverable h3{font-size:19px}
.faq summary{font-size:18px}

/* Secondary text: notes, captions, navigation inside pages, footer */
small,.form-note,.contact-sidebar .sidebar-note,.preview-notice,.principle-band .band-note,.section-note p,.hero-note,.platforms-note,.footer-text,
.brief-result pre,.pricing-detail .price-clarifier,.related-action,.task-action,.capability .deliverable,.field .check-option,.service-option span{font-size:var(--fs-small);line-height:1.6}
.breadcrumb,.hero-tag,.quote-scope span,.field label span,.field legend span,.field-error,.footer-bottom{font-size:12px}
.page-outline a,.direction-links a,.footer-column a{font-size:var(--fs-small)}
.field label,.field legend,.form-status,.brief-result p{font-size:14px}
.field input,.field textarea,.field select{font-size:15px}
.dropdown a{font-size:14px}

/* Actions */
.btn,.hero-actions .btn{font-size:14px}
.btn-small{font-size:12px}
.header-tools>.btn{font-size:13px}
.text-link{font-size:14px}
.ghost-link,.hero-actions .ghost-link{font-size:13px}

/* Uppercase labels and numbers */
.eyebrow,.hero-copy .eyebrow,.footer-brand .eyebrow,.footer-column h3,.proof-label,.dropdown-heading,.process-card .num{font-size:var(--fs-label)}
.capability .number,.task-index,.micro-number,.contact-step .num{font-size:12px}

@media(max-width:1100px){.header-tools>.btn{font-size:12px}
.directions-3 .direction-links{grid-template-columns:1fr}
}
@media(max-width:880px){.dropdown a{font-size:15px}
.nav-button,.nav-link{font-size:17px}
}
@media(max-width:620px){.capability h3,.collaboration-grid h3,.numbered-list h3,.deliverable h3,.pricing-detail h3{font-size:22px}
.principle-grid h3,.related-card h3,.task-link h3{font-size:21px}
.faq summary{font-size:17px}
.hero-lead{font-size:16px}
.task-layout .intro p{font-size:16px}
.field input,.field textarea,.field select{font-size:16px}
.btn,.hero-actions .btn{font-size:13px}
}

/* Section headings: the note sits under the title, at the size of the situations note on the home page */
.section-heading{display:block}
.section-heading>p{max-width:68ch;margin-top:20px;font-size:clamp(17px,1.4vw,20px);line-height:1.6;text-wrap:pretty}
@media(max-width:620px){.section-heading>p{margin-top:18px;font-size:16px}}

/* Project path on the UA home (hand-made section #connections): steps on one line, each marked with its disciplines */
.project-path{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:24px;row-gap:44px}
.project-path li{position:relative;min-width:0;padding-top:66px;--c:var(--lilac)}
.project-path [data-direction=development]{--c:var(--rose)}
.project-path [data-direction=automation]{--c:var(--cream)}
.project-path li::before{content:"";position:absolute;top:21px;left:0;right:-24px;height:1px;background:var(--c);opacity:.5}
.project-path li:last-child::before{right:0;background:linear-gradient(90deg,var(--c),transparent)}
.path-step{position:absolute;top:0;left:0;width:43px;height:43px;border:1px solid var(--c);border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--c);font-size:12px;letter-spacing:.06em}
.project-path h3{margin:0 0 10px;font-size:19px;line-height:1.3;font-weight:400;letter-spacing:-.01em;color:var(--ink)}
.project-path p{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
.project-path .path-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.path-tag{padding:5px 8px 4px;border:1px solid;border-radius:999px;font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase}
.path-tag.marketing{color:var(--lilac);border-color:#c3b3dc55}
.path-tag.development{color:var(--rose);border-color:#cea4ad55}
.path-tag.automation{color:var(--cream);border-color:#efdcce55}
.path-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px 40px;margin-top:52px;padding-top:26px;border-top:1px solid var(--line)}
.path-foot p{max-width:68ch;font-size:16px;line-height:1.7;color:var(--muted)}
@media(max-width:1279px){
.project-path{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-path li:nth-child(3n)::before{right:0;background:linear-gradient(90deg,var(--c),transparent)}
}
@media(max-width:620px){
.project-path{grid-template-columns:minmax(0,1fr);row-gap:0}
.project-path li{padding:0 0 30px 62px}
.project-path li::before,.project-path li:nth-child(3n)::before{top:0;bottom:0;left:21px;right:auto;width:1px;height:auto;background:var(--c)}
.project-path li:last-child::before{background:linear-gradient(180deg,var(--c),transparent)}
.path-foot{margin-top:18px}
}

/* About block on the UA home (hand-made section #company): one fact and the roles that work on a project */
.team-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:6px}
.team-cell{min-width:0;padding-top:24px;border-top:1px solid var(--line-light)}
.team-cell h3{margin:0 0 12px;font-size:19px;line-height:1.3;font-weight:400;color:var(--ink)}
.team-cell p{font-size:15px;line-height:1.65;color:var(--muted)}
.team-num{display:block;margin-bottom:12px;font-size:clamp(52px,5vw,72px);line-height:1;letter-spacing:-.04em;font-weight:300}
.path-foot .section-actions{margin-top:0}
@media(max-width:1100px){.team-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}}
@media(max-width:620px){.team-strip{grid-template-columns:minmax(0,1fr);row-gap:26px}}
