:root{--navy:#071c3a;--navy-2:#0d2b53;--blue:#087af6;--cyan:#04d2e8;--text:#34435a;--muted:#6d7c90;--line:#e5ecf5;--paper:#f5f9ff;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:var(--header-height)}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased;font-size:var(--font-body);line-height:1.8}a{text-decoration:none;color:inherit}button{font:inherit}.container{width:min(var(--container-width),calc(100% - 2 * var(--page-gutter)));margin:0 auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:999;padding:12px;background:#fff}.site-header{background:var(--surface);border:0;box-shadow:none}.navigation{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-min-height);gap:25px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:block;width:var(--logo-width);height:var(--logo-height);object-fit:contain}.brand-mark{font-size:31px;letter-spacing:-9px;font-weight:900;line-height:1;color:#0040a0;margin-right:10px}.brand-mark span{color:#0bbde8}.brand-name{font-size:var(--font-brand);letter-spacing:.09em;font-weight:850;line-height:1.12}.brand-name b,.footer-brand b{color:var(--blue)}.brand-name small{display:block;font-size:9px;font-weight:500;letter-spacing:.32em;margin-top:5px}.nav-links{display:flex;align-items:center;gap:31px;font-size:var(--font-navigation);font-weight:650;line-height:1.4}.nav-links>a:not(.nav-cta):hover,.footer-links a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:white;padding:13px 20px;border-radius:7px}.menu-toggle{display:none}.hero{overflow:hidden;background:radial-gradient(ellipse at 82% 28%,#e8f7ff 0%,transparent 43%),linear-gradient(155deg,#fff 52%,#eef6ff 100%);position:relative}.hero:after{content:"";position:absolute;right:-12%;bottom:-160px;width:72%;height:330px;border:1px solid rgba(24,147,247,.16);border-radius:50%;transform:rotate(-14deg);pointer-events:none}.hero-layout{min-height:0;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--layout-gap);padding:var(--intro-top) 0 var(--intro-bottom)}.hero-content{position:relative;z-index:2}.eyebrow,.kicker{letter-spacing:.17em;font-size:11px;font-weight:800;color:var(--blue)}.signal{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%;margin-right:8px}.hero h1{margin:25px 0 24px}.hero h1 span,.section h2 span{background:linear-gradient(100deg,#057ef7,#02c9dd);color:transparent;background-clip:text}.hero p{max-width:570px;color:var(--text);font-size:var(--font-lead);line-height:1.85}.hero-actions{display:flex;gap:13px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:12px 21px;border-radius:7px;font-weight:700;font-size:var(--font-button);transition:transform .2s,background .2s;line-height:1.4;min-height:var(--button-height)}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:#fff}.button-secondary{border:1px solid #cad9ea;background:#fff;color:var(--navy)}.hero-visual{display:flex;align-items:center;justify-content:center}.hero-visual img{display:block;width:min(100%,460px);max-height:435px;object-fit:contain;mix-blend-mode:multiply}.hero-footer{padding:18px 0 27px;display:flex;align-items:center;gap:28px;color:#8c9cb1;font-size:10px;font-weight:800;letter-spacing:.24em}.hero-footer i{width:30px;height:1px;background:#d3dfed}.section{padding:var(--section-space) 0}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:75px}.section h2{font-size:var(--font-section-title);line-height:1.18;letter-spacing:-.047em;margin:17px 0 0}.intro p{color:var(--text);font-size:var(--font-body);line-height:1.95;margin:0 0 3px}.solutions{background:var(--paper)}.section-head{margin-bottom:38px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-card{min-height:455px;background:white;border:1px solid #e6eef8;border-radius:13px;padding:38px 40px;box-shadow:0 10px 45px rgba(20,75,120,.035)}.service-card.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.service-top{display:flex;justify-content:space-between;align-items:center}.service-index{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.19em}.dark .service-index{color:var(--cyan)}.service-icon{font-size:25px;color:var(--blue)}.dark .service-icon{color:var(--cyan)}.service-card h3{font-size:var(--font-card-title);margin:24px 0 8px;letter-spacing:-.055em}.service-card h4{font-size:17px;margin:0 0 19px}.service-card p{font-size:var(--font-body);line-height:1.85;color:#536278;max-width:440px}.dark p{color:#c8d6e8}.service-card ul{list-style:none;padding:15px 0 0;margin:0}.service-card li{font-size:13px;padding:9px 0;border-bottom:1px solid #ecf0f6}.dark li{border-color:#28405f}.service-card li:before{content:'↗';color:var(--blue);font-weight:800;margin-right:12px}.dark li:before{color:var(--cyan)}.process h2{margin-bottom:48px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.step{border-top:2px solid #e7edf7;padding-top:22px}.step>span{color:var(--blue);font-size:14px;font-weight:800}.step h3{font-size:var(--font-card-title);margin:26px 0 10px}.step p{font-size:var(--font-body);color:var(--text);line-height:1.8;max-width:300px}.contact-section{padding:var(--section-space) 0;background:linear-gradient(115deg,#071c3a 25%,#0c3872 100%);color:white}.contact-layout{display:flex;align-items:end;justify-content:space-between;gap:48px}.kicker-light{color:#57dcfa}.contact-section h2{font-size:var(--font-section-title);line-height:1.1;letter-spacing:-.05em;margin:18px 0}.contact-section h2 em{font-style:normal;color:#70d8ff}.contact-section p{max-width:600px;line-height:1.8;color:#bed1e9}.button-light{background:white;color:var(--navy);white-space:nowrap;margin-bottom:10px}.footer{background:#06162c;color:#c4d2e5;padding:34px 0 23px}.footer-layout{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font-weight:900;letter-spacing:.13em;color:#fff}.footer-brand span{display:block;font-size:9px;letter-spacing:.22em;margin-top:5px;font-weight:400}.footer-layout p,.footer-links,.legal-note{font-size:12px}.footer-links{display:flex;gap:25px}.legal-note{border-top:1px solid #233550;margin-top:25px;padding-top:17px;color:#8193ad}@media(max-width:850px){.menu-toggle{display:flex;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;border:0;background:transparent;cursor:pointer}.menu-toggle span{width:24px;height:2px;background:var(--navy);display:block}.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px 28px 28px;box-shadow:0 20px 35px #081c3420;flex-direction:column;align-items:stretch;font-size:var(--font-navigation);line-height:1.4}.nav-links.open{display:flex}.hero-layout{grid-template-columns:1fr;min-height:0;padding:var(--intro-top) 0 var(--intro-bottom)}.hero-visual img{max-height:290px}.intro-grid{grid-template-columns:1fr;gap:25px}.contact-layout{align-items:start;flex-direction:column}.section{padding:var(--section-space) 0}}@media(max-width:600px){.container{width:min(var(--container-width),calc(100% - 2 * var(--page-gutter)))}.hero p{font-size:var(--font-lead)}.eyebrow{font-size:9px;line-height:1.8}.hero-footer{gap:12px;letter-spacing:.1em;flex-wrap:wrap}.hero-footer i{width:12px}.service-grid,.steps{grid-template-columns:1fr}.service-card{padding:30px 26px;min-height:unset}.footer-layout{flex-direction:column;align-items:start}.section h2{font-size:var(--font-section-title)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none;font-size:var(--font-button);line-height:1.4;padding:12px 21px;min-height:var(--button-height)}}
/* Header search */
.header-search{position:relative;z-index:1205;width:min(340px,40%);margin-left:auto}
.search-field{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--navy);padding:9px 3px;color:var(--navy)}
.search-field svg{flex-shrink:0}
.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:var(--font-field);color:var(--navy)}
.search-field input::placeholder{color:#8996aa}
.search-field:focus-within{border-bottom:2px solid var(--blue)}
.search-results{position:absolute;top:calc(100% + 12px);right:0;z-index:1205;width:min(440px,calc(100vw - 32px));max-height:min(65vh,calc(100dvh - var(--header-height,90px) - 24px));overflow:auto;padding:8px;background:var(--surface);color:var(--heading);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 35px #081c3420}
.search-results[hidden]{display:none}
.search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px;border-radius:6px;color:var(--heading);text-decoration:none}
.search-result:hover,.search-result[aria-selected="true"]{background:var(--surface-raised);color:var(--link)}
.search-result-title{font-size:14px;font-weight:700;line-height:1.45}
.search-result-arrow{grid-column:2;grid-row:1;color:var(--link);font-size:18px;line-height:1}
.search-result-description,.search-result-page{grid-column:1/-1;min-width:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.search-result-description{color:var(--body-text)}
.search-result-page{color:var(--subtle-text);font-size:11px}
.search-empty{margin:8px 12px 4px;color:var(--body-text);font-size:13px;line-height:1.6}
.search-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){.navigation{flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}.header-search{order:3;width:100%;margin:0}.menu-toggle{margin-left:auto}.nav-links{top:100%;z-index:2}.search-results{width:min(440px,100%);max-height:min(65vh,calc(100dvh - var(--header-height,90px) - 16px))}.brand{flex-shrink:0}}
/* A continuous start area beneath the fixed header. */

.site-header{position:fixed;top:0;right:0;left:0;z-index:1300;background:var(--surface);border:0;box-shadow:none}
body{padding-top:var(--header-height)}
html{scroll-padding-top:var(--header-height)}
main[id],main [id]{scroll-margin-top:var(--anchor-gap)}
#start{scroll-margin-top:0}
.nav-links{top:100%}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
.language-picker{position:relative;flex-shrink:0}
.language-toggle{display:flex;align-items:center;gap:6px;height:44px;padding:0 7px;border:1px solid var(--language-control-border);border-radius:8px;background:var(--surface);color:var(--heading);font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.language-toggle:hover,.language-toggle[aria-expanded="true"]{background:var(--surface-raised)}
.language-toggle svg{flex:0 0 auto;color:currentColor}
.language-toggle:after{width:6px;height:6px;margin:-4px 1px 0 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;content:"";transform:rotate(45deg);transition:transform .16s,margin .16s}
.language-toggle[aria-expanded="true"]:after{margin:3px 1px 0 2px;transform:rotate(225deg)}
.language-options{position:absolute;top:calc(100% + 8px);right:0;z-index:1202;min-width:145px;padding:6px;background:var(--surface);color:var(--heading);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 35px #081c3420}
.language-options[hidden]{display:none}
.language-options button{display:block;width:100%;padding:12px;text-align:left;border:0;border-radius:5px;background:transparent;color:var(--heading);cursor:pointer}
.language-options button:hover,.language-options button:focus-visible,.language-options button[aria-pressed="true"]{background:var(--surface-raised);color:var(--accent-strong)}
.language-toggle:focus-visible,.language-options button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:600px){.navigation{column-gap:8px}.brand{gap:8px}.brand-name{font-size:var(--font-brand)}.language-toggle{padding:0 2px}}
.footer-links{flex-wrap:wrap}
.legal-page{line-height:1.8;padding-top:var(--intro-top)}
.legal-page h1{overflow-wrap:anywhere}
.legal-page p a{text-decoration:underline;text-underline-offset:3px}
.imprint-banner{display:block;width:100%;height:auto;margin:0 0 24px;border-radius:10px;max-width:640px}
.imprint-page h2{overflow-wrap:anywhere}
/* Personal introduction with native, keyboard-accessible disclosure panels. */
.about{background:#fff}
.about-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:64px;align-items:start}
.about-portrait{margin:0}
.about-portrait figcaption{padding:20px 4px;border-bottom:2px solid var(--cyan)}
.about-portrait figcaption strong{display:block;font-size:20px;letter-spacing:-.025em}
.about-portrait figcaption>span{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}
.about .about-content h2{font-size:var(--font-section-title);margin-top:15px;margin-bottom:25px}
.about-content p,.about-content li{font-size:var(--font-body);line-height:1.9;color:var(--text)}
.about-content strong{color:var(--navy);font-weight:700}
.about-intro p{margin:0 0 18px}
.about-details{margin-top:32px;border-top:1px solid var(--border)}
.about-details details{border-bottom:1px solid var(--border)}
.about-details summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;list-style:none}
.about-details summary::-webkit-details-marker{display:none}
.about-details summary:after{content:"+";color:var(--accent-strong);font-size:26px;font-weight:400;flex-shrink:0}
.about-details details[open]>summary:after{content:"−"}
.about-details summary h3{font-size:17px;line-height:1.5;margin:0;color:var(--heading)}
.about-details summary:hover h3{color:var(--link)}
.about-details summary:focus-visible{outline:2px solid var(--focus);outline-offset:5px;border-radius:4px}
.about-detail-body{padding:0 0 16px}
.about-detail-body{color:var(--body-text)}
.about-detail-body p:first-child{margin-top:0}
.about-detail-body ul{padding-left:21px}
.about-detail-body li{padding-left:3px;margin-bottom:12px}
.about-detail-body li::marker{color:var(--accent-strong)}
.about-content .about-note{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0 0}
@media(max-width:850px){.about-grid{grid-template-columns:1fr;gap:32px}.about-portrait{width:min(100%,340px)}}
@media(max-width:600px){.about-details summary{gap:16px}}

.portrait-photo{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}
/* Portrait carousel */
.portrait-slides{touch-action:pan-y}
.portrait-slides .portrait-photo{aspect-ratio:1088/896;object-fit:contain;background:#edf1f3}
.portrait-photo[hidden]{display:none}
.portrait-controls{display:flex;align-items:center;gap:4px;margin-top:14px;padding:5px 7px;background:#f3f6fa;border:1px solid #e8eef5;border-radius:14px}
.portrait-controls button{display:grid;place-items:center;flex-shrink:0;padding:0;border:0;background:transparent;color:#496079;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.portrait-controls .portrait-prev,.portrait-controls .portrait-next,.portrait-controls .portrait-pause{width:42px;height:42px;border-radius:10px}
.portrait-controls .portrait-pause{margin-right:4px;border-right:1px solid #dce5ef;border-radius:9px 0 0 9px}
.portrait-controls button:hover{background:#fff;color:var(--blue);box-shadow:0 2px 8px #071c3a08}
.portrait-controls button:active{background:#e4edf8}
.portrait-controls svg{display:block;pointer-events:none}
.portrait-pause .play-icon{display:none}
.portrait-pause.is-paused .play-icon{display:block}
.portrait-pause.is-paused .pause-icon{display:none}
.portrait-dots{display:flex;align-items:center;justify-content:center;flex:1;min-width:0}
.portrait-dots button{width:28px;height:42px;border-radius:8px}
.portrait-dots button:after{content:"";width:5px;height:5px;border-radius:6px;background:#aab8c9;transition:width .2s,background .2s}
.portrait-dots button[aria-current="true"]:after{width:18px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.portrait-carousel:focus-visible,.portrait-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:10px}
@media(prefers-reduced-motion:reduce){.portrait-controls button,.portrait-dots button:after{transition:none}}/* Contextual links alongside the portrait. */
.about-portrait{display:grid;grid-template-columns:minmax(0,1fr) 128px;column-gap:16px;align-items:center}
.about-portrait .portrait-carousel{min-width:0}
.about-portrait figcaption{grid-column:1/-1}
.portrait-topic{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 0 16px 14px;border-left:2px solid var(--cyan);font-size:13px;line-height:1.6;font-weight:650;color:var(--navy)}
.portrait-topic[hidden]{display:none}
.portrait-topic-number{font-size:11px;letter-spacing:.12em;color:var(--blue)}
.portrait-topic svg{color:var(--blue);transition:transform .2s}
.portrait-topic:hover{color:var(--blue)}
.portrait-topic:hover svg{transform:translate(2px,-2px)}
.portrait-topic:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.about-details details{scroll-margin-top:var(--anchor-gap)}
@media(min-width:851px){.about-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:40px}.portrait-controls{gap:0;padding:4px}.portrait-controls .portrait-prev,.portrait-controls .portrait-next,.portrait-controls .portrait-pause{width:34px}.portrait-dots button{width:22px}}
@media(max-width:850px){.about-portrait{width:min(100%,500px);grid-template-columns:minmax(0,1fr) 140px}}
@media(max-width:400px){.about-portrait{grid-template-columns:minmax(0,1fr) 104px;column-gap:10px}.portrait-topic{font-size:12px;padding-left:10px}.portrait-controls{gap:0;padding:2px}.portrait-controls .portrait-prev,.portrait-controls .portrait-next,.portrait-controls .portrait-pause{width:27px}.portrait-dots button{width:18px}}
@media(prefers-reduced-motion:reduce){.portrait-topic svg{transition:none}}

/* Keep portraits full width and place their topic directly underneath. */
.about-portrait{display:block;width:100%}
.portrait-topic-links{margin-top:20px}
.portrait-topic{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;background:var(--paper);border-left:3px solid var(--cyan);border-radius:0 10px 10px 0;font-size:14px}
.about-portrait figcaption{margin-top:4px}
@media(max-width:850px){.about-portrait{width:min(100%,500px)}}
.about-portrait figcaption{margin:0 0 20px;padding:0 4px 18px}

.about-portrait figcaption strong{font-size:clamp(28px,3vw,36px);line-height:1.2;letter-spacing:-.035em}

.portrait-topic-links{margin-top:14px}

.about-expanded{grid-column:1/-1;min-width:0}
.about-expanded .about-details{margin-top:0}
/* Open experience and education, followed by optional research cards. */
.about-expanded .about-details{border-top:0}
.about-open-section{padding:12px 0 30px;scroll-margin-top:var(--anchor-gap)}
.about-open-section+.about-open-section{padding-top:30px;border-top:1px solid var(--border)}
.about-open-section>h3{margin:0 0 20px;color:var(--heading);font-size:var(--font-card-title);line-height:1.4;letter-spacing:-.025em;max-width:36ch}
.about-open-section>h3:before{content:"";display:block;width:42px;height:3px;margin-bottom:15px;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:3px}
.about-open-section .about-detail-body{max-width:78ch;padding:0}
.about-expanded .about-detail-body p,.about-expanded .about-detail-body li{font-size:var(--font-body);line-height:1.85}
.about-research-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0 0;align-items:start}
.about-research-cards details{min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--accordion-surface);color:var(--heading);padding:0 24px}
.about-research-cards summary{min-height:110px;padding:24px 0}
.about-research-cards summary h3{font-size:19px}
.about-research-cards .about-detail-body{padding-bottom:16px}
.about-research-cards details[open]{background:var(--accordion-open-surface);border-color:var(--border)}
@media(max-width:700px){.about-research-cards{grid-template-columns:1fr;gap:14px}.about-research-cards details{padding:0 20px}.about-research-cards summary{min-height:90px}.about-open-section>h3{font-size:var(--font-card-title)}}

.portrait-topic-links{margin:0 0 16px}
/* Controls float over the photograph without a separate toolbar. */
.portrait-slides{position:relative}
.portrait-slides .portrait-controls{position:absolute;inset:0;margin:0;padding:0;border:0;border-radius:16px;background:transparent;pointer-events:none;display:block}
.portrait-slides .portrait-controls .portrait-prev,.portrait-slides .portrait-controls .portrait-next{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #ffffff45;border-radius:50%;background:rgba(7,28,58,.18);backdrop-filter:blur(8px);color:#fff;pointer-events:auto;box-shadow:0 2px 12px #071c3a12}
.portrait-slides .portrait-prev{left:12px}
.portrait-slides .portrait-next{right:12px}
.portrait-slides .portrait-controls .portrait-prev:hover,.portrait-slides .portrait-controls .portrait-next:hover{background:rgba(7,28,58,.45);color:#fff}
.portrait-slides .portrait-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:0 7px;border:1px solid #ffffff30;border-radius:24px;background:rgba(7,28,58,.18);backdrop-filter:blur(8px);pointer-events:auto}
.portrait-slides .portrait-dots button{width:28px;height:36px}
.portrait-slides .portrait-dots button:after{background:#ffffff8c}
.portrait-slides .portrait-dots button[aria-current="true"]:after{background:linear-gradient(90deg,#31a4ff,#04e2ed)}
.portrait-slides .portrait-dots button:hover{background:#ffffff18;box-shadow:none}
.portrait-slides .portrait-controls button:focus-visible{outline-color:#fff}
/* Visible experience and education cards. */
.about-experience-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin-bottom:24px}
.about-experience-cards .about-open-section{min-width:0;padding:30px;border:1px solid var(--border);border-radius:14px;background:var(--accordion-surface);color:var(--heading)}
.about-experience-cards .about-open-section+.about-open-section{padding:30px;border-top:1px solid var(--border)}
.about-experience-cards .about-open-section>h3{font-size:var(--font-card-title);margin-bottom:22px}
.about-experience-cards .about-detail-body p:last-child{margin-bottom:0}
@media(max-width:850px){.about-experience-cards{grid-template-columns:1fr;gap:18px}}
@media(max-width:600px){.about-experience-cards .about-open-section{padding:24px 20px}}
.about-experience-cards details.about-open-section{padding:0 26px}
.about-experience-cards details.about-open-section+details.about-open-section{padding:0 26px}
.about-experience-cards summary{min-height:110px;padding:24px 0}
.about-experience-cards summary h3{font-size:var(--font-card-title);line-height:1.4;letter-spacing:-.02em}
.about-experience-cards .about-detail-body{padding:0 0 26px}
.about-experience-cards details[open]{background:var(--accordion-open-surface);border-color:var(--border)}
@media(max-width:600px){.about-experience-cards details.about-open-section{padding:0 20px}.about-experience-cards summary{min-height:90px}}

.about-details .about-detail-body strong{color:var(--accent-strong)}

.about-details .degree-prefix{color:inherit;font-weight:400}
.service-build h3{font-size:var(--font-card-title);line-height:1.15;margin:30px 0 20px}
.service-build .service-index{line-height:1.8;font-size:10px;letter-spacing:.12em}
.service-offerings{margin:26px 0}
.service-offerings>div{padding:18px 0;border-top:1px solid var(--line)}
.service-offerings h4{font-size:16px;margin:0 0 7px;color:var(--navy)}
.service-offerings p{margin:0}
.service-build .service-result{padding:18px 20px;border-left:3px solid var(--cyan);background:var(--paper);margin:0 0 24px}
.service-result strong{color:var(--navy)}
.build-cta{width:100%;gap:16px;justify-content:space-between;line-height:1.5}
.service-build,.service-scale{display:flex;flex-direction:column}
.service-scale h3{font-size:var(--font-card-title);line-height:1.15;margin:30px 0 20px}
.service-scale .service-index{line-height:1.8;font-size:10px;letter-spacing:.12em}
.service-scale .service-offerings>div{border-color:#28405f}
.service-scale .service-offerings h4{color:#fff}
.service-scale .service-result{padding:18px 20px;border-left:3px solid var(--cyan);background:var(--paper);margin:0 0 24px}
.service-scale .service-result strong{color:var(--navy)}
.scale-cta{width:100%;gap:16px;justify-content:space-between;line-height:1.5;white-space:normal;margin-bottom:0}
.service-build>.build-cta,.service-scale>.scale-cta{margin-top:auto}

.service-scale .service-result{color:#536278}
.service-details{margin:12px 0 24px}
.service-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;font-weight:700;color:var(--blue);cursor:pointer;list-style:none}
.service-details summary::-webkit-details-marker{display:none}
.service-details .show-less{display:none}
.service-details[open] .show-more{display:none}
.service-details[open] .show-less{display:inline}
.service-details[open] summary svg{transform:rotate(180deg)}
.service-details summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
.service-details .service-offerings{margin:0}
.service-details .service-offerings>div:first-child{border-top:0}
.service-scale .service-details summary{color:var(--cyan);border-color:#28405f}

/* Section spacing is defined by the shared responsive tokens below. */
.contact-layout>div{min-width:0;flex:1}.contact-section .contact-assurance{color:#fff;margin-bottom:0}
.contact-section .contact-cta{flex-shrink:0;gap:24px;padding:12px 21px;border:1px solid #8debf5;border-radius:12px;background:linear-gradient(120deg,#a4f3fa,#fff);color:#071c3a;font-size:var(--font-button);font-weight:800;line-height:1.4;white-space:normal;box-shadow:0 8px 30px #00cde833;text-align:left;transition:transform .2s,box-shadow .2s;min-height:var(--button-height)}
.contact-cta>span:last-child{font-size:18px;font-weight:500;line-height:1}.contact-section .contact-cta:hover{transform:translateY(-3px);box-shadow:0 12px 36px #00cde855}.contact-section .contact-cta:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:600px){.contact-section .contact-cta{width:100%;justify-content:space-between;padding:12px 21px;font-size:var(--font-button);line-height:1.4;min-height:var(--button-height)}}
@media(prefers-reduced-motion:reduce){.contact-section .contact-cta{transition:none}.contact-section .contact-cta:hover{transform:none}}

.hero .hero-assurance{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}

/* Give the hero headline and contact action more visual weight. */
.hero-visual{padding-right:36px}
.hero-visual img{width:min(100%,380px);max-height:360px}
@media(max-width:850px){.hero-visual{padding-right:0}.hero-visual img{width:min(85%,340px);max-height:260px}}

.package-section{overflow:hidden}
.package-section .section-head>p{max-width:680px;color:var(--text);font-size:var(--font-body);line-height:1.8}
.package-phase+.package-phase{margin-top:54px}
.package-phase>h3{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 20px;font-size:25px;letter-spacing:-.035em}
.package-phase>h3 span{color:var(--muted);font-size:14px;font-weight:500;letter-spacing:0}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px}
.package-phase:first-of-type .package-grid{grid-template-columns:minmax(0,680px)}
.package-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 8px 26px rgba(20,75,120,.04)}
.package-card[open]{border-color:var(--focus);box-shadow:0 12px 32px rgba(20,75,120,.09)}
.package-card>summary{display:flex;min-height:290px;flex:1;flex-direction:column;align-items:flex-start;gap:13px;padding:24px;cursor:pointer;list-style:none}
.package-card>summary::-webkit-details-marker{display:none}
.package-card>summary:focus-visible{outline:3px solid var(--blue);outline-offset:-4px;border-radius:10px}
.package-phase-label{color:var(--accent-strong);font-size:10px;font-weight:800;letter-spacing:.15em}
.package-name{max-width:100%;font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.04em;overflow-wrap:anywhere}
.package-description,.package-outcome{color:var(--body-text);font-size:14px;line-height:1.65}
.package-outcome{margin-top:auto}
.package-outcome strong{color:var(--heading)}
.package-summary-action{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:3px;padding-top:13px;border-top:1px solid var(--border);color:var(--accent-strong);font-size:13px;font-weight:750}
.package-summary-action>span{transition:transform .2s ease}
.package-card[open] .package-summary-action>span{transform:rotate(180deg)}
.package-detail{padding:0 24px 24px;border-top:1px solid var(--border);animation:package-reveal .2s ease-out}
.package-detail h4{margin:19px 0 6px;font-size:13px}
.package-detail p{margin:0;color:var(--body-text);font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.package-detail .package-cta{width:100%;justify-content:space-between;margin-top:22px;gap:14px;white-space:normal}
.ai-empowerment-content{width:100%;max-width:900px}
.ai-empowerment-content>.ai-empowerment-title{display:table;margin:0 0 10px;background:linear-gradient(100deg,#057ef7,#02c9dd);color:transparent;background-clip:text;font-size:var(--font-section-title);line-height:1.12;letter-spacing:-.05em}
.ai-empowerment-intro{max-width:78ch;margin:0;color:var(--body-text);font-size:var(--font-lead);line-height:1.8}
.ai-empowerment-part{max-width:78ch;margin-top:28px}
.ai-empowerment-part h2{margin:0 0 8px;color:var(--heading);font-size:var(--font-detail-heading);line-height:1.4;letter-spacing:-.02em}
.ai-empowerment-part p{margin:0;color:var(--body-text);font-size:var(--font-body);line-height:1.8;overflow-wrap:anywhere}
.ai-empowerment-content>.package-cta{margin-top:30px}
@keyframes package-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.contact-form-section{padding:var(--section-space) 0;background:#fff}
.contact-form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:48px}
.contact-form-intro,.contact-form{min-width:0}
.contact-form-intro h2{margin:16px 0;font-size:var(--font-section-title);line-height:1.16;letter-spacing:-.045em;overflow-wrap:anywhere}
.contact-form-intro>p{color:var(--text);font-size:var(--font-body);line-height:1.8}
.contact-form{padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 42px rgba(20,75,120,.07)}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{display:flex;min-width:0;flex-direction:column;gap:7px}
.form-field-wide{grid-column:1/-1}
.form-field label{font-size:13px;font-weight:700;color:var(--navy)}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;min-height:var(--field-height);padding:11px 12px;border:1px solid #cbd7e5;border-radius:7px;background:#fff;color:var(--navy);font:inherit;font-size:var(--font-field)}
.form-field textarea{min-height:132px;resize:vertical;line-height:1.6}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid #1685ee;outline-offset:2px}
.optional-label{color:var(--muted);font-weight:400}
.privacy-hint,.form-endpoint-notice{color:var(--muted);font-size:12px;line-height:1.7}
.privacy-hint{margin:18px 0}
.privacy-hint a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.privacy-hint a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.contact-submit{min-width:210px;border:0;cursor:pointer}
.contact-submit:disabled{opacity:.68;cursor:wait;transform:none}
.contact-submit:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.form-status{min-height:1.5em;margin:12px 0 0;color:var(--navy);font-size:13px;line-height:1.6}
.form-endpoint-notice{margin:8px 0 0}
@media(max-width:900px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.package-phase+.package-phase{margin-top:40px}.package-phase>h3{font-size:22px}.package-phase>h3 span{font-size:13px}.package-grid,.package-phase:first-of-type .package-grid{grid-template-columns:minmax(0,1fr)}.package-card>summary{min-height:0;padding:22px}.package-outcome{margin-top:0}.package-detail{padding:0 22px 22px}.ai-empowerment-part{margin-top:22px}.ai-empowerment-part h2{font-size:var(--font-detail-heading)}.contact-form-section{padding:var(--section-space) 0}.contact-form{padding:20px 17px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-field-wide{grid-column:auto}.contact-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.package-summary-action>span{transition:none}.package-detail{animation:none}}

.phase-overview{overflow:hidden;background:var(--paper)}
.phase-overview .section-head>p{max-width:680px;color:var(--text);font-size:var(--font-body);line-height:1.8}
.phase-carousel{width:min(100%,1120px);min-width:0;margin:0 auto;outline:none}
.phase-carousel:focus-visible{outline:2px solid var(--blue);outline-offset:6px;border-radius:12px}
.phase-selector{display:flex;justify-content:center;gap:clamp(12px,4vw,48px);margin:0 auto 18px}
.phase-selector-tab{position:relative;min-height:48px;padding:8px 5px;border:0;background:transparent;color:#53647a;font-size:16px;font-weight:600;cursor:pointer}
.phase-selector-tab:after{position:absolute;right:5px;bottom:2px;left:5px;height:3px;border-radius:3px;background:transparent;content:"";transition:background .2s}
.phase-selector-tab[aria-selected="true"]{color:var(--navy);font-weight:800}
.phase-selector-tab[aria-selected="true"]:after{background:var(--blue)}
.phase-selector-tab[data-phase-slide="0"][aria-selected="true"]:after{background:#2376bc}
.phase-selector-tab[data-phase-slide="2"][aria-selected="true"]:after{background:#008698}
.phase-selector-tab:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
.phase-carousel-frame{position:relative;min-width:0;overflow:hidden;border:1px solid #36517033;border-radius:16px;box-shadow:0 14px 34px #071c3a17}
/* One grid row shares the tallest slide's intrinsic height, including translations. */
.phase-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:100%;align-items:stretch;width:100%;min-width:0;touch-action:pan-y pinch-zoom;transition:transform 500ms cubic-bezier(.4,0,.2,1);will-change:transform}
.phase-track.is-resetting{transition:none}
.phase-track.is-moving{pointer-events:none}
.phase-slide{position:relative;display:flex;width:100%;min-width:0;min-height:420px;flex-direction:column;align-items:flex-start;padding:36px 84px;color:var(--phase-heading);overflow-wrap:anywhere;isolation:isolate}
.phase-slide>:not(.phase-art){position:relative;z-index:1;max-width:calc(100% - 180px)}
.phase-slide:before{position:absolute;top:0;left:32px;width:68px;height:3px;border-radius:0 0 3px 3px;background:var(--phase-accent);content:""}
.phase-slide-zero{--phase-heading:#071c3a;--phase-text:#294768;--phase-link:#0754a5;--phase-accent:#0756a6;background:linear-gradient(125deg,#f1fbff,#d9efff)}
.phase-slide-one{--phase-heading:#fff;--phase-text:#ecf6ff;--phase-link:#fff;--phase-accent:#d5f5ff;background:linear-gradient(120deg,#0649ad,#0867cf 65%,#06489f)}
.phase-slide-two{--phase-heading:#fff;--phase-text:#d6e7f8;--phase-link:#fff;--phase-accent:#2fe4ed;background:radial-gradient(ellipse at 100% 70%,#087b8330,transparent 60%),linear-gradient(125deg,#0d2b53,#061a34 65%,#082b43)}
.phase-art{position:absolute;top:40px;right:64px;width:180px;height:260px;color:var(--phase-accent);opacity:.38;pointer-events:none}
.phase-slide-zero .phase-art{color:#3098de;opacity:.5}
.phase-slide-one .phase-art{opacity:.28}
.phase-slide-two .phase-art{opacity:.65}
.phase-slide .package-phase-label{color:var(--phase-accent);font-size:17px;font-weight:850;letter-spacing:.13em}
.phase-carousel .phase-slide h3{margin:14px 0 10px;color:var(--phase-heading);font-size:var(--font-section-title);line-height:1.15;letter-spacing:-.04em}
.phase-carousel .phase-slide>p{margin:0;color:var(--phase-text);font-size:17px;line-height:1.7}
.phase-package-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin:16px 0 18px}
.phase-package-links a{display:inline-flex;min-height:44px;max-width:100%;align-items:center;gap:8px;color:var(--phase-link);font-size:16px;font-weight:700;line-height:1.45;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-thickness .18s}
.phase-package-links a span{color:var(--phase-accent)}
.phase-package-links a:hover{color:var(--phase-link);text-decoration-thickness:3px}
.phase-carousel .phase-slide a:focus-visible{outline:3px solid var(--phase-accent);outline-offset:4px;border-radius:2px}
.phase-slide-cta{min-height:var(--button-height);gap:18px;margin-top:auto;padding:12px 21px;border:1px solid #a4f3fa;background:linear-gradient(120deg,#a4f3fa,#fff);color:#071c3a;font-size:var(--font-button)}
.phase-slide-cta:hover{background:#dffaff}
.phase-carousel-arrow{position:absolute;top:50%;z-index:2;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:1px solid #8ab5d8;border-radius:50%;background:#071c3a;color:#fff;line-height:1;cursor:pointer;box-shadow:0 2px 12px #071c3a12;transition:background .18s}
.phase-carousel-arrow:hover,.phase-carousel-arrow:active{border-color:#8ab5d8;background:#174b75;color:#fff}
.phase-carousel .phase-carousel-arrow:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #0756a6}
.phase-carousel-arrow svg{display:block;pointer-events:none}
.phase-carousel-arrow[data-phase-prev]{left:16px}
.phase-carousel-arrow[data-phase-next]{right:16px}
.phase-carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-contact-cta{margin-top:0}
 .service-page-hero{position:relative;overflow:hidden;padding:var(--intro-top) 0 var(--intro-bottom);background:radial-gradient(ellipse at 85% 20%,#e0f6ff 0%,transparent 42%),linear-gradient(145deg,#fff 42%,#edf5ff 100%)}
.service-page-hero:after{position:absolute;right:-16%;bottom:-200px;width:62%;height:330px;border:1px solid #1893f726;border-radius:50%;content:"";transform:rotate(-14deg);pointer-events:none}
.service-page-hero .container{position:relative;z-index:1}
.service-page-hero h1{max-width:900px;margin:20px 0;overflow-wrap:anywhere}
.service-page-hero h1 span{background:linear-gradient(100deg,#057ef7,#02c9dd);color:transparent;background-clip:text}
.service-page-hero .container>p{max-width:700px;margin:0 0 26px;color:var(--text);font-size:var(--font-lead);line-height:1.8}
 .phase-zero-hero{padding-top:var(--intro-top);padding-bottom:var(--intro-bottom);background:radial-gradient(ellipse at 85% 20%,#e4faff 0%,transparent 42%),linear-gradient(145deg,#fff 42%,#eefaff 100%)}
.phase-zero-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.phase-zero-actions>.button{flex:0 1 auto}
.phase-zero-actions .phino-intro-slot{padding:0}
#phase-zero-leistungen{padding-top:20px}
.phase-two-hero{background:radial-gradient(ellipse at 85% 20%,#e2f8f8 0%,transparent 42%),linear-gradient(145deg,#fff 42%,#effbfc 100%)}
.contact-page-hero{padding:var(--intro-top) 0 var(--intro-bottom);background:radial-gradient(ellipse at 85% 20%,#e8f7ff 0%,transparent 42%),linear-gradient(145deg,#fff 42%,#f2f7ff 100%)}
.contact-page-hero .container>p{margin-bottom:0}
.contact-options-section{padding:var(--section-space) 0;background:var(--paper)}
.contact-options-section h2{margin:0 0 26px;font-size:var(--font-section-title);letter-spacing:-.04em}
.contact-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}
.contact-option-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid #dfe9f5;border-radius:12px;background:#fff;box-shadow:0 8px 26px #144b7808}
.contact-option-card h3{margin:13px 0 8px;font-size:var(--font-card-title);letter-spacing:-.035em}
.contact-option-card>p{color:var(--text);font-size:var(--font-body);line-height:1.8}
.contact-option-card .button{margin-top:auto}
.contact-page-hero h1{max-width:850px;overflow-wrap:anywhere}
.contact-option-card{min-width:0}
.contact-form-intro h2:focus{outline:none}
.contact-form-intro h2:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:3px}
.skip-link:focus{z-index:1400}
.footer-links{flex-wrap:wrap}
@media(max-width:800px){.contact-options-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.phase-slide>:not(.phase-art){max-width:100%}.phase-slide>.package-phase-label{max-width:calc(100% - 48px)}.phase-art{top:18px;right:22px;width:40px;height:40px}}
@media(max-width:700px){.phase-selector{gap:clamp(8px,4vw,22px);margin-bottom:14px}.phase-selector-tab{font-size:15px}.phase-slide{padding:24px 22px 84px}.phase-carousel .phase-slide h3{font-size:var(--font-section-title)}.phase-carousel .phase-slide>p{font-size:16px}.phase-package-links{width:100%;flex-direction:column;align-items:stretch;gap:3px;margin:14px 0 16px}.phase-package-links a{min-height:44px}.phase-slide-cta{min-height:var(--button-height);font-size:var(--font-button);padding:12px 21px}.phase-carousel-arrow{top:auto;bottom:16px;width:42px;height:42px;transform:none}.phase-carousel-arrow[data-phase-prev]{left:16px}.phase-carousel-arrow[data-phase-next]{right:16px}.phase-overview .section-head{margin-bottom:28px}.phase-overview .section-head h2{font-size:var(--font-section-title)}.hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}.hero-actions>.button{width:100%;justify-content:space-between}}
@media(max-width:380px){.phase-slide{padding:22px 18px 82px}.phase-package-links a{font-size:16px}.phase-selector{gap:8px}.phase-selector-tab{font-size:14px}}
@media(prefers-reduced-motion:reduce){.phase-selector-tab:after,.phase-track,.phase-slide,.phase-package-links a,.phase-carousel-arrow{transition:none}}
@media(max-width:600px){.navigation{align-items:center;gap:8px}.brand{}.language-picker{}.menu-toggle{margin:0}.header-search{width:100%;margin:0;order:initial}}
@media(max-width:850px){.navigation{gap:12px}.header-search{width:min(260px,32vw)}}
@media(max-width:600px){.phase-zero-hero{padding-top:var(--intro-top);padding-bottom:var(--intro-bottom)}.phase-zero-actions{gap:4px;flex-wrap:wrap}.phase-zero-actions .phino-intro-slot{justify-content:flex-start}.phase-zero-actions .phino-intro-figure{width:56px;height:62px}.phase-zero-actions .phino-intro-label{padding:8px 9px;font-size:11px}#phase-zero-leistungen{padding-top:12px}.ai-empowerment-content>.ai-empowerment-title{font-size:var(--font-section-title)}}
@media(max-width:380px){.phase-zero-actions .phino-intro-figure{width:48px;height:54px}.phase-zero-actions .phino-intro-label{padding:7px 8px;font-size:10px}}
@media(min-width:851px){.hero-layout>.phino-intro-slot{grid-column:1/-1}}
@media(max-width:850px){.hero-layout>.phino-intro-slot{grid-row:2}.hero-layout>.hero-visual{grid-row:3}}

/* Shared header controls and navigation */
:root{--page-bg:#fff;--surface:#fff;--surface-raised:#f5f9ff;--surface-soft:#edf4fc;--heading:#071c3a;--body-text:#34435a;--subtle-text:#64748b;--border:#dce6f1;--line:#e5ecf5;--link:#087af6;--accent-strong:#0065d2;--field-bg:#fff;--field-border:#cbd8e8;--focus:#087af6;--language-control-border:transparent;--accordion-surface:var(--paper);--accordion-open-surface:#fff}
html[data-theme="dark"]{color-scheme:dark;--page-bg:#061426;--surface:#0b1f38;--surface-raised:#102845;--surface-soft:#142f50;--heading:#eff6ff;--body-text:#d4dfef;--subtle-text:#aabbd1;--border:#29415f;--line:var(--border);--link:#64b7ff;--accent-strong:#64b7ff;--field-bg:#0d2440;--field-border:#3a5676;--focus:#76cfff;--language-control-border:var(--border);--accordion-surface:var(--surface-raised);--accordion-open-surface:var(--surface-soft)}
html[data-theme="light"]{color-scheme:light}
body{color:var(--heading);background:var(--page-bg);font-size:var(--font-body);line-height:1.8}
.navigation{position:relative;min-height:var(--header-min-height);gap:clamp(8px,1vw,16px)}
.navigation>.brand{order:0;flex:0 0 auto}
.navigation>.nav-links{order:1;display:flex;position:static;width:auto;gap:clamp(10px,1.25vw,20px);margin:0 auto 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;flex-direction:row;align-items:center}
.navigation>.search-toggle{order:2}
.navigation>.header-search{order:2;width:clamp(150px,18vw,235px);margin:0;flex:0 1 235px}
.header-tools{order:3;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.navigation>.theme-toggle{order:4}
.navigation>.language-picker{order:5}
.navigation>.menu-toggle{order:6}
.search-toggle,.theme-toggle{display:inline-flex;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--heading);cursor:pointer}
.search-toggle{display:none}
.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="light"] .theme-icon-sun,html[data-theme="dark"] .theme-icon-moon{display:none}
.menu-toggle{display:none}
.menu-toggle .menu-label{font-size:14px;font-weight:650}
.menu-toggle .menu-label{width:auto;height:auto;background:transparent;color:inherit;display:inline}
.menu-icon{display:inline-flex;flex-direction:column;gap:4px}
.menu-toggle .menu-icon{width:auto;height:auto;background:transparent}
.menu-icon i{display:block;width:17px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s,opacity .18s}
.menu-toggle[aria-expanded="true"] .menu-label{transform:none;opacity:1}
.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
.nav-dropdown{position:relative}
.nav-trigger,.nav-link{display:inline-flex;min-height:44px;align-items:center;gap:9px;padding:8px 4px;border:0;background:transparent;color:var(--heading);font-size:var(--font-navigation);font-weight:650;white-space:nowrap;cursor:pointer;line-height:1.4}
.nav-trigger:hover,.nav-link:hover{color:var(--link)}
.nav-links>.nav-link{padding:8px 4px}
.nav-links>a.nav-link:hover{background:transparent;color:var(--link)}
.nav-trigger-icon{display:inline-flex;flex-direction:column;gap:3px}
.nav-trigger-icon i{display:block;width:13px;height:1.5px;background:currentColor}
.dropdown-panel{position:absolute;top:calc(100% + 9px);left:0;z-index:1200;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--heading);box-shadow:0 16px 40px #06142624}
.dropdown-panel[hidden]{display:none}
.offer-menu{display:grid;width:min(690px,calc(100vw - 32px));grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dropdown-panel section{min-width:0}
.dropdown-panel section+section{padding-left:16px;border-left:1px solid var(--border)}
.dropdown-panel h2{margin:0 0 10px;font-size:13px;line-height:1.45}
.dropdown-panel a{display:block;padding:7px 0;color:var(--body-text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.dropdown-panel a:hover,.dropdown-panel a[aria-current="page"]{color:var(--link)}
.contact-menu{right:0;left:auto;width:min(270px,calc(100vw - 32px))}
.dropdown-label{display:block;margin-top:8px;padding-top:10px;border-top:1px solid var(--border);color:var(--subtle-text);font-size:11px;font-weight:700}
.navigation :focus-visible,.dropdown-panel :focus-visible,.search-toggle:focus-visible,.theme-toggle:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
html[data-theme="dark"] body[data-page="home"] .site-header{background:#061426}
.language-options,.search-results{background:var(--surface);border-color:var(--border);color:var(--heading)}
.language-options button{background:var(--surface);color:var(--heading)}
.header-search input{background:var(--field-bg);color:var(--heading)}
@media(max-width:1200px){
  .navigation>.header-search{display:none}
  .search-toggle{display:inline-flex}
  .navigation>.nav-links{gap:clamp(8px,1vw,14px)}
}
@media(max-width:850px){
  .navigation{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;padding:10px 0}
  .navigation>.nav-links{display:none;position:fixed;top:var(--header-height);left:0;right:0;width:auto;max-height:calc(100dvh - var(--header-height));overflow-y:auto;transform:none;padding:16px max(18px,calc((100vw - 720px)/2));border-top:1px solid var(--border);background:var(--surface);box-shadow:0 18px 30px #06142624;flex-direction:column;align-items:stretch;gap:5px}
  .navigation>.nav-links.open{display:flex}
  .nav-dropdown,.nav-link{width:100%}
  .nav-trigger,.nav-link{width:100%;min-height:46px;justify-content:space-between;padding:8px 6px;text-align:left;font-size:var(--font-navigation);line-height:1.4}
  .dropdown-panel,.contact-menu{position:static;width:100%;padding:5px 12px 12px;border:0;border-left:2px solid var(--link);border-radius:0;background:var(--surface-raised);box-shadow:none}
  .offer-menu{display:block}
  .dropdown-panel section+section{margin-top:8px;padding:10px 0 0;border-top:1px solid var(--border);border-left:0}
  .contact-menu{padding-left:16px}
  .menu-toggle{display:inline-flex;width:auto;min-width:67px;height:44px;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--heading);cursor:pointer}
  .navigation>.header-search{display:none;position:absolute;top:calc(100% + 7px);left:0;right:0;width:auto;max-width:none;margin:0;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 14px 30px #06142624;z-index:1201}
  .navigation>.header-search.search-open{display:block}
  .navigation>.search-toggle{order:2}
  .header-tools{gap:6px}
  .navigation>.theme-toggle{order:4}
  .navigation>.language-picker{order:5}
  .navigation>.menu-toggle{order:6}
}
@media(max-width:460px){
  .brand-name{display:none}
  .brand-logo{width:var(--logo-width);height:var(--logo-height)}
  .navigation{gap:5px}
  .header-tools{gap:4px}
  .search-toggle,.theme-toggle,.language-toggle{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px;padding:2px}
  .menu-toggle{min-width:65px;height:44px;padding:0 7px}
  .navigation>.nav-links{padding-left:12px;padding-right:12px}
}

/* Semantic surfaces for the dark theme */
html[data-theme="dark"] body,
html[data-theme="dark"] main{background-color:var(--page-bg);color:var(--heading)}
html[data-theme="dark"] .hero{background:radial-gradient(ellipse at 82% 28%,#123b5a 0%,transparent 43%),linear-gradient(155deg,#061426 52%,#0b2038 100%)}
html[data-theme="dark"] .service-page-hero,html[data-theme="dark"] .contact-page-hero{background:radial-gradient(ellipse at 85% 20%,#123b5a 0%,transparent 42%),linear-gradient(145deg,#061426 42%,#0b2038 100%)}
html[data-theme="dark"] .service-page-hero .container>p{color:var(--body-text)}
html[data-theme="dark"] .contact-options-section{background:#091a2e;color:var(--heading)}
html[data-theme="dark"] .hero-visual{padding:12px;border:1px solid var(--border);border-radius:16px;background:#fff}
html[data-theme="dark"] .hero-visual img{mix-blend-mode:normal}
html[data-theme="dark"] .intro,html[data-theme="dark"] .section:not(.contact-section):not(.hero),html[data-theme="dark"] .contact-form-section{background:var(--page-bg);color:var(--heading)}
html[data-theme="dark"] .solutions,html[data-theme="dark"] .phase-overview,html[data-theme="dark"] .about-section{background:#091a2e}
html[data-theme="dark"] .section h2,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4{color:var(--heading)}
html[data-theme="dark"] .kicker,html[data-theme="dark"] .eyebrow{color:#72c6ff}
html[data-theme="dark"] p,html[data-theme="dark"] li,html[data-theme="dark"] .intro p,html[data-theme="dark"] .step p,html[data-theme="dark"] .service-card p{color:var(--body-text)}
html[data-theme="dark"] .service-card:not(.dark),html[data-theme="dark"] .package-card,html[data-theme="dark"] .contact-form,html[data-theme="dark"] .contact-option-card,html[data-theme="dark"] .portrait-card,html[data-theme="dark"] .dropdown-panel{background:var(--surface);color:var(--heading);border-color:var(--border)}
html[data-theme="dark"] .service-card.dark{background:linear-gradient(145deg,#102b49,#0b2038);color:var(--heading);border-color:#315476}
html[data-theme="dark"] .phase-selector-tab{color:#c6d5e8}
html[data-theme="dark"] .phase-selector-tab[aria-selected="true"]{color:#fff}
html[data-theme="dark"] .phase-selector-tab[data-phase-slide="0"][aria-selected="true"]:after{background:#70c8ff}
html[data-theme="dark"] .phase-selector-tab[data-phase-slide="2"][aria-selected="true"]:after{background:#2fe4ed}
html[data-theme="dark"] .step,html[data-theme="dark"] .service-card li,html[data-theme="dark"] .service-offerings>div{border-color:var(--border)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:var(--field-bg);color:var(--heading);border-color:var(--field-border)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#aabbd1}
html[data-theme="dark"] .form-field label{color:var(--heading)}
html[data-theme="dark"] .form-status[role="status"],html[data-theme="dark"] .privacy-hint,html[data-theme="dark"] .form-endpoint-notice{color:var(--subtle-text)}
html[data-theme="dark"] .search-field{background:var(--field-bg);border-color:var(--field-border);color:var(--heading)}
html[data-theme="dark"] .search-field:focus-within{border-color:var(--focus)}
html[data-theme="dark"] :focus-visible{outline-color:var(--focus)}
html[data-theme="dark"] .button-secondary{background:var(--surface);color:var(--heading);border-color:var(--border)}
html[data-theme="dark"] .button-primary{background:#0065d2;color:#fff}
html[data-theme="dark"] .contact-section{background:linear-gradient(115deg,#071c3a 25%,#0b315a 100%)}
html[data-theme="dark"] .footer{background:#030d19;color:#d4dfef}
html[data-theme="dark"] .footer-links a:hover,html[data-theme="dark"] .footer-links a:focus-visible{color:var(--link)}
html[data-theme="dark"] .search-results a:hover,html[data-theme="dark"] .search-results a:focus-visible{background:var(--surface-raised);color:var(--link)}
html[data-theme="dark"] .legal-content,html[data-theme="dark"] .legal-page,html[data-theme="dark"] .legal-section{background:var(--page-bg);color:var(--body-text)}
html[data-theme="dark"] .legal-content a,html[data-theme="dark"] .legal-page a{color:var(--link)}
@media(prefers-reduced-motion:reduce){.menu-icon i{transition:none}}

/* One native-scale layout for every page. Compact geometry, readable text/controls. */
:root{
  --container-width:900px;--page-gutter:24px;
  --header-min-height:64px;--header-height:64px;--anchor-gap:12px;
  --logo-width:38px;--logo-height:44px;--font-brand:16px;--font-navigation:13px;
  --font-body:16px;--font-lead:16px;--font-page-title:44px;
  --font-section-title:30px;--font-card-title:22px;--font-detail-heading:18px;
  --font-button:14px;--font-field:16px;--font-legal-heading:var(--font-section-title);
  --button-height:44px;--field-height:46px;
  --section-space:36px;--intro-top:28px;--intro-bottom:16px;
  --layout-gap:24px;--panel-padding:28px;
}
html{font-size:100%;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
body{min-width:0}
main h1{font-size:var(--font-page-title);line-height:1.08;letter-spacing:-.06em;font-weight:850;overflow-wrap:anywhere;hyphens:auto}
.legal-page h2{font-size:var(--font-legal-heading);line-height:1.4;letter-spacing:-.02em;margin:36px 0 12px}
.legal-page>p,.legal-page>address,.legal-page>.privacy-draft-note{max-width:74ch}
.container>*{min-width:0}
.navigation{width:min(var(--container-width),calc(100% - 2 * var(--page-gutter)));min-height:var(--header-min-height)}
.header-tools{line-height:1.4}
.header-search{line-height:1.4}
.form-field input,.form-field select,.form-field textarea{font-size:var(--font-field);line-height:1.4;padding:10px 12px;min-height:var(--field-height)}
/* Shared content geometry; component files consume the same spacing tokens. */
.hero-layout{min-height:0;gap:var(--layout-gap);padding:var(--intro-top) 0 var(--intro-bottom)}
.hero h1{margin:16px 0}
.hero-actions{margin-top:20px;gap:10px}
.hero-visual{padding-right:0}
.hero-visual img{width:min(100%,230px);max-height:220px}
.hero-layout>.phino-intro-slot{padding-bottom:0}
.hero-layout .phino-intro-figure{width:88px;height:96px}
.service-page-hero .phino-intro-figure{width:88px;height:96px}
.intro-grid,.about-grid,.contact-form-layout{gap:var(--layout-gap)}
.contact-layout{gap:var(--layout-gap)}
.section-head{margin-bottom:24px}
.contact-option-card,.contact-form{padding:var(--panel-padding)}
.phase-slide{min-height:340px;padding:24px 64px}
.phase-slide>:not(.phase-art){max-width:calc(100% - 120px)}
.phase-art{top:30px;right:52px;width:120px;height:190px}
.phase-slide .package-phase-label{font-size:13px}
.phase-carousel .phase-slide>p{font-size:var(--font-body)}
.phase-package-links{gap:4px 18px;margin:12px 0 16px}
.phase-package-links a{font-size:var(--font-body)}
.phase-carousel-arrow{width:44px;height:44px}
.button{white-space:normal}
@media(min-width:851px){
  .hero-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:auto auto;row-gap:8px}
  .hero-content{grid-column:1;grid-row:1/3}
  .hero-visual{grid-column:2;grid-row:1;align-self:end}
  .hero-layout>.phino-intro-slot{grid-column:2;grid-row:2;align-self:start;justify-content:center}
}
@media(max-width:1023px){
  :root{--font-page-title:40px;--section-space:40px}
}
@media(max-width:850px){
  .navigation{padding:10px 0}
}
@media(max-width:900px){
  .phase-slide>:not(.phase-art){max-width:100%}
  .phase-slide>.package-phase-label{max-width:calc(100% - 48px)}
  .phase-art{top:18px;right:22px;width:40px;height:40px}
}
@media(max-width:700px){
  .phase-slide{padding:24px 22px 84px}
}
@media(max-width:600px){
  :root{--page-gutter:18px;--font-page-title:36px;--font-section-title:28px;--section-space:40px;--intro-top:28px;--intro-bottom:16px;--panel-padding:20px}
  .hero-visual img{width:min(80%,230px);max-height:220px}
  .language-toggle{width:auto;min-width:64px;flex-basis:auto;padding:0 4px;gap:4px}
}
