/* Homepage art direction. All content starts in its final position. */
.home-refined { --paper:#f7f7f2; --line:#d4d9de; --blue:#214bea; }
.home-refined .site-header { background:#f7f7f2f5; backdrop-filter:blur(16px); }
.home-refined .nav { min-height:88px; }
.home-refined .nav nav { gap:25px; align-items:center; }
.home-refined .nav nav>a { position:relative; padding-block:14px; font-size:12px; }
.home-refined .nav nav>a::after { content:""; position:absolute; bottom:6px; left:0; right:0; height:2px; background:var(--blue); opacity:0; transition:opacity .25s; }
.home-refined .nav nav>a[aria-current]::after,.home-refined .nav nav>a:hover::after { opacity:1; }
.motion-control { width:34px; height:34px; flex-shrink:0; display:grid; place-items:center; padding:0; border:1px solid #aebacd; border-radius:50%; background:transparent; color:#244269; font-size:14px; cursor:pointer; }
/* Base [hidden] is !important: reservations must match it to prevent late shifts. */
.motion-control[hidden] { display:grid !important; visibility:hidden; }
.motion-control:disabled { opacity:.75; cursor:default; }
.home-refined .hero { display:block; padding-block:64px 0; }
.home-refined .hero-copy { display:grid; grid-template-columns:1.6fr 1fr; gap:0 64px; align-items:start; padding-bottom:54px; }
.home-refined .hero-copy>.eyebrow { grid-column:1/-1; margin-bottom:27px; }
.home-refined .hero h1 { margin:0; font-size:clamp(60px,7.35vw,108px); font-weight:600; line-height:1.02; letter-spacing:-.07em; }
.home-refined .hero h1 em { display:inline; font:inherit; color:var(--blue); }
.home-refined .hero-intro { font-size:20px; line-height:1.5; margin:0 0 17px; max-width:460px; }
.home-refined .hero-detail { font-size:13px; line-height:1.8; margin:0; max-width:460px; }
.home-refined .hero .actions { margin-top:22px; gap:16px; }
.home-refined .hero .actions .button { background:var(--blue); border-color:var(--blue); padding:14px 18px; font-size:12px; gap:18px; }
.home-refined .hero .actions .text-link { font-size:11px; gap:10px; }
.home-refined .hero-person { margin-top:22px; }
.home-refined .hero-project { isolation:isolate; max-width:none; width:100%; margin:0; padding:42px; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); grid-template-rows:auto 1fr auto; gap:22px 40px; color:#fff; background:var(--blue); overflow:hidden; }
.home-refined .hero-project::before { content:""; position:absolute; inset:auto auto -340px -180px; width:780px; height:780px; border:1px solid #ffffff24; border-radius:50%; background:transparent !important; box-shadow:0 0 0 70px #ffffff07,0 0 0 140px #ffffff05; z-index:-1; pointer-events:none; }
.showcase-heading { grid-column:1; grid-row:1; }
.showcase-heading .eyebrow { font-size:9px; color:#e4ebff; margin-bottom:25px; }
.showcase-heading>p:not(.eyebrow) { font-size:clamp(32px,3.3vw,48px); letter-spacing:-.05em; font-weight:500; line-height:1.12; margin-bottom:18px; }
.showcase-heading em { font:inherit; color:#d8ffa1; }
.showcase-heading>span { display:block; font-size:12px; line-height:1.8; color:#e6edff; }
.home-refined .hero-choices { grid-column:1; grid-row:2; align-content:start; align-self:start; gap:7px; margin:0; }
.home-refined .hero-choices[hidden] { display:flex !important; visibility:hidden; }
.home-refined .hero-choices button { color:#fff; border:1px solid #9bb0fa; border-radius:0; font-size:11px; padding:9px 12px; }
.home-refined .hero-choices button[aria-pressed=true] { color:#1537b8; background:#fff; border-color:#fff; }
.home-refined .hero-choices button:hover { border-color:white; background:#ffffff18; }
.home-refined .hero-choices button[aria-pressed=true]:hover { background:#fff; }
.home-refined .hero-project .browser { grid-column:2; grid-row:1/4; align-self:center; border:1px solid #b9c9ef; border-radius:5px; box-shadow:0 22px 44px -18px #08174b80; transform:none; }
.home-refined .hero-project .browser-bar { background:#f4f6fc; color:#3d5378; height:30px; }
.home-refined .hero-project figcaption { grid-column:1; grid-row:3; padding-top:18px; border-top:1px solid #ffffff55; min-height:85px; align-items:center; }
.home-refined .hero-project figcaption>span { min-width:0; }
.home-refined .hero-project figcaption .eyebrow { color:#e6edff; }
.home-refined .hero-project figcaption strong { font-size:13px; line-height:1.5; min-height:39px; max-width:240px; }
.home-refined .hero-project figcaption>a { min-width:76px; height:44px; padding:0 12px; flex-shrink:0; display:grid; place-items:center; border:1px solid #9fb3ff; border-radius:0; color:#fff; font-size:12px; }
.home-refined .hero-project figcaption>a:hover { background:#fff; color:var(--blue); }
.home-refined .hero-project a:focus-visible,.home-refined .hero-project button:focus-visible { outline-color:#d8ffa1; }
.home-refined .section-heading { gap:60px; }
.home-refined .section-heading h2 { font-size:clamp(38px,4.2vw,62px); line-height:1.07; letter-spacing:-.055em; font-weight:600; }
.home-refined h2 em { font:inherit; color:var(--blue); }
.home-refined .section-heading>p { font-size:14px; line-height:1.8; }
.home-refined .own-products-grid { gap:24px; }
.home-refined .own-product { padding:35px; border-radius:0; border:0; }
.home-refined .product-noryk { background:#e0eaf0; }
.home-refined .own-product h3 { font-size:58px; font-weight:600; letter-spacing:-.06em; margin-block:30px; }
.home-refined .own-product h3 span { font-size:18px; letter-spacing:-.02em; }
.home-refined .own-product-image { margin-inline:0; }
.home-refined .own-product-image .browser { border-radius:4px; }
.home-refined .own-product-top { letter-spacing:.07em; }
.home-refined .own-products-note { color:#566479; }
.home-refined #projekte { padding-top:115px; }
.work-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.work-toolbar[hidden] { display:flex !important; visibility:hidden; }
.work-filters { display:flex; flex-wrap:wrap; gap:5px; }
.work-filters button { cursor:pointer; padding:12px 17px; min-height:44px; font:inherit; font-size:12px; color:#384e69; border:1px solid #bbc7d3; border-radius:0; background:transparent; transition:color .25s,background .25s,border-color .25s; }
.work-filters button[aria-pressed=true] { color:#fff; background:#1e293b; border-color:#1e293b; }
.work-count { color:#5d6979; font-size:11px; white-space:nowrap; }
.home-refined .project-index { border-block:1px solid #cdd5df; padding-block:17px; margin-bottom:34px; gap:12px 21px; }
.home-refined .project-index a { font-size:11px; color:#415672; }
.home-refined #projekte article[hidden],.home-refined .project-index a[hidden],.home-refined .project-grid[hidden] { display:none; }
.home-refined .featured-project { border:0; background:#ecebe4; }
.home-refined .project-image { border-radius:0; padding:35px; }
.home-refined .project-image .browser { border-radius:4px; }
.home-refined .project-grid { gap:48px 28px; }
.home-refined .project-grid .project-image { padding:30px; }
.home-refined .project-grid h3 { font-size:29px; }
.home-refined .product-views { background:#e4eaf0; border:0; padding:28px; }
.home-refined .view-buttons[hidden] { display:flex !important; visibility:hidden; }
.home-refined .view-buttons button { border-radius:0; }
.home-refined .view-buttons button[aria-pressed=true] { background:#1e293b; }
.home-refined .product-views figure img { aspect-ratio:1.44; }
.home-refined .product-views figcaption { min-height:40px; align-content:start; }
.home-refined .orga-journey { border-color:#ced8e1; }
.home-refined .orga-journey li { background:#e9eef2; }
.home-refined .orga-journey li:last-child { background:#1e293b; }
.home-refined .services-section { --muted:#d1dcf2; --ink:#fff; --accent:#b9d3ff; background:#14263e; color:#fff; }
.home-refined .services-section h2 em { color:#b9d3ff; }
.home-refined .services-section .eyebrow { color:#bdcde5; }
.home-refined .service-row { border-color:#516077; padding-block:40px; grid-template-columns:50px 1fr 1.45fr 88px; }
.home-refined .service-row:hover { background:#1c314f; }
.home-refined .service-row>a { border-color:#8396b3; width:88px; height:44px; border-radius:0; font-size:12px; }
.home-refined .service-row:hover>a { transform:none; }
.home-refined .service-row h3 { font-size:32px; }
.home-refined .service-number { color:#bdcde5; }
.home-refined .service-icon { background:#eef4ff; border-radius:6px; padding:5px; }
.home-refined .process li { gap:24px; padding-block:30px; }
.home-refined .process li>span { font:500 14px Arial,sans-serif; width:30px; flex-shrink:0; }
.home-refined .about>img { border-radius:0; box-shadow:16px 16px 0 #d9e3f9; }
.home-refined .faq-items details { border-color:#cdd7e3; }
.home-refined .faq-items summary { padding-right:36px; }
.home-refined .faq-items summary::after { transition:transform .3s; }
.home-refined .contact-banner { padding-block:90px; background:var(--blue); }
.home-refined .contact-banner h2 { font-size:clamp(38px,5vw,72px); font-weight:500; line-height:1.07; letter-spacing:-.055em; }
.home-refined .contact-banner p:not(.eyebrow),.home-refined .contact-banner .eyebrow { color:#e5edff; }
.home-refined .contact-banner::after { content:""; position:absolute; width:440px; height:440px; border:1px solid #ffffff30; border-radius:50%; right:4%; top:-130px; z-index:-1; box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05; pointer-events:none; }
.home-refined .site-footer { background:#edf1f6; }
.home-refined a:focus-visible,.home-refined button:focus-visible,.home-refined summary:focus-visible { outline:3px solid #2859d7; outline-offset:5px; }
.home-refined .product-bandtask a:focus-visible,.home-refined .contact-banner a:focus-visible,.home-refined .services-section a:focus-visible { outline-color:#d8ffa1; }
/* Only deliberate interaction changes motion. Large panels and text never tilt. */
.home-refined .button:hover,.home-refined .project-image:hover .browser,.home-refined .own-product-image:hover .browser,.home-refined .project-index a:hover { transform:none; }
@media (max-width:1100px) {
 .home-refined .nav nav { gap:16px; }
 .home-refined .hero-copy { gap:0 36px; grid-template-columns:1.4fr 1fr; }
 .home-refined .hero h1 { font-size:clamp(60px,7.2vw,80px); }
 .home-refined .hero-intro { font-size:18px; }
 .home-refined .hero-project { padding:30px; gap:22px 28px; }
 .showcase-heading>p:not(.eyebrow) { font-size:35px; }
 .home-refined .own-product { padding:28px; }
}
@media (max-width:800px) {
 .home-refined .service-row { grid-template-columns:25px 1fr; }
 .home-refined .service-row>a { grid-column:2; grid-row:3; }
 .home-refined .nav { min-height:78px; gap:15px; }
 .home-refined .nav nav { gap:13px; }
 .home-refined .nav nav>a { font-size:11px; }
 .home-refined .nav .brand img { width:135px; }
 .home-refined .nav .button { font-size:11px; padding:12px 14px; gap:13px; }
 .home-refined .hero { padding-top:46px; }
 .home-refined .hero-copy { grid-template-columns:1fr; gap:26px; padding-bottom:38px; }
 .home-refined .hero-copy>.eyebrow { margin:0; }
 .home-refined .hero h1 { font-size:clamp(50px,9.5vw,78px); }
 .home-refined .hero-description { max-width:590px; }
 .home-refined .hero-intro,.home-refined .hero-detail { max-width:none; }
 .home-refined .hero-project { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); padding:25px; gap:22px; }
 .showcase-heading>p:not(.eyebrow) { font-size:29px; }
 .showcase-heading .eyebrow { font-size:8px; letter-spacing:1px; }
 .home-refined .hero-project .browser { align-self:start; }
 .home-refined .hero-project figcaption { grid-column:1/-1; grid-row:4; min-height:64px; }
 .home-refined .hero-project figcaption strong { min-height:20px; max-width:none; }
 .home-refined .section-heading { gap:28px; }
 .work-toolbar { align-items:flex-start; flex-direction:column; gap:12px; }
}
@media (max-width:700px) {
 .home-refined .nav { flex-wrap:wrap; padding-block:12px 0; gap:8px 15px; }
 .home-refined .nav .brand img { width:120px; }
 .home-refined .nav>.button { margin-left:auto; }
 .home-refined .nav nav { display:flex; width:100%; order:3; justify-content:space-between; gap:8px; border-top:1px solid #dbe1e9; padding-block:1px; }
 .home-refined .nav nav>a,.home-refined .nav nav>a:last-child { display:inline-block; font-size:10px; padding-block:13px; }
 .home-refined .motion-control { width:29px; height:29px; font-size:12px; }
 .home-refined .hero { padding-top:36px; }
 .home-refined .hero-copy { gap:23px; }
 .home-refined .hero h1 { font-size:clamp(43px,11.4vw,76px); }
 .home-refined .hero-intro { font-size:18px; }
 .home-refined .hero-detail { font-size:13px; }
 .home-refined .hero-project { padding:24px 20px 18px; display:flex; flex-direction:column; gap:22px; }
 .showcase-heading>p:not(.eyebrow) { font-size:36px; }
 .showcase-heading .eyebrow { margin-bottom:20px; }
 .showcase-heading>span { font-size:11px; }
 .home-refined .hero-choices { order:1; }
 .home-refined .hero-choices button { font-size:10px; padding:8px 11px; }
 .home-refined .hero-project .browser { order:2; width:100%; }
 .home-refined .hero-project figcaption { order:3; padding-top:16px; min-height:85px; }
 .home-refined .hero-project figcaption strong { max-width:230px; min-height:54px; font-size:12px; }
 .home-refined .own-product { padding:25px; }
 .home-refined .own-product h3 { font-size:48px; }
 .home-refined .own-product h3 span { font-size:16px; }
 .home-refined .own-product-top { font-size:8px; }
 .home-refined #projekte { padding-top:70px; }
 .work-filters { gap:5px; }
 .work-filters button { font-size:10px; padding:11px 12px; }
 .home-refined .project-index { gap:10px 18px; }
 .home-refined .project-index a { font-size:10px; }
 .home-refined .project-image,.home-refined .project-grid .project-image { padding:18px; }
 .home-refined .product-views { padding:12px; }
 .home-refined .product-views figcaption { min-height:48px; }
 .home-refined .service-row h3 { font-size:26px; }
 .home-refined .about>img { box-shadow:10px 10px 0 #d9e3f9; }
 .home-refined .contact-banner { padding-block:65px; }
 .home-refined [id] { scroll-margin-top:150px; }
}
html.motion-paused { scroll-behavior:auto; }
html.motion-paused .home-refined *,html.motion-paused .home-refined *::before,html.motion-paused .home-refined *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
@media (prefers-reduced-motion:reduce) {
 .home-refined *, .home-refined *::before,.home-refined *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
