@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('font-0.ttf') format('truetype');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('font-1.ttf') format('truetype');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('font-2.ttf') format('truetype');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('font-3.ttf') format('truetype');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('font-4.ttf') format('truetype');}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('font-5.ttf') format('truetype');}
:root{--paper:#f5f5f1;--ink:#171717;--orange:#ff4b23;--line:#d2d2ce;--muted:#73736e;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.5}body.modal-open{overflow:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(38px,4.6vw,72px);line-height:1.1;letter-spacing:-.055em;font-weight:600}h3{font-weight:500}section[id]{scroll-margin-top:20px}.section-pad{padding:110px 5.2%}.section-label{display:block;font-size:12px;letter-spacing:.11em;font-weight:600}.skip-link{position:fixed;top:-70px;left:20px;background:var(--orange);padding:12px 20px;z-index:200}.skip-link:focus{top:12px}.header{height:100px;padding:0 5.2%;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--paper)}.wordmark{font-size:40px;letter-spacing:-.075em;font-weight:800;line-height:1;font-family:'Manrope',Arial,sans-serif;display:inline-flex;align-items:flex-start}.wordmark>span{font-size:13px;letter-spacing:0;margin:6px 0 0 5px}.desktop-nav{display:flex;gap:34px;margin-left:auto;font-size:14px;font-weight:500}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--ink);transition:width .3s}.desktop-nav a:hover:after{width:100%}.start-button{padding:13px 20px;background:var(--ink);color:var(--paper);border-radius:30px;display:flex;gap:28px;align-items:center;font-size:14px;transition:background .3s,transform .3s}.start-button:hover{background:var(--orange);color:var(--ink)}.start-button span{font-size:21px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.mobile-nav{padding:30px 6%;background:var(--ink);color:white;position:absolute;width:100%;z-index:29}.mobile-nav a{display:flex;justify-content:space-between;padding:14px 0;font-size:26px;border-bottom:1px solid #555}.mobile-nav a span{font-size:13px}.mobile-nav button{background:var(--orange);color:var(--ink);padding:14px 20px;margin:20px 0 8px}.hero{padding:28px 5.2% 40px;overflow:hidden}.hero-eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em}.hero-main{position:relative;display:flex;align-items:center;min-height:520px;padding:45px 0 18px}h1{font-size:clamp(84px,9.4vw,155px);line-height:1.015;font-weight:650;letter-spacing:-.075em;position:relative;z-index:2;flex-shrink:0;width:58%}h1 .line{display:block;overflow:hidden;padding:0 0 .1em;margin-bottom:-.1em}h1 .line>span{display:block}h1 .felt{font-family:Georgia,serif;font-style:italic;font-size:1.18em;font-weight:400;color:var(--orange);letter-spacing:-.07em;line-height:1.08}.period{font-family:'Manrope',sans-serif;font-style:normal}.hero-art{width:57%;position:absolute;right:-4%;top:20%;transform:rotate(-8deg);will-change:transform}.hero-art img{width:100%;height:auto;display:block;mix-blend-mode:multiply;animation:sculpture 9s ease-in-out infinite}.art-caption{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.11em;padding:0 15%;transform:rotate(8deg);margin-top:15px}.hero-side{position:absolute;right:-30px;top:45%;font-size:12px;letter-spacing:.17em;writing-mode:vertical-rl}.hero-bottom{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.hero-bottom p{font-size:16px;line-height:1.5}.round-link{border:1px solid #999;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;transition:background .3s,transform .3s;flex-shrink:0}.round-link:hover{background:var(--orange);transform:translateY(4px)}.hero-bottom-right{margin-left:auto;text-align:right}.hero-bottom-right>span{font-size:12px;letter-spacing:.07em;display:block;margin-bottom:10px}.text-button{display:inline-flex;align-items:center;gap:25px;font-size:16px;padding:0 0 5px;border-bottom:1px solid currentColor}.text-button span{font-size:22px;transition:transform .3s}.text-button:hover span{transform:translate(3px,-3px)}.ticker{overflow:hidden;background:var(--orange);padding:19px 0;margin-top:8px}.ticker-track{display:flex;white-space:nowrap;width:max-content;animation:ticker 40s linear infinite}.ticker-track>span{font-family:'Manrope',sans-serif;font-size:24px;font-weight:650;letter-spacing:-.04em;display:flex;align-items:center;gap:45px;padding-right:45px}.ticker i{font-style:normal;font-size:34px;line-height:1}.intro-section{display:grid;grid-template-columns:1fr 2.5fr;gap:30px}.intro-section>.section-label{padding-top:10px}.intro-copy h2{font-size:clamp(35px,4.3vw,67px)}.muted{color:#80807a}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:40px;color:#51514e;font-size:17px;line-height:1.7}.intro-columns p:first-child{color:var(--ink);font-size:19px}.intro-columns strong{font-weight:500;color:var(--ink)}.agency-signature{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);margin-top:45px;padding-top:28px}.signature{font-family:Georgia,serif;font-size:26px;font-style:italic;letter-spacing:-.045em}.agency-signature>span:nth-child(2){font-size:12px;letter-spacing:.07em}.experience{margin-left:auto;font-family:'Manrope',sans-serif;font-size:56px;letter-spacing:-.08em;line-height:1}.experience span{display:block;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.06em;margin-top:10px}.expertise{background:var(--ink);color:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-head .section-label{margin-bottom:32px}.section-head>p{font-size:16px;line-height:1.6;max-width:340px}.expertise .section-head>p{color:#aaa}.expertise h2 em{color:#c0c0b8}.services{border-top:1px solid #494947}.service{border-bottom:1px solid #494947}.service summary{display:flex;align-items:center;list-style:none;gap:28px;cursor:pointer;padding:30px 0}.service summary::-webkit-details-marker{display:none}.service-number{font-size:12px;color:#93938c;width:34px}.service h3{font-size:clamp(22px,2.65vw,40px);letter-spacing:-.045em;transition:color .2s}.service summary:hover h3,.service[open] h3{color:var(--orange)}.service-tag{font-size:12px;letter-spacing:.07em;margin-left:auto;color:#aaa}.service-plus{width:32px;height:32px;position:relative;margin-left:30px;flex-shrink:0}.service-plus:before,.service-plus:after{content:'';position:absolute;top:15px;left:4px;width:24px;height:1px;background:var(--paper);transition:transform .3s}.service-plus:after{transform:rotate(90deg)}.service[open] .service-plus:after{transform:rotate(0)}.service-body{margin-left:62px;max-width:820px;padding:0 0 32px;animation:detailIn .4s var(--ease)}.service-body>p{font-size:17px;color:#b9b9b2;max-width:650px}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.pills span{font-size:12px;border:1px solid #565650;border-radius:25px;padding:7px 13px;color:#d7d7ce}.service-link{font-size:14px;padding:0;color:var(--paper);border-bottom:1px solid #777}.service-body .service-note{font-size:12px;margin:-8px 0 24px;color:#aaa}.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.brand-card{min-height:400px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .6s var(--ease)}.brand-card:hover{transform:translateY(-7px)}.card-label,.card-bottom{font-size:12px;letter-spacing:.08em}.card-bottom{display:flex;justify-content:space-between}.satin{background:#deded5;color:#252621}.satin-name{font-family:Georgia,serif;font-style:italic;font-size:clamp(38px,4.8vw,76px);letter-spacing:-.055em;text-align:center;padding:38px 0}.satin-name span{display:block;font-family:'DM Sans',sans-serif;font-size:12px;font-style:normal;letter-spacing:.15em;margin-top:8px}.railway{background:var(--orange)}.railway-name{font-family:'Manrope',sans-serif;font-size:clamp(37px,4.2vw,65px);line-height:1;font-weight:750;letter-spacing:-.06em;margin:24px 0;text-align:center}.railway-name>span{display:block;font-size:18px;letter-spacing:0;font-weight:500;margin-top:20px}.confidential{display:flex;align-items:center;gap:30px;margin:40px 0;border-bottom:1px solid var(--line);padding:0 0 40px}.confidential-symbol{width:64px;height:64px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:32px;flex-shrink:0}.confidential h3{font-size:24px;letter-spacing:-.04em;margin-bottom:12px}.confidential p{font-size:15px;color:#63635e;max-width:720px;line-height:1.65}.confidential .text-button{margin-left:auto;white-space:nowrap}.sector-list{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;letter-spacing:.06em}.approach{background:#e9e9e3;padding-top:70px;padding-bottom:75px}.approach-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:30px 0 65px}.approach-title>p{font-size:17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid #a6a69d;padding-top:18px}.steps article>span{font-size:12px;letter-spacing:.06em}.steps h3{font-size:23px;letter-spacing:-.04em;margin:40px 0 15px}.steps p{font-size:15px;color:#60605a;line-height:1.65}.contact{background:var(--orange);padding-top:50px;padding-bottom:50px;overflow:hidden}.contact-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em}.contact-headline{text-align:left;display:block;position:relative;width:100%;font-family:'Manrope',sans-serif;font-size:clamp(62px,8.7vw,140px);line-height:1.08;letter-spacing:-.065em;font-weight:500;padding:55px 0 50px}.contact-headline em{letter-spacing:-.05em}.contact-arrow{position:absolute;right:0;bottom:40px;font-size:1.7em;line-height:1;font-weight:400;transition:transform .6s var(--ease)}.contact-headline:hover .contact-arrow{transform:translate(12px,-12px)}.contact-bottom{border-top:1px solid #b43116;padding-top:30px;display:flex;justify-content:space-between;gap:20px}.contact-bottom>p{font-size:17px}.contact-bottom>div{display:flex;flex-direction:column;gap:5px}.contact-bottom a:first-child{font-size:20px;font-weight:500}.contact-bottom a:hover{text-decoration:underline}footer{padding:50px 5.2% 24px;background:var(--ink);color:var(--paper)}.footer-top{display:flex;align-items:center;gap:55px;margin-bottom:50px}.footer-top p{font-size:13px;color:#aaa}.footer-top>button{margin-left:auto;font-size:13px;display:flex;gap:12px}.footer-top>a:last-child{font-size:13px}.footer-bottom{padding-top:20px;border-top:1px solid #444;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#aaa;font-size:12px;letter-spacing:.06em}.footer-bottom button{padding:0;font-size:12px}.scroll-progress{position:fixed;top:0;left:0;z-index:100;height:3px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;pointer-events:none}.intro{display:none}.js .intro{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:space-between;background:var(--orange);padding:35px 5.2%;z-index:99;animation:introExit .85s var(--ease) 1.05s forwards;pointer-events:none}.intro-logo{font-size:clamp(80px,21vw,350px);letter-spacing:-.085em;line-height:1;font-family:'Manrope',sans-serif;font-weight:800}.intro-logo>span{font-size:.15em;vertical-align:top;letter-spacing:0;margin-left:10px}.intro-top,.intro-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.08em}.intro-count{font-size:34px;line-height:1}.js .intro.seen{display:none}.js .hero h1 .line>span{animation:headlineIn 1.2s var(--ease) both;animation-delay:1.15s}.js .hero h1 .line:nth-child(2)>span{animation-delay:1.3s}.js .hero h1 .line:nth-child(3)>span{animation-delay:1.45s}.js.returning .hero h1 .line>span{animation-delay:.15s}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal.visible{opacity:1;transform:translateY(0)}.brand-grid .reveal:nth-child(2),.steps .reveal:nth-child(2){transition-delay:.1s}.steps .reveal:nth-child(3){transition-delay:.2s}.steps .reveal:nth-child(4){transition-delay:.3s}dialog{border:0;background:var(--paper);color:var(--ink);width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:34px;overscroll-behavior:contain}dialog::backdrop{background:#111b;backdrop-filter:blur(7px)}dialog[open]{animation:dialogIn .35s var(--ease)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.dialog-top>.section-label{font-size:12px}.dialog-close{font-size:32px;width:40px;height:40px;line-height:1}.dialog-close:hover{background:var(--orange)}dialog h2{font-size:42px;margin-bottom:30px;letter-spacing:-.055em}form{display:flex;flex-direction:column}form label{font-size:14px;font-weight:500;margin:18px 0 7px}form label:first-child{margin-top:0}form label span{font-weight:400;color:#6b6b64}input,select,textarea{border:1px solid #c7c7bf;border-radius:0;background:transparent;font:inherit;font-size:16px;padding:12px;color:var(--ink);width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:1px}textarea{resize:vertical}.form-note{font-size:12px;color:#66665e;line-height:1.55;margin:22px 0}.submit-button{padding:15px 20px;background:var(--orange);display:flex;justify-content:space-between}.submit-button:hover{background:var(--ink);color:var(--paper)}#privacy-dialog>p{font-size:16px;line-height:1.65;margin-bottom:20px}#privacy-dialog a{text-decoration:underline}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important;transition:none!important}.motion-paused .intro{display:none}.motion-paused .reveal,.motion-paused h1 .line>span{opacity:1!important;transform:none!important}
@keyframes ticker{to{transform:translateX(-50%)}}@keyframes sculpture{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(4deg)}}@keyframes introExit{to{transform:translateY(-105%);visibility:hidden}}@keyframes headlineIn{from{transform:translateY(110%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes detailIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dialogIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero-main{min-height:650px}.hero-art{top:8%}.hero h1{font-size:170px}.hero,.section-pad,.header,footer{padding-left:max(5.2%,calc((100vw - 1580px)/2));padding-right:max(5.2%,calc((100vw - 1580px)/2))}}
@media(max-width:1050px){.header{height:85px;gap:25px}.hero-main{min-height:430px}h1{font-size:10vw}.hero-art{width:59%;right:-5%;top:22%}.hero-side{right:-20px}.section-pad{padding-top:80px;padding-bottom:80px}.intro-section{grid-template-columns:1fr 3fr}.intro-columns{gap:28px}.section-head>p{max-width:240px}.service-tag{display:none}.service-plus{margin-left:auto}.confidential{flex-wrap:wrap}.confidential>div{flex:1}.confidential .text-button{margin-left:94px}.steps{gap:20px}.steps h3{font-size:20px}.footer-top{gap:30px}.brand-card{min-height:340px}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:78px;gap:20px;padding:0 6%}.wordmark{font-size:33px}.desktop-nav{display:none}.start-button{margin-left:auto;padding:9px 15px;gap:15px;font-size:12px}.start-button span{font-size:18px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;padding:8px 0;width:25px;height:40px}.menu-toggle span{width:25px;height:1px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{padding:25px 6% 30px}.hero-eyebrow{font-size:12px}.hero-location{display:none}.hero-main{padding:35px 0 0;min-height:unset;display:block}h1{font-size:clamp(65px,13.8vw,108px);width:100%;line-height:1}.hero-art{position:relative;width:95%;right:auto;top:auto;margin:-5% -7% -7% auto;transform:rotate(-8deg);z-index:0}.hero-art img{max-height:340px;object-fit:contain}.art-caption{display:none}.hero-side{display:none}.hero-bottom{margin-top:0;flex-wrap:wrap;gap:15px;padding-top:20px}.round-link{width:44px;height:44px;font-size:24px}.hero-bottom p{font-size:14px}.hero-bottom-right{width:100%;margin:10px 0 0;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px}.hero-bottom-right>span{font-size:12px;max-width:100px;margin:0}.hero-bottom-right .text-button{font-size:13px;gap:14px}.ticker{padding:14px 0}.ticker-track>span{font-size:18px;gap:25px;padding-right:25px}.ticker i{font-size:28px}.section-pad{padding:65px 6%}.intro-section{display:block}.section-label{font-size:12px}.intro-copy{margin-top:32px}.intro-copy h2{font-size:clamp(29px,6.4vw,48px)}.intro-columns{grid-template-columns:1fr;gap:20px;margin-top:30px}.intro-columns p:first-child{font-size:19px}.intro-columns p{font-size:16px}.agency-signature{gap:15px;flex-wrap:wrap;margin-top:30px;padding-top:25px}.signature{font-size:24px}.agency-signature>span:nth-child(2){font-size:12px}.experience{font-size:43px}.experience span{font-size:12px}.section-head{display:block;margin-bottom:35px}.section-head .section-label{margin-bottom:28px}h2{font-size:clamp(35px,8vw,57px)}.section-head>p{max-width:100%;margin-top:25px;font-size:15px}.service summary{padding:24px 0;gap:12px}.service-number{width:18px;font-size:12px}.service h3{font-size:clamp(19px,4.4vw,28px)}.service-plus{width:22px;height:24px}.service-plus:before,.service-plus:after{width:18px;left:2px;top:12px}.service-body{margin-left:30px;padding-bottom:27px}.service-body>p{font-size:15px}.pills{gap:6px;margin:20px 0}.pills span{font-size:12px;padding:6px 10px}.brand-grid{gap:16px;grid-template-columns:1fr}.brand-card{min-height:320px;padding:25px}.satin-name{font-size:62px}.railway-name{font-size:52px}.confidential{gap:16px;margin:30px 0;padding-bottom:30px;align-items:flex-start}.confidential-symbol{width:38px;height:38px;font-size:22px}.confidential h3{font-size:22px;line-height:1.25}.confidential p{font-size:14px}.confidential .text-button{margin-left:54px;font-size:14px}.sector-list{justify-content:flex-start;gap:16px 22px;font-size:12px}.approach-title{display:block;margin-bottom:35px}.approach-title>p{margin-top:25px;font-size:16px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px}.steps h3{font-size:20px;margin:25px 0 10px}.steps p{font-size:14px}.steps article>span{font-size:12px}.contact-top>span:last-child{display:none}.contact-headline{font-size:clamp(44px,9vw,70px);padding:40px 0 35px}.contact-arrow{font-size:1.4em;bottom:37px;right:0}.contact-bottom{flex-direction:column;gap:22px;padding-top:24px}.contact-bottom>p{font-size:16px}.contact-bottom>div{gap:8px}footer{padding:35px 6% 25px}.footer-top{flex-wrap:wrap;gap:25px;margin-bottom:35px}.footer-top>p{margin-left:auto}.footer-top>button{margin-left:0}.footer-top>a:last-child{margin-left:auto}.footer-bottom{flex-wrap:wrap;gap:15px;font-size:12px}.footer-bottom>span:nth-child(2){order:3;width:100%}.intro-top,.intro-bottom{font-size:12px}.intro-top>span:last-child{display:none}.js .intro{padding:28px 6%}.intro-logo{font-size:22vw}.intro-count{font-size:28px}dialog{padding:24px;max-height:calc(100dvh - 24px)}dialog h2{font-size:35px;margin-bottom:25px}.dialog-top{gap:10px}.dialog-top>.section-label{font-size:12px}}
@media(max-width:370px){.header{gap:12px}.start-button{font-size:12px;padding:8px 12px}.wordmark{font-size:30px}.contact-arrow{font-size:1em}.experience{margin-left:0}.service h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .intro{display:none}.js .reveal{opacity:1;transform:none}.js .hero h1 .line>span{transform:none}}

/* Service section: midnight blue / electric lime */
#expertise{--service-bg:#10182a;--service-card:#17233b;--service-accent:#d4ff63;background:#10182a;color:#f7f9ff;color-scheme:dark}
#expertise .section-label{color:#d4ff63}
#expertise h2 em{color:#d4ff63}
#expertise .section-head>p{color:#c6d1e4}
#expertise .services{border:0;display:grid;gap:12px}
#expertise .service{position:relative;border:1px solid #384967;border-radius:14px;background:#141f34;transition:background .35s,border-color .35s,opacity .8s var(--ease),transform .8s var(--ease)}
#expertise .service[open]{background:#1b2a44;border-color:#d4ff63}
#expertise .service summary{padding:28px 26px;gap:24px;min-height:96px}
#expertise .service-number{color:#b7c7e0;font-size:14px;flex-shrink:0}
#expertise .service h3{color:#f7f9ff;line-height:1.25;min-width:0}
#expertise .service summary:hover h3,#expertise .service[open] h3{color:#d4ff63}
#expertise .service-tag{color:#c6d1e4}
#expertise .service-plus{border-radius:50%;background:#273855;width:40px;height:40px;transition:background .35s,transform .4s;flex-shrink:0}
#expertise .service-plus:before,#expertise .service-plus:after{background:#f7f9ff;left:10px;top:19px;width:20px;height:2px}
#expertise .service[open] .service-plus{background:#d4ff63;transform:rotate(180deg)}
#expertise .service[open] .service-plus:before,#expertise .service[open] .service-plus:after{background:#10182a}
#expertise .service-body{margin:0 26px 0 84px;padding:0 0 30px;animation:none}
#expertise .service-body>p{color:#d5def0;font-size:17px;line-height:1.7}
#expertise .pills{gap:9px;margin:24px 0}
#expertise .pills span{background:#293b59;border:1px solid #506487;color:#edf3ff;font-size:14px;padding:8px 14px}
#expertise .service-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;background:#d4ff63;color:#10182a;border:1px solid #d4ff63;border-radius:30px;font-size:15px;font-weight:500;transition:background .2s,transform .2s}
#expertise .service-link:hover{background:#e4ff9f;transform:translateY(-2px)}
#expertise .service-note{color:#c6d1e4;font-size:14px}
#expertise summary:focus-visible,#expertise button:focus-visible{outline-color:#d4ff63;outline-offset:5px}
@media(max-width:760px){
 #expertise .services{gap:12px}
 #expertise .service summary{padding:22px 16px;gap:12px;min-height:90px}
 #expertise .service-number{width:20px;font-size:12px}
 #expertise .service h3{font-size:clamp(19px,4.7vw,27px);letter-spacing:-.035em;flex:1}
 #expertise .service-plus{width:32px;height:32px;margin-left:0}
 #expertise .service-plus:before,#expertise .service-plus:after{width:16px;left:8px;top:15px}
 #expertise .service-body{margin:0 18px;padding-bottom:24px}
 #expertise .service-body>p{font-size:16px}
 #expertise .pills{gap:8px;margin:20px 0}
 #expertise .pills span{font-size:14px;padding:7px 12px}
 #expertise .service-link{font-size:14px}
}
@media(prefers-reduced-motion:reduce){#expertise .service,#expertise .service-plus,#expertise .service-link{transition:none}}

/* Selected client portfolio */
.portfolio-group{margin-top:48px}
.portfolio-group-title{font-size:22px;letter-spacing:-.035em;font-weight:500;margin:0 0 20px}
.portfolio-clients{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.portfolio-client{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:170px;padding:24px;background:#e9e9e3;border:1px solid #cecec6;transition:background .3s,border-color .3s,transform .8s var(--ease),opacity .8s var(--ease)}
.portfolio-client:nth-child(3n+2){transition-delay:.06s}
.portfolio-client:nth-child(3n+3){transition-delay:.12s}
.portfolio-index{font-size:12px;letter-spacing:.06em;color:#62625b}
.portfolio-client h4{font-family:'Manrope',Arial,sans-serif;font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.3;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}
@media(hover:hover){.portfolio-client:hover{background:#e0e0d5;border-color:#858577}}
@media(max-width:760px){.portfolio-group{margin-top:34px}.portfolio-group-title{font-size:20px}.portfolio-clients{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-client{padding:18px 16px;min-height:155px;gap:22px}.portfolio-client h4{font-size:20px}.portfolio-client:nth-child(n){transition-delay:0s}}
@media(max-width:370px){.portfolio-clients{grid-template-columns:1fr}.portfolio-client{min-height:120px}}

/* A readable opening. */
html.intro-running{overflow:hidden}
.js .intro{animation:none;pointer-events:auto}
.js .intro.is-exiting{animation:introExit .9s var(--ease) forwards}
.intro-skip{font-size:14px;padding:10px 18px;border:1px solid #171717;border-radius:28px;display:flex;align-items:center;gap:18px;white-space:nowrap;min-height:44px}
.intro-skip:hover{background:#171717;color:#fff}
.intro-skip:focus-visible{outline:2px solid #171717;outline-offset:5px}
.intro-bottom{align-items:center}
.intro-time{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#17171726}
.intro-time>span{display:block;width:100%;height:100%;background:#171717;transform-origin:left;animation:introReadingTime 4s linear both}
.js.intro-running .hero h1 .line>span{animation:none;transform:translateY(110%)}
.js.intro-complete .hero h1 .line>span{animation-delay:.05s;animation-duration:1.35s}
.js.intro-complete .hero h1 .line:nth-child(2)>span{animation-delay:.2s}
.js.intro-complete .hero h1 .line:nth-child(3)>span{animation-delay:.35s}
.ticker-track{animation-duration:65s}
@keyframes introReadingTime{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.intro-bottom{gap:20px;flex-wrap:wrap}.intro-bottom>span{max-width:230px}.intro-skip{font-size:14px;padding:9px 14px}}
@media(prefers-reduced-motion:reduce){.intro-time>span{animation:none}}
