:root{--bg:#0b151c;--panel:#12232d;--ink:#edf4f7;--muted:#b8cbd5;--accent:#64c9e9;--on-accent:#081a24;color-scheme:dark;font:17px/1.6 "Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}figcaption{font-size:16px;color:var(--muted);margin-top:12px}p{max-width:65ch;margin:0 0 1.2em}h1,h2,h3{font-family:inherit;font-weight:500;letter-spacing:-.04em;line-height:1.1;text-wrap:balance;margin:0 0 24px}h1{font-size:clamp(40px,4.4vw,68px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:28px}address{font-style:normal}header{background:var(--bg)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip-link{position:absolute;left:16px;top:-100px;background:var(--accent);color:var(--on-accent);padding:12px;z-index:20}.skip-link:focus{top:10px}
.nav{display:flex;align-items:center;gap:24px;max-width:1440px;margin:auto;padding:24px 4vw;position:relative}.wordmark{font-size:27px;font-weight:700;letter-spacing:-.06em;text-decoration:none}.nav #menu{display:flex;gap:20px;align-items:center;margin-left:auto}.nav a{white-space:nowrap}.nav #menu>a{font-size:15px;text-decoration:none}.nav-cta{background:var(--accent);color:var(--on-accent);padding:12px 16px}.nav-cta:hover{background:var(--ink);color:var(--on-accent)}.languages{display:flex;gap:2px}.languages a{padding:9px 8px;font-size:14px;min-height:44px;text-decoration:none}.languages [aria-current=page]{background:var(--panel);color:var(--accent)}.menu-toggle{display:none}.section{max-width:1440px;padding:88px 5vw;margin:auto}.breadcrumbs{max-width:1440px;margin:auto;padding:20px 5vw 0;color:var(--muted);font-size:15px}.breadcrumbs span{margin-left:8px}.intro{font-size:20px;line-height:1.55}.home-hero,.service-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;align-items:center;padding-top:48px}.home-hero figure img,.service-hero figure img{aspect-ratio:4/3;object-fit:cover}.home-hero h1{font-size:clamp(40px,4.2vw,64px)}.service-hero:not(:has(figure)){display:block;max-width:1000px}.service-hero:not(:has(figure)) h1{max-width:20ch}.actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:0;background:var(--panel);color:var(--ink);text-decoration:none;font-weight:600;border-radius:0}.button.primary{background:var(--accent);color:var(--on-accent)}.button:hover{background:var(--ink);color:var(--on-accent)}.button.ghost{background:transparent;text-decoration:underline;padding-left:0;font-weight:400;color:var(--ink)}.button:active{transform:translateY(1px)}.services,.projects,.related,.contact-block{background:var(--panel)}.service-list{display:block}.service-list article{display:grid;grid-template-columns:1fr 2fr auto;gap:32px;align-items:baseline;padding:28px 0}.service-list h3 a{text-decoration:none}.service-list p{margin:0}.service-list article>a,.service-links a{color:var(--accent)}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:48px}.photo-pair figure:nth-child(2){padding-top:90px}.photo-pair img{aspect-ratio:4/3;object-fit:cover}.projects .actions{margin-bottom:0}.split,.film-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.fan{margin-bottom:20px;animation:spin 14s linear infinite;max-height:90px}.film-section{background:var(--panel)}video{width:100%;aspect-ratio:16/9;background:#070f15}.service-detail{display:grid;gap:56px}.service-detail article{display:grid;grid-template-columns:1fr 1.6fr;gap:6vw}.service-detail p{margin:0}.faq{max-width:1000px}details{background:var(--panel);margin:16px 0;padding:24px}summary{font-size:21px;cursor:pointer}details p{margin-top:18px}.service-links{display:flex;flex-wrap:wrap;gap:16px 32px}.service-links a{min-height:44px;display:inline-flex;align-items:center}.narrow{max-width:960px}.narrow h2{margin-top:48px}.reading-list article{padding:24px 0}.reading-list h2{margin:0 0 20px}.quote-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;align-items:start}form{background:var(--panel);padding:32px}form label{display:block;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #607a88;background:#0b151c;color:var(--ink);padding:12px;margin-top:6px;border-radius:0}textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check{display:flex;gap:12px;align-items:start}.check input{width:22px;height:22px;flex:none;margin-top:4px;accent-color:var(--accent)}.check span{min-width:0}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #ffb7ad}#form-error{color:#ffb7ad}#prepared{margin-top:36px}#prepared h2{font-size:28px}#prepared-mail{max-width:100%;overflow-wrap:anywhere}footer{padding:64px 5vw;background:#070f15}.footer-brand{font-size:clamp(54px,10vw,144px);letter-spacing:-.06em;line-height:1.1;margin-bottom:32px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:32px}.footer-links a{min-height:44px}.legal-content table{width:100%;border-collapse:collapse;font-size:16px}.legal-table-wrap{overflow:auto}.legal-content th,.legal-content td{text-align:left;vertical-align:top;padding:12px;border:1px solid #607a88}.legal-content code{overflow-wrap:anywhere}.legal-date{color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
.legal-content{overflow-wrap:anywhere}.legal-content h1{font-size:clamp(30px,4vw,54px)}
@media(max-width:1250px){.menu-toggle{display:block;margin-left:auto;padding:10px 14px;border:0;background:var(--panel);color:var(--ink);min-height:44px}.nav #menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--panel);padding:24px 5vw;z-index:10;flex-wrap:wrap}.nav #menu.open{display:flex}.nav #menu a{padding:10px;min-height:44px}}
@media(max-width:760px){.nav{gap:10px;padding:18px 20px}.wordmark{font-size:25px}.languages a{padding:10px 7px}.section{padding:56px 20px}.breadcrumbs{padding:18px 20px 0}.home-hero,.service-hero,.split,.film-section,.quote-layout{grid-template-columns:1fr;gap:32px}.home-hero{padding-top:30px}.home-hero h1{font-size:clamp(34px,8.8vw,54px)}.intro{font-size:18px}.service-list article{grid-template-columns:1fr;gap:10px}.service-list h3{margin:0}.photo-pair{grid-template-columns:1fr;gap:32px}.photo-pair figure:nth-child(2){padding-top:0}.service-detail article{grid-template-columns:1fr;gap:0}.service-detail{gap:32px}.actions{gap:12px;margin:24px 0}.actions .ghost{font-size:16px}.quote-layout form{padding:22px}.field-pair{grid-template-columns:1fr;gap:0}footer{padding:48px 20px}.narrow h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.hero-film{min-width:0}.hero-film video{display:block;aspect-ratio:16/9;object-fit:cover}.hero-film figcaption{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:14px}.hero-film figcaption span{max-width:30ch}.hero-film button{flex:none;font-size:14px;min-height:44px;padding:10px 14px}@media(max-width:760px){.home-hero .hero-film{grid-row:1}.hero-film figcaption{gap:10px}}
