:root { --ink:#0a2345; --ink-soft:#28425f; --blue:#2d74da; --blue-dark:#1654ad; --blue-pale:#e9f0f9; --surface:#f7f9fb; --surface-2:#eef2f6; --white:#fcfdff; --line:#cad4df; --muted:#617186; --font:"Aptos","Segoe UI Variable","Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--surface); font-family:var(--font); }
a { color:inherit; text-decoration:none; }
.page-shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.site-header { position:absolute; z-index:5; inset:0 0 auto; height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 max(32px,calc((100vw - 1180px)/2)); border-bottom:1px solid rgba(10,35,69,.12); background:rgba(247,249,251,.9); backdrop-filter:blur(16px); animation:header-enter .7s .05s cubic-bezier(.16,1,.3,1) both; }
.brand { display:flex; align-items:center; gap:9px; font-size:24px; letter-spacing:-.045em; }
.brand-mark { width:34px; height:34px; object-fit:cover; }
.brand b,.brand i { font-style:normal; font-weight:500; }.brand i { color:var(--blue-dark); }
nav { display:flex; align-items:center; gap:30px; color:var(--ink-soft); font-size:13px; } nav a { transition:color .2s; } nav a:hover { color:var(--blue-dark); }
.menu-toggle,.mobile-menu { display:none; }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:13px 17px; border:1px solid var(--blue-dark); background:var(--blue-dark); color:white; font:500 13px var(--font); cursor:pointer; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); background:var(--ink); }.button:active { transform:translateY(0); }.button-compact { min-height:40px; padding:9px 14px; gap:14px; }
.hero { position:relative; padding-top:76px; overflow:hidden; background:var(--surface); }.hero:before { content:""; position:absolute; left:0; top:76px; width:6px; height:190px; background:var(--blue); transform-origin:top; animation:line-grow .9s .5s cubic-bezier(.16,1,.3,1) both; }.hero-main { min-height:650px; display:grid; grid-template-columns:1.35fr .65fr; align-items:center; gap:96px; padding-block:74px 58px; }
.overline { margin:0 0 22px; color:var(--blue-dark); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.hero h1 { max-width:720px; margin:0; font-size:clamp(46px,5.4vw,72px); line-height:1.02; letter-spacing:-.052em; font-weight:500; }.hero-lead { max-width:680px; margin:28px 0 32px; color:var(--ink-soft); font-size:clamp(19px,1.65vw,23px); line-height:1.5; }.hero-actions { display:flex; align-items:center; gap:24px; }.secondary-link { padding:8px 0; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:13px; }
.hero-copy .overline { animation:copy-enter .7s .16s cubic-bezier(.16,1,.3,1) both; }.hero-copy h1 { animation:copy-enter .85s .23s cubic-bezier(.16,1,.3,1) both; }.hero-copy .hero-lead { animation:copy-enter .85s .34s cubic-bezier(.16,1,.3,1) both; }.hero-copy .hero-actions { animation:copy-enter .85s .44s cubic-bezier(.16,1,.3,1) both; }
.hero-statement { position:relative; isolation:isolate; overflow:hidden; padding:42px; border:0; background:linear-gradient(142deg,#e8eff8 0 54%,#dce8f6 54% 72%,#f7f9fb 72%); box-shadow:24px 28px 0 rgba(10,35,69,.055); animation:statement-enter .9s .25s cubic-bezier(.16,1,.3,1) both; }.hero-statement:before { content:""; position:absolute; z-index:-1; width:210px; height:210px; right:-118px; top:-110px; border:38px solid rgba(45,116,218,.13); transform:rotate(45deg); }.hero-statement:after { content:""; position:absolute; z-index:3; inset:0; background:var(--blue-dark); transform-origin:right; animation:curtain-reveal 1.05s .22s cubic-bezier(.77,0,.18,1) both; pointer-events:none; }.statement-mark { width:88px; height:88px; object-fit:cover; margin-bottom:48px; box-shadow:0 14px 32px rgba(10,35,69,.12); }.hero-statement>p { max-width:260px; margin:0 0 28px; color:var(--ink); font-size:18px; line-height:1.45; }.hero-statement ul { list-style:none; padding:0; margin:0; }.hero-statement li { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:14px 0; border-bottom:1px solid rgba(10,35,69,.16); }.hero-statement li span { font-size:18px; font-weight:500; }.hero-statement li small { color:var(--muted); text-align:right; }
.proof { position:relative; display:grid; grid-template-columns:.7fr 1fr 1.3fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.proof:before { content:""; position:absolute; left:0; top:-1px; width:80px; height:3px; background:var(--blue); }.proof div { min-height:116px; padding:25px 24px 25px 0; display:flex; flex-direction:column; justify-content:center; gap:6px; border-right:1px solid var(--line); }.proof div:not(:first-child) { padding-left:30px; }.proof div:last-child { border-right:0; }.proof strong { font-size:25px; font-weight:500; letter-spacing:-.03em; }.proof span { color:var(--muted); font-size:13px; line-height:1.45; }
.services { padding-block:132px; }.section-header { max-width:790px; margin-bottom:78px; } h2 { margin:0; font-size:clamp(36px,4.2vw,56px); line-height:1.08; letter-spacing:-.045em; font-weight:500; }.section-header>p:last-child { max-width:680px; margin:24px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.service-list { border-top:1px solid var(--ink); }.service-row { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; padding:64px 0; border-bottom:1px solid var(--line); }.service-row:before { content:""; position:absolute; left:0; top:64px; width:3px; height:34px; background:var(--blue); transform:scaleY(0); transform-origin:top; transition:transform .35s cubic-bezier(.16,1,.3,1); }.service-row:hover:before { transform:scaleY(1); }.service-row-accent { margin-inline:-32px; padding-inline:32px; background:linear-gradient(110deg,var(--blue-pale),#f0f4f9 70%); }.service-row-accent:before { left:32px; }.service-name { transition:transform .35s cubic-bezier(.16,1,.3,1); }.service-row:hover .service-name { transform:translateX(12px); }.service-name small { display:block; margin-bottom:20px; color:var(--blue-dark); font-size:12px; font-weight:600; }.service-name h3 { max-width:490px; margin:0; font-size:clamp(30px,3vw,42px); line-height:1.12; letter-spacing:-.04em; font-weight:500; }.service-copy p { margin:0 0 16px; color:var(--ink-soft); font-size:16px; line-height:1.7; }.service-copy a { display:inline-flex; gap:26px; margin-top:18px; padding-bottom:6px; border-bottom:1px solid var(--ink); font-size:13px; font-weight:600; }
.participations { padding-block:128px; background:var(--surface-2); }.participation-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:110px; }.participation-intro { position:sticky; top:110px; align-self:start; }.participation-intro h2 { max-width:480px; }.participation-intro>p:not(.overline) { max-width:500px; margin:24px 0 0; color:var(--ink-soft); font-size:16px; line-height:1.7; }.participation-intro .discretion-note { margin-top:36px; padding:22px 0 0 24px; border-top:1px solid var(--line); border-left:3px solid var(--blue); font-size:14px; }
.participation-examples { border-top:1px solid var(--ink); }.participation-examples article { padding:42px 0 46px; border-bottom:1px solid var(--line); }.example-title span { display:block; margin-bottom:12px; color:var(--blue-dark); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.example-title h3 { margin:0; font-size:32px; letter-spacing:-.035em; font-weight:500; }.participation-examples article p { max-width:650px; margin:18px 0 0; color:var(--ink-soft); line-height:1.7; }.experience-line { position:relative; margin-top:44px; padding:34px 38px; overflow:hidden; background:var(--ink); color:white; }.experience-line:after { content:""; position:absolute; width:150px; height:150px; right:-88px; bottom:-104px; border:24px solid rgba(109,164,237,.25); transform:rotate(45deg); }.experience-line strong { display:block; margin-bottom:12px; font-size:20px; font-weight:500; }.experience-line p { position:relative; z-index:1; margin:0; color:#d5deea; line-height:1.65; }
.focus-section { padding-block:132px; display:grid; grid-template-columns:.9fr 1.1fr; gap:110px; }.focus-heading h2 { max-width:530px; }.focus-body { padding-top:36px; }.focus-body>p { color:var(--ink-soft); font-size:16px; line-height:1.7; }.focus-body .focus-lead { margin-top:0; color:var(--ink); font-size:22px; font-weight:500; line-height:1.4; }.capability-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:36px 0; border:0; }.capability-item { min-height:82px; display:flex; align-items:center; gap:17px; padding:16px 18px; border:1px solid var(--line); background:rgba(252,253,255,.7); transition:transform .25s,border-color .25s,background .25s; }.capability-item:hover { transform:translateY(-3px); border-color:#8eadd2; background:var(--white); }.capability-item strong { color:var(--ink-soft); font-size:14px; font-weight:500; }.capability-icon { position:relative; flex:0 0 auto; width:30px; height:30px; border:1px solid #8eadd2; }.capability-icon:before,.capability-icon:after { content:""; position:absolute; background:var(--blue-dark); }.capability-icon:before { width:12px; height:1px; left:8px; top:14px; }.capability-icon:after { width:1px; height:12px; left:14px; top:8px; }.capability-item:nth-child(2) .capability-icon { border-radius:50%; }.capability-item:nth-child(2) .capability-icon:after { transform:rotate(45deg); }.capability-item:nth-child(3) .capability-icon:before { width:15px; left:6px; transform:rotate(-38deg); }.capability-item:nth-child(4) .capability-icon { transform:rotate(45deg); }.capability-item:nth-child(4) .capability-icon:before,.capability-item:nth-child(4) .capability-icon:after { transform:rotate(-45deg); }.capability-item:nth-child(5) .capability-icon:before { width:18px; left:5px; box-shadow:0 -5px 0 rgba(22,84,173,.45),0 5px 0 rgba(22,84,173,.45); }.capability-item:nth-child(5) .capability-icon:after { display:none; }.capability-item:nth-child(6) .capability-icon { border-radius:50% 50% 4px 50%; }.button-outline { background:transparent; color:var(--ink); }.button-outline:hover { color:white; }
.startfux-section { padding-block:128px; background:var(--blue-pale); }.startfux-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; }.startfux-copy p:not(.overline) { color:var(--ink-soft); font-size:16px; line-height:1.7; }.startfux-brand-stage { display:grid; grid-template-columns:1.35fr .65fr; min-height:360px; margin-top:64px; overflow:hidden; background:var(--ink); color:white; box-shadow:0 28px 65px rgba(10,35,69,.14); }.startfux-brand-stage>img { width:100%; height:100%; min-height:360px; object-fit:cover; object-position:center; }.startfux-brand-stage>div { display:flex; flex-direction:column; justify-content:center; padding:42px; border-left:1px solid rgba(255,255,255,.14); }.startfux-brand-stage span { margin-bottom:22px; color:#8bb8f0; font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }.startfux-brand-stage strong { font-size:25px; line-height:1.25; font-weight:500; }.startfux-brand-stage p { margin:20px 0 0; color:#b9c8da; line-height:1.65; }.startfux-process { counter-reset:process; border-top:1px solid var(--ink); }.startfux-process>div { counter-increment:process; position:relative; padding:30px 0 30px 52px; border-bottom:1px solid var(--line); }.startfux-process>div:before { content:counter(process,decimal-leading-zero); position:absolute; left:0; top:33px; color:var(--blue-dark); font-size:11px; font-weight:600; }.startfux-process strong { display:block; font-size:20px; font-weight:500; }.startfux-process p { margin:8px 0 0; color:var(--muted); line-height:1.55; }
.principles { padding-block:132px; }.compact-header { max-width:760px; }.principle-list { display:grid; grid-template-columns:repeat(3,1fr); gap:54px; padding-top:42px; border-top:1px solid var(--ink); }.principle-list h3 { margin:0 0 15px; font-size:21px; font-weight:500; }.principle-list p { margin:0; color:var(--muted); line-height:1.65; }
.faq-section { padding-block:126px; background:var(--surface-2); }.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; }.faq-grid h2 { font-size:clamp(34px,3.5vw,48px); }.accordion { border-top:1px solid var(--ink); } details { border-bottom:1px solid var(--line); } summary { list-style:none; padding:24px 0; display:flex; justify-content:space-between; gap:22px; cursor:pointer; font-size:17px; font-weight:500; } summary::-webkit-details-marker { display:none; } summary span { color:var(--blue-dark); font-size:22px; transition:transform .2s; } details[open] summary span { transform:rotate(45deg); } details p { margin:0; max-width:650px; padding:0 40px 24px 0; color:var(--muted); line-height:1.65; }
.contact-section { padding-block:128px; }.contact-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:110px; }.contact-copy>p:not(.overline) { color:var(--muted); line-height:1.7; font-size:16px; }
footer { padding-block:44px; background:var(--ink); color:#d3deea; }.footer-inner { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:40px; }.footer-brand { display:flex; flex-direction:column; gap:6px; }.footer-brand strong { color:white; font-size:25px; letter-spacing:-.04em; }.footer-brand strong span { color:#6da4ed; }.footer-brand small,.footer-inner>small { color:#91a2b7; }.footer-links { display:flex; gap:25px; font-size:13px; }
@media (max-width:960px) { .page-shell { width:min(100% - 40px,720px); }.site-header { padding-inline:20px; }.site-header nav { display:none; }.hero-main { min-height:auto; grid-template-columns:1fr; gap:56px; padding-block:74px 50px; }.hero-statement { padding:28px 0 0; border-left:0; border-top:1px solid var(--line); }.proof { grid-template-columns:1fr; }.proof div,.proof div:not(:first-child) { min-height:90px; padding:20px 0; border-right:0; border-bottom:1px solid var(--line); }.services,.focus-section,.principles { padding-block:92px; }.participations,.startfux-section,.faq-section,.contact-section { padding-block:92px; }.service-row,.participation-grid,.focus-section,.startfux-grid,.faq-grid,.contact-grid { grid-template-columns:1fr; gap:40px; }.service-row { padding-block:46px; }.service-row-accent { margin-inline:-20px; padding-inline:20px; }.participation-intro { position:static; }.principle-list { grid-template-columns:1fr; gap:30px; }.footer-inner { grid-template-columns:1fr; align-items:start; } }
@media (max-width:600px) { .site-header .button { display:none; }.hero-actions { align-items:flex-start; flex-direction:column; }.hero h1 { font-size:44px; }.service-name h3 { font-size:31px; }.capability-grid { grid-template-columns:1fr; } }
@keyframes header-enter { from { opacity:0; transform:translateY(-18px); } to { opacity:1; transform:translateY(0); } }
@keyframes copy-enter { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes statement-enter { from { opacity:0; transform:translateX(36px); } to { opacity:1; transform:translateX(0); } }
@keyframes curtain-reveal { 0% { transform:scaleX(1); } 100% { transform:scaleX(0); } }
@keyframes line-grow { from { transform:scaleY(0); } to { transform:scaleY(1); } }
@keyframes section-enter { from { opacity:0; transform:translateY(34px); } to { opacity:1; transform:translateY(0); } }
@supports (animation-timeline:view()) { .service-row,.participation-examples article,.startfux-process>div { animation:section-enter linear both; animation-timeline:view(); animation-range:entry 5% cover 28%; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Full-width brand opening */
.intro-curtain { position:fixed; z-index:100; inset:0; display:grid; place-items:center; overflow:hidden; pointer-events:none; background:var(--ink); color:white; animation:intro-exit 2.35s cubic-bezier(.76,0,.24,1) both; }
.intro-plane { position:absolute; inset:0 0 0 52%; background:var(--blue-dark); transform:skewX(-16deg) translateX(28%); transform-origin:center; animation:intro-plane 1.75s cubic-bezier(.76,0,.24,1) both; }
.intro-lockup { position:relative; z-index:1; display:grid; justify-items:center; transform:translateY(-8px); animation:intro-lockup 1.8s cubic-bezier(.16,1,.3,1) both; }
.intro-lockup img { width:106px; height:106px; object-fit:cover; margin-bottom:20px; box-shadow:0 18px 48px rgba(0,0,0,.22); }
.intro-lockup>span { font-size:44px; line-height:1; letter-spacing:-.055em; }.intro-lockup b,.intro-lockup i { font-style:normal; font-weight:500; }.intro-lockup i { color:#72aaf2; }
.intro-rule { width:210px; height:1px; margin:22px 0 14px; overflow:hidden; background:rgba(255,255,255,.2); }.intro-rule:after { content:""; display:block; width:100%; height:100%; background:#8bb8f0; transform-origin:left; animation:intro-rule 1.25s .25s cubic-bezier(.16,1,.3,1) both; }
.intro-lockup small { color:#b5c4d7; font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }

/* Different visual grammar for each main section */
.participations { position:relative; overflow:hidden; background:var(--ink); color:white; }
.participations:before { content:""; position:absolute; width:360px; height:360px; top:-255px; right:7vw; border:58px solid rgba(109,164,237,.13); transform:rotate(45deg); }
.participation-grid { position:relative; display:block; }
.participation-intro { position:static; max-width:820px; }
.participation-intro .overline { color:#8bb8f0; }
.participation-intro h2 { max-width:760px; }
.participation-intro>p:not(.overline) { max-width:690px; color:#c5d1df; }
.participation-intro .discretion-note { max-width:720px; margin-top:30px; padding:20px 0 0; border-top:1px solid rgba(255,255,255,.19); border-left:0; color:#9fb1c7; }
.participation-examples { display:grid; grid-template-columns:1fr 1fr; gap:0 72px; margin-top:72px; border-top:1px solid rgba(255,255,255,.4); }
.participation-examples article { padding:40px 0 46px; border-bottom:1px solid rgba(255,255,255,.18); }
.participation-examples article p { color:#bac8d8; }
.participation-examples .example-title span { color:#82b6fb; }
.participation-examples .experience-line { grid-column:1/-1; display:grid; grid-template-columns:.55fr 1.45fr; gap:52px; align-items:start; margin-top:46px; padding:34px 0 0; border-top:1px solid rgba(255,255,255,.4); background:transparent; }
.participation-examples .experience-line:after { display:none; }
.participation-examples .experience-line strong { font-size:25px; }

.focus-section { display:block; padding-block:150px; }
.focus-heading { max-width:850px; padding-left:9vw; }
.focus-heading h2 { max-width:820px; }
.focus-body { display:grid; grid-template-columns:.72fr 1.28fr; gap:24px 96px; margin-top:72px; padding:44px 0 0 19vw; border-top:1px solid var(--ink); }
.focus-body .focus-lead { grid-column:1; margin:0; }
.focus-body>p:not(.focus-lead) { grid-column:2; margin:0; }
.focus-body .capability-grid { grid-column:1/-1; margin-top:32px; }
.focus-body .button { grid-column:2; justify-self:start; margin-top:4px; }

.startfux-grid { display:block; }
.startfux-copy { max-width:930px; }
.startfux-copy h2 { max-width:800px; }
.startfux-copy p:not(.overline) { max-width:720px; }
.startfux-process { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:72px; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.startfux-process>div { min-height:230px; padding:72px 30px 32px 0; border-right:1px solid var(--line); border-bottom:0; }
.startfux-process>div:not(:first-child) { padding-left:30px; }
.startfux-process>div:last-child { border-right:0; }
.startfux-process>div:before { left:0; top:28px; }
.startfux-process>div:not(:first-child):before { left:30px; }

.principles { position:relative; }
.principles:after { content:""; position:absolute; right:0; top:132px; width:8vw; height:3px; background:var(--blue); }
.principle-list article:nth-child(2) { transform:translateY(32px); }

@keyframes intro-lockup { 0% { opacity:0; transform:translateY(18px); } 24%,72% { opacity:1; transform:translateY(-8px); } 100% { opacity:0; transform:translateY(-24px); } }
@keyframes intro-rule { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes intro-plane { 0% { transform:skewX(-16deg) translateX(80%); } 38%,72% { transform:skewX(-16deg) translateX(28%); } 100% { transform:skewX(-16deg) translateX(-145%); } }
@keyframes intro-exit { 0%,78% { opacity:1; visibility:visible; } 99% { opacity:0; visibility:visible; } 100% { opacity:0; visibility:hidden; } }

@media (max-width:960px) {
  .participation-examples { grid-template-columns:1fr; gap:0; }
  .participation-examples .experience-line { grid-template-columns:1fr; gap:14px; }
  .focus-heading { padding-left:0; }
  .focus-body { grid-template-columns:1fr; gap:20px; margin-top:50px; padding:34px 0 0; }
  .focus-body .focus-lead,.focus-body>p:not(.focus-lead),.focus-body .button { grid-column:1; }
  .startfux-process { grid-template-columns:1fr 1fr; }
  .startfux-brand-stage { grid-template-columns:1fr; }
  .startfux-brand-stage>img { min-height:280px; }
  .startfux-brand-stage>div { border-left:0; border-top:1px solid rgba(255,255,255,.14); }
  .startfux-process>div,.startfux-process>div:not(:first-child) { min-height:190px; padding:64px 24px 28px 0; border-right:0; border-bottom:1px solid var(--line); }
  .startfux-process>div:nth-child(odd) { border-right:1px solid var(--line); }
  .startfux-process>div:nth-child(even) { padding-left:24px; }
  .startfux-process>div:not(:first-child):before { left:0; }.startfux-process>div:nth-child(even):before { left:24px; }
  .principle-list article:nth-child(2) { transform:none; }
}

/* Refined navigation, type scale and honest contact paths */
h2 { font-size:clamp(34px,3.65vw,50px); line-height:1.1; letter-spacing:-.042em; }
.participations .project-intro { color:#dce6f1!important; }
.topic-copy p { color:#c8d5e3; font-size:15px; }

.contact-options { position:relative; padding:42px 42px 34px; overflow:hidden; border:1px solid var(--line); background:linear-gradient(145deg,#fff,#edf3fa); box-shadow:0 24px 60px rgba(10,35,69,.09); }
.contact-options:after { content:""; position:absolute; width:150px; height:150px; right:-92px; top:-94px; border:24px solid rgba(45,116,218,.09); transform:rotate(45deg); }
.contact-options-label { margin:0 0 14px; color:var(--blue-dark); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.contact-options h3 { max-width:430px; margin:0 0 30px; font-size:clamp(25px,2.3vw,34px); line-height:1.15; letter-spacing:-.035em; font-weight:500; }
.contact-option { position:relative; z-index:1; display:grid; grid-template-columns:52px 1fr auto; gap:18px; align-items:center; padding:22px 0; border-top:1px solid var(--line); transition:color .2s,transform .25s; }
.contact-option:hover { color:var(--blue-dark); transform:translateX(4px); }
.contact-option>i { font-size:19px; }
.contact-option-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; color:var(--blue-dark); background:var(--white); box-shadow:inset 0 0 0 1px rgba(22,84,173,.16),0 8px 24px rgba(10,35,69,.08); }
.contact-option-icon i { font-size:22px; }
.contact-option strong,.contact-option small { display:block; }
.contact-option strong { margin-bottom:5px; font-size:15px; font-weight:600; }
.contact-option small { color:var(--muted); font-size:13px; line-height:1.45; }
.contact-options-note { margin:22px 0 0; color:var(--muted); font-size:12px; }

@media (max-width:960px) {
  .site-header { position:fixed; height:68px; z-index:60; background:rgba(247,249,251,.94); }
  .site-header .desktop-nav,.site-header>.button { display:none; }
  .brand-mark { width:31px; height:31px; }
  .brand { font-size:22px; }
  .menu-toggle { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid rgba(10,35,69,.16); border-radius:50%; background:rgba(255,255,255,.72); color:var(--ink); cursor:pointer; }
  .menu-toggle i { font-size:23px; }
  .mobile-menu { position:fixed; z-index:50; inset:68px 0 0; display:flex; flex-direction:column; padding:22px 20px 34px; overflow:auto; visibility:hidden; opacity:0; transform:translateY(-12px); background:rgba(247,249,251,.985); transition:opacity .25s,transform .25s,visibility .25s; }
  body.mobile-menu-open { overflow:hidden; }
  .mobile-menu-open .mobile-menu { visibility:visible; opacity:1; transform:translateY(0); }
  .mobile-menu nav { display:block; border-top:1px solid var(--ink); }
  .mobile-menu nav a { display:flex; align-items:center; justify-content:space-between; min-height:58px; border-bottom:1px solid var(--line); color:var(--ink); font-size:18px; font-weight:500; letter-spacing:-.02em; }
  .mobile-menu nav a i { color:var(--blue-dark); font-size:18px; }
  .mobile-menu-cta { width:100%; margin-top:24px; }
  .mobile-menu-mail { align-self:flex-start; margin-top:22px; padding-bottom:5px; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:13px; }
  .hero { padding-top:68px; }
  .hero:before { top:68px; }
  .contact-options { padding:34px; }
  #leistungen,#beteiligungen,#ki,#startfux,#haltung,#faq,#kontakt { scroll-margin-top:68px; }
}

@media (max-width:600px) {
  h2 { font-size:clamp(31px,9.2vw,39px); }
  .contact-options { padding:30px 24px 26px; }
  .contact-option { grid-template-columns:44px 1fr auto; gap:14px; }
  .contact-option-icon { width:42px; height:42px; }
  .topic-copy p { font-size:14px; }
}

@media (max-width:600px) {
  .intro-lockup img { width:88px; height:88px; }.intro-lockup>span { font-size:36px; }
  .capability-grid { grid-template-columns:1fr; }
  .startfux-brand-stage>img { min-height:220px; }
  .startfux-brand-stage>div { padding:28px; }
  .startfux-process { grid-template-columns:1fr; }
  .startfux-process>div:nth-child(odd) { border-right:0; }
  .startfux-process>div:nth-child(even),.startfux-process>div:not(:first-child) { padding-left:0; }
  .startfux-process>div:nth-child(even):before { left:0; }
}

/* Legal pages */
.legal-page { background:var(--surface); }
.legal-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.legal-back { padding-bottom:5px; border-bottom:1px solid var(--ink); color:var(--ink-soft); font-size:13px; }
.legal-main { min-height:70vh; padding-block:110px 130px; }
.legal-main>h1 { max-width:780px; margin:0 0 72px; font-size:clamp(48px,6vw,78px); line-height:1; letter-spacing:-.055em; font-weight:500; }
.legal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 80px; border-top:1px solid var(--ink); }
.legal-grid section { padding:34px 0; border-bottom:1px solid var(--line); }
.legal-main section h2 { margin:0 0 16px; font-size:20px; line-height:1.3; letter-spacing:-.02em; font-weight:500; }
.legal-main section p,.legal-intro { max-width:800px; color:var(--ink-soft); font-size:15px; line-height:1.75; }
.legal-main section a { color:var(--blue-dark); text-decoration:underline; text-underline-offset:3px; }
.legal-privacy { width:min(940px,calc(100% - 64px)); }
.legal-privacy>h1 { margin-bottom:32px; }
.legal-intro { margin:0 0 72px; font-size:18px; }
.legal-privacy section { padding:36px 0; border-top:1px solid var(--line); }
.legal-privacy section h2 { font-size:24px; }
@media (max-width:700px) { .legal-header,.legal-main,.legal-privacy { width:calc(100% - 40px); }.legal-main { padding-block:76px 90px; }.legal-main>h1 { margin-bottom:48px; font-size:48px; }.legal-grid { grid-template-columns:1fr; }.legal-intro { margin-bottom:50px; } }

/* Rich editorial elements and refined information graphics */
.proof div { min-height:148px; background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(233,240,249,.18)); }
.proof strong { display:block; font-size:clamp(35px,3.1vw,48px); line-height:1; font-weight:600; letter-spacing:-.045em; }
.proof strong .counter { color:var(--blue-dark); font-size:inherit; font-weight:inherit; font-variant-numeric:tabular-nums; }
.proof div>span:last-child { margin-top:9px; color:var(--ink-soft); font-size:14px; }

.participation-image { position:relative; height:440px; margin:68px 0 0; overflow:hidden; border:1px solid rgba(255,255,255,.18); }
.participation-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,24,49,.28),transparent 58%),linear-gradient(0deg,rgba(5,24,49,.7),transparent 36%); pointer-events:none; }
.participation-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:saturate(.78) contrast(1.03); transition:transform .9s cubic-bezier(.16,1,.3,1); }
.participation-image:hover img { transform:scale(1.025); }
.participation-image figcaption { position:absolute; z-index:1; left:34px; bottom:28px; max-width:470px; color:white; font-size:17px; line-height:1.45; }
.participation-examples { margin-top:58px; }

.capability-grid { gap:0 48px; }
.capability-item { min-height:94px; gap:20px; padding:20px 4px; border:0; border-top:1px solid var(--line); background:transparent; }
.capability-item:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
.capability-item:hover { transform:none; border-color:var(--blue-dark); background:transparent; }
.capability-item strong { color:var(--ink); font-size:15px; font-weight:500; }
.capability-icon { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border:0; border-radius:11px; color:var(--ink); background:linear-gradient(145deg,#fff,#eaf1f9); box-shadow:0 8px 24px rgba(10,35,69,.08),inset 0 0 0 1px rgba(22,84,173,.12); transition:color .25s,transform .25s,box-shadow .25s; }
.capability-item:hover .capability-icon { color:var(--blue-dark); transform:translateY(-2px); box-shadow:0 12px 28px rgba(10,35,69,.13),inset 0 0 0 1px rgba(22,84,173,.2); }
.capability-icon:before,.capability-icon:after { display:none!important; }
.capability-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.capability-item:nth-child(2) .capability-icon,.capability-item:nth-child(4) .capability-icon,.capability-item:nth-child(6) .capability-icon { border-radius:11px; transform:none; }
.capability-item:nth-child(2):hover .capability-icon,.capability-item:nth-child(4):hover .capability-icon,.capability-item:nth-child(6):hover .capability-icon { transform:translateY(-2px); }

.startfux-feature { display:grid; grid-template-columns:1.08fr .92fr; min-height:540px; margin-top:66px; overflow:hidden; background:var(--white); box-shadow:0 30px 70px rgba(10,35,69,.13); }
.startfux-feature figure { position:relative; min-width:0; margin:0; overflow:hidden; }
.startfux-feature figure:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,29,58,.62),transparent 42%); pointer-events:none; }
.startfux-feature figure img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:saturate(.84); transition:transform .9s cubic-bezier(.16,1,.3,1); }
.startfux-feature:hover figure img { transform:scale(1.025); }
.startfux-feature figcaption { position:absolute; z-index:1; left:30px; bottom:25px; color:white; font-size:13px; }
.startfux-app-copy { padding:52px 48px; background:linear-gradient(145deg,#fcfdff,#eef4fb); }
.feature-label { margin:0 0 18px; color:var(--blue-dark); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.startfux-app-copy h3 { margin:0; font-size:clamp(28px,2.7vw,39px); line-height:1.12; letter-spacing:-.04em; font-weight:500; }
.startfux-app-copy>p:not(.feature-label):not(.app-note) { margin:22px 0 0; color:var(--ink-soft); font-size:15px; line-height:1.68; }
.app-benefits { list-style:none; margin:30px 0 0; padding:0; border-top:1px solid var(--line); }
.app-benefits li { border-bottom:1px solid var(--line); }
.app-benefits strong,.app-benefits span { display:block; }
.app-benefits strong { margin-bottom:5px; font-size:14px; font-weight:600; }
.app-benefits span { color:var(--muted); font-size:13px; line-height:1.45; }
.app-note { margin:22px 0 0; padding-left:18px; border-left:2px solid var(--blue); color:var(--ink-soft); font-size:13px; line-height:1.55; }

@media (max-width:960px) {
  .startfux-feature { grid-template-columns:1fr; }
  .startfux-feature figure { height:390px; }
}

@media (max-width:600px) {
  .hero-main { gap:42px; }
  .hero-statement { width:100%; padding:30px 22px 24px; }
  .hero-statement>p { max-width:100%; }
  .hero-statement li { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:start; gap:14px; }
  .hero-statement li span,.hero-statement li small { min-width:0; }
  .hero-statement li small { white-space:normal; overflow-wrap:anywhere; text-align:right; line-height:1.35; }
  .proof div,.proof div:not(:first-child) { min-height:112px; padding:24px 0; }
  .proof strong { font-size:35px; }
  .participation-image { height:300px; margin-top:46px; }
  .participation-image figcaption { left:20px; right:20px; bottom:18px; font-size:14px; }
  .capability-grid { gap:0; }
  .capability-item:nth-last-child(2) { border-bottom:0; }
  .startfux-feature { min-height:0; margin-top:46px; }
  .startfux-feature figure { height:270px; }
  .startfux-feature figcaption { left:20px; bottom:18px; }
  .startfux-app-copy { padding:34px 24px 38px; }
}

/* Editorial participation dossiers */
.participation-intro { max-width:850px; }
.participation-image { margin-top:48px; }
.participation-context { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; margin-top:38px; }
.participation-context>p { margin:0; color:#c5d1df; font-size:16px; line-height:1.7; }
.participation-context .discretion-note { padding:4px 0 4px 24px; border-left:2px solid #6da4ed; color:#9fb1c7; font-size:14px; }
.participation-examples { display:block; margin-top:68px; border-top:1px solid rgba(255,255,255,.42); }
.participation-examples .participation-card { padding:58px 0 0; border-bottom:1px solid rgba(255,255,255,.3); }
.participation-examples .participation-card .project-discretion { max-width:900px; margin:0 0 46px; padding:3px 0 3px 22px; border-left:2px solid #6da4ed; color:#c8d5e3; font-size:17px; line-height:1.65; }
.project-heading { max-width:780px; padding:0 0 34px; }
.project-heading>span { display:block; margin-bottom:12px; color:#68a8f5; font-size:12px; font-weight:600; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }
.project-heading h3 { max-width:660px; margin:0 0 17px; color:white; font-family:Georgia,"Times New Roman",serif; font-size:clamp(29px,2.8vw,39px); font-weight:400; line-height:1.12; }
.participation-examples .participation-card .project-intro { max-width:760px; margin:0; color:#d5deea; font-size:17px; line-height:1.7; }
.participation-card .project-intro strong { color:white; font-weight:600; }
.project-master { border-top:1px solid rgba(255,255,255,.27); }
.project-master>summary { position:relative; min-height:76px; display:flex; align-items:center; padding:20px 62px 20px 0; color:white; font-size:17px; font-weight:600; list-style:none; cursor:pointer; }
.project-master>summary::-webkit-details-marker { display:none; }
.project-master>summary>span { color:white; font-size:17px; transform:none!important; }
.project-master>summary:focus { outline:0; }
.project-master>summary:focus-visible { outline:0; box-shadow:inset 3px 0 #68a8f5; }
.project-master>summary>i { position:absolute; right:4px; top:50%; width:36px; height:36px; border:1px solid rgba(104,168,245,.72); border-radius:50%; transform:translateY(-50%); transition:background .25s,border-color .25s; }
.project-master>summary>i:before,.project-master>summary>i:after { content:""; position:absolute; left:10px; top:17px; width:14px; height:1px; background:#68a8f5; transition:transform .25s; }
.project-master>summary>i:after { transform:rotate(90deg); }
.project-master[open]>summary>i { background:rgba(104,168,245,.12); border-color:#8fc0fb; }
.project-master[open]>summary>i:after { transform:rotate(0); }
.topic-list { border-top:1px solid rgba(255,255,255,.17); }
.topic-row { display:grid; grid-template-columns:74px minmax(210px,.7fr) minmax(0,1.3fr); gap:28px; align-items:start; padding:30px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.topic-row:last-child { border-bottom:0; }
.topic-icon { display:grid; place-items:center; width:58px; height:58px; color:#7eb4f5; border:1px solid rgba(126,180,245,.64); border-radius:50%; }
.topic-icon .ph { font-size:27px; font-weight:400; }
.topic-row h4 { margin:4px 0 0; color:white; font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:400; line-height:1.35; }
.topic-copy { max-width:650px; }
.topic-copy p { margin:0 0 12px; color:#b9c8d9; font-size:14px; line-height:1.7; }
.topic-copy p:last-child { margin-bottom:0; }
.topic-copy strong { display:block; margin-bottom:2px; color:#edf4fc; font-size:12px; font-weight:600; letter-spacing:.035em; }
.topic-group { display:grid; grid-template-columns:74px 1fr; gap:28px; margin-top:8px; padding:30px 0 22px; border-top:1px solid rgba(255,255,255,.17); }
.topic-group p { grid-column:2; margin:0 0 5px; color:#68a8f5; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.topic-group h4 { grid-column:2; margin:0; color:white; font-family:Georgia,"Times New Roman",serif; font-size:23px; font-weight:400; }
.topic-group+.topic-list { border-top:0; }
.participation-examples .experience-line { margin-top:56px; }

@media (max-width:960px) {
  .participation-context { grid-template-columns:1fr; gap:20px; }
  .topic-row { grid-template-columns:64px minmax(190px,.7fr) minmax(0,1.3fr); gap:22px; }
}

@media (max-width:600px) {
  .participation-context { margin-top:28px; }
  .participation-context .discretion-note { padding-left:18px; }
  .participation-examples { margin-top:48px; }
  .participation-examples .participation-card { padding-top:44px; }
  .participation-examples .participation-card .project-discretion { margin-bottom:34px; padding-left:18px; font-size:15px; line-height:1.65; }
  .project-heading { padding-bottom:26px; }
  .project-heading>span { margin-bottom:9px; font-size:10px; }
  .project-heading h3 { margin-bottom:14px; font-size:30px; }
  .participation-examples .participation-card .project-intro { font-size:15px; line-height:1.65; }
  .project-master>summary { min-height:70px; padding:17px 48px 17px 0; font-size:15px; }
  .project-master>summary>span { font-size:15px; }
  .project-master>summary>i { right:0; width:32px; height:32px; }
  .project-master>summary>i:before,.project-master>summary>i:after { left:9px; top:15px; width:12px; }
  .topic-row { grid-template-columns:48px 1fr; gap:8px 16px; padding:24px 0; }
  .topic-icon { grid-column:1; grid-row:1; width:40px; height:40px; }
  .topic-icon .ph { font-size:21px; }
  .topic-row h4 { grid-column:2; grid-row:1; align-self:center; margin:0; font-size:18px; }
  .topic-copy { grid-column:2; grid-row:2; }
  .topic-copy p { font-size:13px; line-height:1.67; }
  .topic-copy strong { font-size:11px; }
  .topic-group { grid-template-columns:48px 1fr; gap:16px; padding:25px 0 18px; }
  .topic-group p,.topic-group h4 { grid-column:2; }
  .topic-group h4 { font-size:20px; }
}

/* Final specificity for the refined dossier details */
.participations .project-intro { color:#dce6f1; }
.topic-copy p { color:#c8d5e3; font-size:15px; }
@media (max-width:600px) { .topic-copy p { font-size:14px; } }

@media (min-width:961px) {
  .proof { grid-template-columns:.6fr 1.2fr 1.2fr; }
  .proof strong { font-size:clamp(35px,2.7vw,42px); white-space:nowrap; }
}

/* Unified soft geometry for calls to action and StartFux app benefits */
.button { border-radius:11px; }
.app-benefits li { grid-template-columns:48px 1fr; column-gap:20px; align-items:center; padding:18px 0; }
.app-benefit-icon { grid-column:1; grid-row:1/3; width:48px; height:48px; display:grid; place-items:center; color:var(--ink); border-radius:11px; background:linear-gradient(145deg,#fff,#eaf1f9); box-shadow:0 8px 24px rgba(10,35,69,.08),inset 0 0 0 1px rgba(22,84,173,.12); transition:color .25s,transform .25s,box-shadow .25s; }
.app-benefit-icon .ph { font-size:25px; font-weight:400; }
.app-benefits li:hover .app-benefit-icon { color:var(--blue-dark); transform:translateY(-2px); box-shadow:0 12px 28px rgba(10,35,69,.13),inset 0 0 0 1px rgba(22,84,173,.2); }
.app-benefits li>strong,.app-benefits li>span:not(.app-benefit-icon) { grid-column:2; }
@media (max-width:600px) {
  .app-benefits li { grid-template-columns:44px 1fr; column-gap:16px; }
  .app-benefit-icon { width:44px; height:44px; }
  .app-benefit-icon .ph { font-size:23px; }
  .footer-inner { justify-items:center; text-align:center; }
  .footer-brand { align-items:center; }
  .footer-links { justify-content:center; flex-wrap:nowrap; }
}
