/* Wewoo brand: live-site colours and typefaces, extended for this page. */
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../instrument-serif-italic-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../instrument-serif-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../instrument-serif-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../instrument-serif.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../outfit-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../outfit.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}    :root{--bg:#0f172a;--bg-deep:#0b1221;--surface:#151e33;--surface-light:#1a243b;--ink:#f8fafc;--muted:#b4bbce;--quiet:#99a4be;--purple:#5b21b6;--purple-hover:#7135cf;--lavender:#a5b2eb;--violet:#7f54b3;--line:rgba(183,195,229,.14);--radius:1rem;--font:Outfit,sans-serif;--serif:'Instrument Serif',Georgia,serif;--ease:cubic-bezier(.22,.68,0,1.01)}
    *,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.875rem}body{margin:0;color:var(--ink);background:var(--bg);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{display:block}button{color:inherit}img{max-width:100%;display:block}p,h1,h2,h3,h4{margin:0}h1,h2{font:400 clamp(2.7rem,5vw,4.6rem)/1.08 var(--serif);letter-spacing:-.025em;text-wrap:balance}h3{font-weight:500;line-height:1.25;letter-spacing:-.025em}p{color:var(--muted)}em{font-family:var(--serif);font-weight:400;color:var(--lavender)}::selection{background:#7254b6;color:white}:focus-visible{outline:0.125rem solid var(--lavender);outline-offset:0.3125rem;border-radius:0.25rem}[hidden]{display:none!important}.container{width:min(72.5rem,calc(100% - 5rem));margin-inline:auto}.section{padding-block:7.375rem}.eyebrow{display:flex;align-items:center;gap:0.6875rem;color:var(--lavender);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem}.eyebrow::before{content:"";width:1.375rem;height:1px;background:var(--lavender);opacity:.7}.tag{display:inline-flex;align-items:center;border:1px solid var(--line);padding:0.3125rem 0.6875rem;border-radius:0.375rem;font-size:.75rem;line-height:1.6;color:var(--muted)}.arrow{width:1.1875rem;height:1.1875rem;flex-shrink:0;transition:transform .3s var(--ease)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;padding:0.9375rem 1.4375rem;border:1px solid transparent;border-radius:0.625rem;font-size:.9375rem;font-weight:500;line-height:1.4;min-height:3.25rem;transition:background .25s,transform .25s,box-shadow .25s,border-color .25s}.btn:hover .arrow{transform:translateX(0.25rem)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--purple);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.12),0 0.375rem 1.25rem #5b21b610}.btn-primary:hover{background:var(--purple-hover);box-shadow:0 0.5rem 2rem #5b21b63a}.btn-secondary{border-color:rgba(165,178,235,.26);background:#7f54b30d}.btn-secondary:hover{background:#7f54b31a;border-color:rgba(165,178,235,.55)}.text-link{display:inline-flex;align-items:center;gap:0.75rem;font-size:.9375rem;font-weight:500;color:var(--lavender);padding-block:0.4375rem}.text-link:hover .arrow{transform:translate(0.1875rem,-0.1875rem)}.skip-link{position:fixed;z-index:100;top:0.625rem;left:1.25rem;padding:0.625rem 1.125rem;background:var(--lavender);color:var(--bg);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
    .site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:rgba(15,23,42,.84);backdrop-filter:blur(1.125rem);-webkit-backdrop-filter:blur(1.125rem);transition:background .3s}.header-inner{height:5.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.875rem}.logo{width:6.9375rem;flex-shrink:0}.logo img{width:6.9375rem;height:1.625rem;object-fit:contain;object-position:left}.nav{display:flex;gap:1.875rem;align-items:center}.nav>a:not(.btn){font-size:.875rem;color:#d5d9e5;position:relative;padding:0.75rem 0}.nav>a:not(.btn)::after{content:"";position:absolute;bottom:0.3125rem;left:0;height:1px;width:100%;background:var(--lavender);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav>a:hover::after,.nav>a[aria-current]::after{transform:scaleX(1)}.nav .btn{margin-left:0.75rem;min-height:2.75rem;padding:0.75rem 1.1875rem;font-size:.875rem}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:0.5rem;width:2.75rem;height:2.75rem;align-items:center;justify-content:center}.menu-toggle svg{width:1.375rem;height:1.375rem}.progress{position:absolute;bottom:-1px;left:0;height:1px;width:100%;background:var(--lavender);transform:scaleX(0);transform-origin:left;opacity:.6}
    .projects-section{padding-top:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}.project-card{min-width:0}.project-image{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);aspect-ratio:8/5;transition:border-color .3s}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.project-card:hover .project-image{border-color:#a5b2eb55}.project-card:hover .project-image img{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;margin:1.4375rem 0 0.75rem;color:var(--lavender);font-size:.75rem;letter-spacing:.065em;text-transform:uppercase}.project-meta span:last-child{color:var(--quiet);text-transform:none;letter-spacing:0}.project-card h3{font-size:1.4rem;margin-bottom:0.625rem}.project-card>p{max-width:28.125rem;font-size:.9375rem}.project-card .service-tags{margin-bottom:0}.contact-person{display:flex;align-items:center;gap:1.25rem;margin:1.8125rem 0 0;padding-top:1.5rem;border-top:1px solid var(--line)}.portrait-image{width:6.25rem;height:7.8125rem;flex-shrink:0;border-radius:0.6875rem;border:1px solid #a5b2eb30;object-fit:cover;background:var(--bg)}.contact-person figcaption{min-width:0}.person-label{display:block;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lavender);margin-bottom:0.5rem}.person-name{display:block;font-weight:400;font-size:1.125rem;line-height:1.4;color:var(--ink)}.person-role{display:block;margin-top:0.3125rem;font-size:.8125rem;color:var(--quiet)}
    .contact-section{padding-bottom:4.375rem}.contact-box{position:relative;overflow:hidden;isolation:isolate;border:1px solid #a5b2eb30;border-radius:1.375rem;padding:3.625rem;background:linear-gradient(115deg,rgba(32,37,66,.76),rgba(21,29,50,.82) 62%)}.contact-box::before{content:"";position:absolute;z-index:-1;left:-12.5rem;top:-11.25rem;width:40rem;height:37.5rem;border-radius:50%;background:radial-gradient(ellipse,#6335aa23,transparent 70%);pointer-events:none}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:4.375rem}.contact-copy h2{font-size:clamp(2.9rem,4.6vw,4.1rem)}.contact-copy>p{margin-top:1.5rem;max-width:22.5rem;font-size:.9375rem}.contact-email{margin-top:2.3125rem;display:flex;align-items:center;gap:0.625rem;flex-wrap:wrap}.contact-email>a{font-size:1.35rem;font-weight:400;letter-spacing:-.02em;border-bottom:1px solid #a5b2eb55}.copy-email{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--quiet);padding:0.625rem;border-radius:0.375rem}.copy-email:hover{background:#a5b2eb10;color:var(--ink)}.copy-email svg{width:1.0625rem;height:1.0625rem}.contact-note{display:flex;align-items:start;gap:0.5625rem;margin-top:2.3125rem;color:var(--quiet);font-size:.8125rem;max-width:19.6875rem}.contact-note svg{width:1.0625rem;height:1.0625rem;flex-shrink:0;margin-top:0.1875rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem}.field{display:block;margin-bottom:1.0625rem;font-size:.8125rem;color:#d4daea}.field>span{display:block;margin-bottom:0.4375rem}.field small{color:var(--quiet);font-size:inherit}.field input,.field textarea{display:block;width:100%;min-width:0;color:var(--ink);background:#0f172a80;border:1px solid #a5b2eb2a;border-radius:0.5rem;padding:0.6875rem 0.8125rem;font-size:.875rem;line-height:1.6;transition:border-color .2s,background .2s}.field textarea{resize:vertical;min-height:6.25rem}.field input::placeholder,.field textarea::placeholder{color:#8d98b2;opacity:1}.field input:focus,.field textarea:focus{outline:0.125rem solid transparent;border-color:#a5b2eb;background:#0f172a}.service-choices{padding:0;margin:0 0 1.1875rem;border:0}.service-choices legend{font-size:.8125rem;color:#d4daea;margin-bottom:0.5625rem;padding:0}.choice-options{display:flex;flex-wrap:wrap;gap:0.4375rem}.choice{cursor:pointer;position:relative}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:block;border:1px solid #a5b2eb2a;background:#0f172a50;color:var(--muted);border-radius:0.375rem;padding:0.3125rem 0.625rem;font-size:.75rem;transition:background .2s,border-color .2s,color .2s}.choice input:checked+span{border-color:#a5b2eb99;color:var(--ink);background:#7f54b330}.choice input:focus-visible+span{outline:0.125rem solid var(--lavender);outline-offset:0.1875rem}.contact-form .btn{width:100%;justify-content:space-between;font-size:.875rem}.form-hint{margin-top:0.625rem;font-size:.75rem;color:var(--quiet);line-height:1.6}.form-hint a{text-decoration:underline;text-underline-offset:0.1875rem}.email-fallback{margin-top:1rem;padding:0.875rem;border:1px solid var(--line);border-radius:0.5rem}.email-fallback p{font-size:.8125rem}.email-fallback textarea{width:100%;min-height:10rem;margin-top:0.625rem;border:1px solid var(--line);border-radius:0.3125rem;background:var(--bg);color:var(--ink);font-size:.8125rem;padding:0.5625rem}.email-fallback button{margin-top:0.5rem;background:transparent;border:0;padding:0.1875rem 0;color:var(--lavender);text-decoration:underline;text-underline-offset:0.1875rem;font-size:.8125rem}.toast{position:fixed;z-index:100;bottom:1.625rem;left:50%;transform:translate(-50%,1.25rem);background:#222e48;border:1px solid #a5b2eb60;padding:0.75rem 1.375rem;border-radius:0.625rem;box-shadow:0 0.75rem 2.8125rem #0005;font-size:.875rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 2.5rem);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
    .site-footer{background:rgba(11,18,33,.60);border-top:1px solid var(--line);padding:3rem 0 1.5625rem}.footer-main{display:flex;justify-content:space-between;gap:2.5rem;padding-bottom:2.3125rem}.footer-brand .logo{display:block;margin-bottom:0.875rem}.footer-brand>p{color:var(--quiet);font-size:.875rem}.footer-links{display:flex;align-items:start;gap:3.375rem}.footer-links>div{display:flex;flex-direction:column;gap:0.5625rem}.footer-links h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--quiet);font-weight:400;margin-bottom:0.3125rem}.footer-links a{font-size:.8125rem;color:var(--muted)}.footer-links a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border-top:1px solid var(--line);padding-top:1.4375rem;font-size:.75rem;color:var(--quiet)}.footer-legal{display:flex;gap:1.5rem}.footer-legal a:hover{color:var(--ink)}.back-top{display:flex;gap:0.5625rem;align-items:center}.back-top .arrow{width:0.9375rem;height:0.9375rem}.back-top:hover .arrow{transform:translateY(-0.1875rem)}

    body{isolation:isolate}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 35% 25%,#6843b72b,transparent 60%),var(--bg)}.aurora-canvas{width:100%;height:100%;display:block;opacity:.88}.ambient::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a08,#0f172a30 55%,#0f172a90)}.section{padding-block:5.25rem}.eyebrow{margin-bottom:1.0625rem}h2{font-size:clamp(2.7rem,4.6vw,4.1rem)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2.1875rem;margin-bottom:2.125rem}.section-heading>p{max-width:18.75rem;font-size:.9375rem}.hero{position:relative;display:flex;align-items:center;min-height:52.5rem;padding:6.75rem 0 4rem;text-align:center}.hero-kicker{display:inline-flex;gap:0.5625rem;align-items:center;color:#c2cbee;font-size:.75rem;letter-spacing:.02em;border:1px solid #a5b2eb30;background:#0f172a50;padding:0.4375rem 0.875rem;border-radius:3.125rem}.hero-kicker .dot{width:0.3125rem;height:0.3125rem;background:#b7a0f5;border-radius:50%}.hero h1{margin:2.0625rem auto 1.5625rem;font-size:clamp(3.5rem,7vw,6.1rem);max-width:68.75rem;line-height:1.06}.hero h1 em{color:#c4bcf3}.hero-copy{max-width:35.9375rem;margin:auto;color:#d0d5e4;font-size:1.0625rem;line-height:1.7}.hero-actions{display:flex;justify-content:center;gap:0.8125rem;margin-top:2rem}.hero-note{margin-top:1rem;font-size:.8125rem;color:#adb7d1}
    .service-section{padding-top:3.5625rem}.solution-picker{display:grid;grid-template-columns:.85fr 1.3fr;gap:2.1875rem;align-items:start}.service-tabs{display:none;gap:0.5rem;flex-direction:column}.has-service-tabs .service-tabs{display:flex}.service-tab{display:grid;grid-template-columns:2.625rem 1fr 1.125rem;align-items:center;gap:0.9375rem;padding:1.125rem 1.25rem;min-height:5.9375rem;text-align:left;border:1px solid transparent;background:#0f172a66;border-radius:0.75rem;transition:background .25s,border-color .25s}.service-tab:hover{background:#202a43}.service-tab[aria-selected=true]{background:linear-gradient(110deg,#7f54b328,#24314a99);border-color:#a5b2eb60}.service-tab .service-icon{width:2.5rem;height:2.5rem;border:1px solid #a5b2eb25;border-radius:0.625rem;display:grid;place-items:center;color:var(--lavender);background:#a5b2eb08}.service-icon svg{width:1.3125rem;height:1.3125rem}.service-tab strong{display:block;font-size:1.0625rem;font-weight:450;line-height:1.5}.service-tab small{display:block;color:var(--quiet);font-size:.8125rem;margin-top:0.1875rem}.service-tab>.arrow{width:1rem;height:1rem;color:var(--quiet);transition:transform .25s}.service-tab[aria-selected=true]>.arrow{transform:translateX(0.1875rem);color:var(--lavender)}.service-panels{min-width:0}.solution-panel{padding:1.6875rem 1.9375rem 1.8125rem;border:1px solid #a5b2eb35;border-radius:1.0625rem;background:linear-gradient(130deg,#1d2843ed,#141e32f2);animation:panel-in .35s ease}.solution-panel+.solution-panel{margin-top:1.25rem}.has-service-tabs .solution-panel{margin-top:0;min-height:25.375rem}.solution-visual{padding:0.375rem 0 1.5rem;border-bottom:1px solid var(--line);margin-bottom:1.4375rem;overflow:hidden}.visual-caption{display:flex;justify-content:space-between;gap:0.75rem;font-size:.6875rem;letter-spacing:.1em;color:var(--quiet);text-transform:uppercase;margin-bottom:1.4375rem}.visual-caption span:last-child{color:var(--lavender)}.visual-flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.75rem;text-align:center}.flow-node{position:relative;min-width:0}.flow-node:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 1.875rem);top:1.625rem;height:1px;width:calc(100% - 3rem);background:linear-gradient(90deg,#a5b2eb30,#ac92e6ad,#a5b2eb30)}.flow-node>span{display:grid;place-items:center;width:3.375rem;height:3.375rem;border:1px solid #a5b2eb45;border-radius:0.9375rem;margin:0 auto 0.6875rem;background:#25304a;color:var(--lavender)}.flow-node>span svg{width:1.4375rem;height:1.4375rem}.flow-node:last-child>span{background:#5b21b63b;border-color:#b699ed80;color:#d2c4f9;box-shadow:0 0 2rem #7c3aed1f}.flow-node small{display:block;color:#c6cfe3;font-size:.8125rem;line-height:1.4}.solution-panel h3{font:400 2.125rem/1.15 var(--serif);margin-bottom:0.75rem}.solution-panel>p{font-size:.9375rem;max-width:31.875rem}.solution-bottom{display:flex;align-items:start;justify-content:space-between;gap:1.125rem;margin-top:1.1875rem}.solution-bottom .text-link{font-size:.875rem;white-space:nowrap}.service-detail{flex:1;font-size:.8125rem;color:var(--quiet)}.service-detail summary{cursor:pointer;list-style:none;padding:0.5625rem 0;display:inline-flex;align-items:center;gap:0.5625rem;color:#c1cbe4}.service-detail summary::after{content:"+";font-size:1rem;color:var(--lavender)}.service-detail[open] summary::after{content:"−"}.service-detail ul{margin:0.5rem 0 0;padding-left:1.0625rem;font-size:.875rem;color:var(--muted)}.service-detail li+li{margin-top:0.3125rem}.service-footnote{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding-top:1.3125rem;margin-top:1.5rem;border-top:1px solid var(--line)}.service-footnote p{font-size:.875rem}.service-footnote a{font-size:.8125rem;white-space:nowrap}.no-js-services{grid-column:1/-1}.has-service-tabs .no-js-services{grid-column:auto}
    .project-meta{margin-top:1.1875rem}.project-card>p{font-size:.875rem}.projects-section{padding-block:5rem}.project-card .service-tags{display:none}.process-section{padding-block:4.6875rem;background:#0b1221ab;border-block:1px solid var(--line)}.process-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5625rem;margin-top:2.4375rem}.process-step{position:relative;border:0}.process-step:not(:last-child)::before{content:"";position:absolute;left:3.5625rem;top:1.3125rem;width:calc(100% - 3.0625rem);height:1px;background:var(--line)}.process-step summary{cursor:pointer;list-style:none;position:relative;padding-bottom:0.9375rem}.process-step summary::-webkit-details-marker,.service-detail summary::-webkit-details-marker{display:none}.step-number{display:grid;place-items:center;width:2.6875rem;height:2.6875rem;border:1px solid #a5b2eb40;background:#162039;color:var(--lavender);border-radius:50%;font-size:.8125rem;margin-bottom:1.125rem;transition:background .2s,border-color .2s}.process-step summary:hover .step-number,.process-step[open] .step-number{background:#5b21b64d;border-color:var(--lavender)}.step-title{display:block;font-size:1.25rem;margin-bottom:0.375rem;letter-spacing:-.02em}.step-preview{display:block;font-size:.875rem;color:var(--quiet);padding-right:1.125rem}.step-plus{position:absolute;right:0.1875rem;bottom:0.875rem;color:var(--lavender);font-size:1.25rem;transition:transform .2s}.process-step[open] .step-plus{transform:rotate(45deg)}.process-step>p{border-top:1px solid var(--line);padding-top:0.9375rem;font-size:.875rem;animation:panel-in .25s}.process-note{margin-top:2rem;font-size:.8125rem;color:var(--quiet)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.faq-heading>p{margin-top:1.1875rem;font-size:.9375rem}.faq-heading a{color:var(--lavender)}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{position:relative;cursor:pointer;list-style:none;padding:1.375rem 1.9375rem 1.375rem 0;font-size:1rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:0.3125rem;top:1.25rem;color:var(--lavender);font-size:1.25rem}.faq-item[open] summary::after{content:"−"}.faq-item[open] summary,.faq-item summary:hover{color:var(--lavender)}.faq-item p{padding:0 1.4375rem 1.375rem 0;font-size:.9375rem;animation:panel-in .25s}.contact-section{padding-block:0 4.375rem}.contact-copy h2{font-size:clamp(2.9rem,4.8vw,4.1rem)}.contact-copy>p{max-width:19.375rem}.contact-person{margin-top:1.625rem;padding-top:1.375rem}.contact-email{margin-top:1.5625rem}.contact-note{margin-top:1.375rem}.contact-form .field{margin-bottom:0.9375rem}.contact-form .form-hint{font-size:.75rem}
    .reveal{transition:opacity .65s ease,transform .65s var(--ease)}.reveal.is-pending{opacity:0;transform:translateY(1rem)}.hero-enter{animation:panel-in .75s ease both}.hero-copy.hero-enter{animation-delay:.08s}.hero-actions.hero-enter{animation-delay:.16s}@keyframes panel-in{from{opacity:0;transform:translateY(0.5rem)}to{opacity:1;transform:translateY(0)}}
    /* Translucent section tints retain boundaries while the viewport-fixed aurora remains visible. */
    .service-section,.projects-section,.process-section,.faq-section,.contact-section{border-top:1px solid rgba(165,178,235,.17)}
    .service-section{padding-top:5.25rem;background:rgba(15,23,42,.36)}
    .projects-section{background:rgba(24,34,55,.48)}
    .process-section{background:rgba(10,17,31,.52);border-bottom:0}
    .faq-section{background:rgba(19,29,48,.40)}
    .contact-section{padding-top:4.75rem;background:rgba(12,20,36,.42)}
    @media(max-width:65.625rem){.container{width:calc(100% - 3.5rem)}.nav{gap:1.375rem}.section{padding-block:4.375rem}.solution-picker{gap:1.375rem;grid-template-columns:.85fr 1.15fr}.service-tab{padding:1.0625rem 0.875rem;gap:0.625rem}.service-tab strong{font-size:1rem}.service-tab small{font-size:.75rem}.solution-panel{padding:1.5rem}.solution-bottom{flex-wrap:wrap;gap:0.1875rem}.service-detail{flex-basis:100%}.process-route{gap:1.25rem}.faq-grid{gap:2.8125rem}.contact-box{padding:2.5rem}.contact-grid{gap:2.1875rem}.contact-copy h2{font-size:3.5rem}}
    @media(max-width:47.5rem){html{scroll-padding-top:5.9375rem}.container{width:calc(100% - 2.5rem)}.section{padding-block:3.625rem}.header-inner{height:4.625rem}.logo,.logo img{width:6.1875rem}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:4.625rem;left:0;right:0;padding:1.25rem;background:#0f172afc;border-bottom:1px solid var(--line);box-shadow:0 1.5625rem 2.5rem #0003;flex-direction:column;align-items:stretch;gap:0.3125rem}.nav.is-open{display:flex}.nav>a:not(.btn){font-size:1rem;padding:0.75rem}.nav>a:not(.btn)::after{display:none}.nav .btn{margin:0.5625rem 0 0;padding:0.875rem}.hero{min-height:calc(100svh - 4.625rem);padding:4.75rem 0 3.5rem}.hero h1{font-size:clamp(3.1rem,8.8vw,4.9rem);margin-top:1.75rem}.hero-copy{font-size:1rem;max-width:30.625rem}.hero-kicker{font-size:.6875rem}.section-heading{display:block;margin-bottom:1.6875rem}.section-heading>p{margin-top:1.0625rem;max-width:28.125rem}.solution-picker{grid-template-columns:1fr;gap:1.125rem}.has-service-tabs .service-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}.service-tab{grid-template-columns:2.0625rem 1fr;padding:0.875rem 0.75rem;min-height:5.25rem}.service-tab .service-icon{width:1.9375rem;height:2.125rem;border:0;background:transparent}.service-tab>.arrow{display:none}.has-service-tabs .solution-panel{min-height:0}.solution-panel{padding:1.5625rem}.solution-bottom{flex-wrap:nowrap;gap:1.125rem}.service-detail{flex-basis:auto}.service-footnote{align-items:start}.service-footnote p{max-width:18.75rem}.project-grid{gap:1.375rem}.project-meta{align-items:start;flex-direction:column;gap:0.1875rem}.project-card h3{font-size:1.25rem}.process-route{grid-template-columns:1fr 1fr;gap:2rem}.process-step:nth-child(2)::before{display:none}.faq-grid{grid-template-columns:1fr;gap:1.5625rem}.faq-heading h2 br{display:none}.faq-heading>p{margin-top:0.75rem}.contact-box{padding:2rem}.contact-grid{grid-template-columns:1fr;gap:1.875rem}.contact-copy h2{font-size:3.45rem}.contact-copy>p{max-width:28.125rem}.contact-note{max-width:28.125rem}.footer-links{gap:1.875rem}.footer-bottom{flex-wrap:wrap}.footer-legal{gap:1.125rem}.footer-bottom .back-top{margin-left:auto}}
    @media(max-width:30rem){h2{font-size:2.8rem}.hero{padding:3.875rem 0 2.875rem}.hero h1{font-size:3.3rem;line-height:1.04;letter-spacing:-.035em}.hero-copy{font-size:.9375rem}.hero-kicker{font-size:.625rem;gap:0.375rem;padding:0.375rem 0.625rem}.hero-actions{flex-direction:column;gap:0.625rem;margin-top:1.6875rem;padding-inline:0.75rem}.hero-actions .btn{width:100%;padding-block:0.875rem}.hero-note{font-size:.75rem}.service-section{padding-top:3.625rem}.service-tab{padding:0.75rem 0.5rem;grid-template-columns:1fr;gap:0.4375rem;min-height:7rem}.service-tab strong{font-size:.9375rem}.service-tab small{font-size:.6875rem}.service-tab .service-icon{width:1.625rem;height:1.625rem;justify-content:start}.solution-panel{padding:1.3125rem 1.1875rem}.solution-panel h3{font-size:1.9rem}.solution-panel>p{font-size:.9375rem}.visual-caption{font-size:.625rem;letter-spacing:.05em;margin-bottom:1.375rem}.visual-flow{gap:0.375rem}.flow-node>span{width:2.8125rem;height:2.8125rem;border-radius:0.75rem}.flow-node:not(:last-child)::after{top:1.375rem;left:calc(50% + 1.5625rem);width:calc(100% - 2.75rem)}.flow-node small{font-size:.6875rem}.solution-bottom{flex-wrap:wrap;gap:0.1875rem}.service-detail{flex-basis:100%}.solution-bottom .text-link{font-size:.8125rem}.service-footnote{flex-direction:column;gap:0.375rem}.project-grid{grid-template-columns:1fr;gap:2.0625rem}.project-meta{flex-direction:row;font-size:.6875rem}.project-card h3{font-size:1.3rem}.project-card>p{font-size:.8125rem}.process-route{gap:1.625rem 1.125rem}.step-title{font-size:1.125rem}.step-preview{font-size:.8125rem}.process-step>p{font-size:.8125rem}.process-note{font-size:.75rem}.faq-item summary{font-size:.9375rem}.faq-item p{font-size:.875rem}.contact-section{padding:3.375rem 0 2.375rem}.contact-box{padding:1.75rem 1.4375rem;border-radius:1.0625rem}.contact-copy h2{font-size:3.05rem}.contact-person{gap:1.0625rem}.portrait-image{width:5.5rem;height:6.875rem}.person-name{font-size:1rem}.form-row{grid-template-columns:1fr;gap:0}.field input,.field textarea{font-size:1rem}.contact-email>a{font-size:1.2rem}.footer-main{flex-direction:column;gap:1.75rem}.footer-links{justify-content:space-between;gap:1.375rem}.footer-bottom{gap:1.0625rem}.footer-bottom>span{width:100%}.footer-legal{font-size:.6875rem;gap:0.9375rem}.back-top{font-size:.6875rem}.eyebrow{font-size:.6875rem}}
    .hero-technologies{max-width:56.25rem;margin:4.3125rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(165,178,235,.19)}
    .tech-caption{font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--quiet);margin-bottom:1.5rem}
    .tech-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;list-style:none;margin:0;padding:0;text-align:left}
    .tech-list li{display:flex;justify-content:center;align-items:center;gap:0.8125rem;min-width:0}
    .tech-icon{width:1.8125rem;height:1.8125rem;flex-shrink:0;color:var(--lavender);opacity:.9}
    .tech-list strong{display:block;font-size:1.0625rem;font-weight:500;letter-spacing:-.025em;line-height:1.35;color:#dce2f3}
    .tech-list small{display:block;font-size:.75rem;color:var(--quiet);margin-top:0.3125rem;line-height:1.4}
    @media(max-width:47.5rem){.hero-technologies{margin-top:3.0625rem}.tech-list{gap:1rem}.tech-list li{gap:0.5625rem}.tech-icon{width:1.5rem;height:1.5rem}.tech-list strong{font-size:.875rem}.tech-list small{font-size:.6875rem}}
    @media(max-width:37.5rem){.tech-list{grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem;max-width:21.25rem;margin:auto}.tech-list li{justify-content:start}.hero-technologies{padding-top:1.3125rem}.tech-caption{margin-bottom:1.4375rem}.tech-list strong{font-size:1rem}}
    @media(max-width:22.5rem){.tech-list{gap:1.25rem 0.75rem}.tech-icon{width:1.3125rem;height:1.3125rem}.tech-list strong{font-size:.875rem}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}.project-card:hover .project-image img{transform:none}}
