/* Clear customer journeys, shared across desktop and mobile. */
:root { --customer-gold:#e5bd64; --amber:#e5bd64; }
/* Validation and focus must not leave controls moving under a customer's pointer. */
html { scroll-behavior:auto; scroll-padding-top:96px; }
body { background:#0b1419; color:#bac8cd; }
[hidden] { display:none!important; }
.fx,.cut,.lb,.beams,.medal,.ticker,.reel { display:none!important; }
.rv { opacity:1!important; transform:none!important; }
.glass,.glass:hover { transform:none!important; background:#111f26; box-shadow:none; backdrop-filter:none; }
.glass::before,.glass::after { display:none; }
.metal { background:none; color:#f4f1e8; -webkit-text-fill-color:currentColor; }
.section { padding-block:72px; }
.head { margin-bottom:30px; }
.head h2 { font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.15; margin-bottom:16px; }
.head p { max-width:62ch; }
.eyebrow { letter-spacing:.12em; line-height:1.5; }
.btn { background:#e5bd64; color:#101a20; box-shadow:none; min-height:48px; border-radius:8px; font-weight:700; text-align:center; }
.btn:hover { background:#f4d48e; box-shadow:none; transform:none; }
.btn-ghost { background:transparent; color:#f1e7ce; border:1px solid #677478; }
.btn-ghost:hover { color:#111c21; }
.text-link { display:inline-block; color:#e5bd64; text-underline-offset:5px; padding:10px 0; font-weight:600; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #f2cc7c; outline-offset:5px; }
.skip-link { position:fixed; top:10px; left:12px; padding:12px 18px; background:#e5bd64; color:#0b1419; z-index:999; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.top { background:#0b1419f5; backdrop-filter:blur(12px); }
.top .bar { max-width:1280px; }
.top .nav a { font-size:.92rem; }
.top .brand .bn { color:#f4f1e8; }
.top .hphone { font-size:.9rem; }
.top .btn-sm { min-height:44px; }
.welcome { padding:54px 0 64px; }
.welcome-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:64px; }
.welcome-copy h1 { font-size:clamp(2.7rem,5.4vw,4.9rem); line-height:1.06; letter-spacing:-.035em; color:#f4f1e8; margin:0 0 24px; }
.welcome-copy .lead { max-width:43ch; line-height:1.65; font-size:1.12rem; }
.welcome-copy .cta-row { margin-top:30px; gap:24px; }
.welcome-note { font-size:.86rem; margin-top:24px; color:#a4b5bd; }
.welcome-photo { margin:0; position:relative; border-radius:12px; overflow:hidden; border:1px solid #334148; }
.welcome-photo img { display:block; width:100%; height:490px; object-fit:cover; object-position:center 48%; }
.welcome-photo figcaption { padding:16px 20px; background:#14252e; color:#d5ddd9; font-size:.8rem; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.welcome-photo a { color:#e5bd64; }
.service-picker { background:#101e25; border-block:1px solid #25343b; }
.service-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-choice { padding:28px; background:#15262e; border:1px solid #35464d; border-radius:12px; display:flex; flex-direction:column; align-items:flex-start; }
.service-number { font-size:.72rem; letter-spacing:.12em; color:#e5bd64; margin-bottom:26px; }
.service-choice h3 { font-size:1.4rem; line-height:1.2; margin-bottom:16px; }
.service-choice p { flex:1; margin-bottom:28px; }
.service-choice .btn { width:100%; font-size:.9rem; padding-inline:14px; }
.service-choice .text-link { font-size:.85rem; margin-top:10px; }
.simple-process { border-bottom:1px solid #25343b; }
.process-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; gap:32px; margin:0; padding:0; }
.process-list li { display:flex; align-items:flex-start; gap:16px; }
.process-list li>span,.form-step { display:inline-grid; place-items:center; width:34px; height:34px; flex:none; background:#e5bd6419; border:1px solid #e5bd6470; border-radius:50%; color:#e5bd64; font-weight:650; }
.process-list h3 { font-size:1.08rem; margin:5px 0 10px; }
.process-list p { font-size:.95rem; }
.team-section { background:#0d191f; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.team-card { border-top:1px solid #415057; padding-top:24px; }
.team-avatar { height:100px; width:100px; overflow:hidden; border-radius:50%; display:grid; place-items:center; font-size:1.6rem; color:#e5bd64; background:#21333c; margin-bottom:22px; }
.team-avatar img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 44%; }
[data-profile="DaniTarraf"] .team-avatar img { object-position:center 80%; }
.team-card h3 { font-size:1.35rem; margin-bottom:8px; }
.team-card p { min-height:3.3em; font-size:.95rem; margin-bottom:10px; }
.team-card a { color:#e5bd64; text-underline-offset:5px; display:inline-block; padding:10px 0; font-size:.9rem; }
.contact-band { background:#172a33; }
.contact-band>.wrap { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.contact-band h2 { margin-bottom:20px; }
.contact-number { display:inline-block; font-size:clamp(1.8rem,4vw,2.6rem); color:#e5bd64; text-decoration:none; margin:12px 0; font-weight:750; }
.contact-band-actions { display:grid; gap:12px; flex:none; }
.contact-role { display:block; max-width:28ch; margin-block:6px; line-height:1.5; color:#bac8cd; }
.foot { padding-bottom:36px; background:#081116; }
.foot p { font-size:.94rem; }
.foot li { overflow-wrap:anywhere; }
.fabs { display:none; }
.phero h1 { line-height:1.13; }
.phero .lead { line-height:1.65; }
.contact-hero h1 { font-size:clamp(2rem,4vw,3.5rem); }
.contact-page .kgrid { grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); gap:40px; }
.form { display:flex; flex-direction:column; gap:28px; padding:32px; border:1px solid #3d4d55; }
.form fieldset { border:0; padding:0; margin:0; min-width:0; }
.form legend { display:flex; align-items:center; gap:10px; color:#f4f1e8; font:650 1.1rem/1.5 system-ui,sans-serif; letter-spacing:0; text-transform:none; margin-bottom:16px; }
.form legend small { color:#b7c4ca; font-size:.8rem; }
.form .fnote { font-size:.85rem; line-height:1.6; margin-bottom:12px; }
.form .chips { justify-content:flex-start; gap:8px; margin-bottom:18px; }
.form .chip span { border-radius:8px; padding:12px 16px; }
.form .fgrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form .fgrid .full { grid-column:1/-1; }
.form .f input,.form .f textarea { background:#0a151b; border:1px solid #66777e; border-radius:8px; font-size:1rem; line-height:1.5; min-width:0; }
.form .f input { min-height:48px; }
.form .f textarea { min-height:110px; }
.form-details { border-bottom:1px solid #405057; padding-bottom:12px; margin-bottom:16px; }
.form-details summary { cursor:pointer; min-height:44px; padding:8px 0; color:#e5bd64; font-weight:600; }
.form-details[open] summary { margin-bottom:16px; }
.form-details .check { margin:12px 0; }
.form-intro { color:#bac8cd; font-size:.9rem; }
.contact-person { padding:22px 4px; }
.contact-person h2 { font-size:1.7rem; margin-bottom:12px; }
.contact-person p+p { margin-top:18px; }
.side .ci { border-radius:10px; }
.contact-page .side { align-content:start; }
.contact-page #send { min-height:52px; }
@media(max-width:1180px) {
 .top .bar { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
 .welcome-grid { gap:32px; }
 .service-choice { padding:22px; }
}
@media(min-width:1181px) { .top .bar { grid-template-columns:auto minmax(0,1fr) auto auto; } }
@media(max-width:760px) {
 .section { padding-block:44px; }
 .welcome { padding:32px 0 36px; }
 .welcome-grid { grid-template-columns:1fr; gap:28px; }
 .welcome-copy h1 { font-size:clamp(2.4rem,10.5vw,3.8rem); max-width:15ch; }
 .welcome-copy .lead { font-size:1rem; }
 .welcome-copy .eyebrow { font-size:.65rem; letter-spacing:.08em; margin-bottom:18px; }
 .welcome-copy .cta-row { align-items:stretch; gap:10px; }
 .welcome-copy .cta-row>.btn { width:100%; }
 .welcome-copy .text-link { padding:12px 0; }
 .welcome-note { margin-top:14px; max-width:34ch; }
 .welcome-photo img { height:240px; object-position:center 55%; }
 .welcome-photo figcaption { padding:12px 16px; }
 .service-choice-grid { grid-template-columns:1fr; gap:14px; }
 .service-choice { padding:24px; }
 .service-number { margin-bottom:16px; }
 .service-choice p { margin-bottom:20px; }
 .process-list { grid-template-columns:1fr; gap:24px; }
 .team-grid { grid-template-columns:1fr; gap:24px; }
 .team-card { display:grid; grid-template-columns:76px minmax(0,1fr); column-gap:20px; }
 .team-avatar { grid-row:1/4; width:76px; height:76px; margin:0; }
 .team-card h3 { font-size:1.2rem; }
 .team-card p { min-height:0; margin-bottom:2px; font-size:.88rem; }
 .team-card a { grid-column:2; font-size:.85rem; }
 .contact-band>.wrap { display:block; }
 .contact-band-actions { margin-top:24px; justify-items:start; }
 .contact-band-actions .btn { width:100%; }
 .contact-role { max-width:none; }
 body { padding-bottom:78px; }
 .fabs { display:flex; position:fixed; inset:auto 0 0; z-index:90; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#0b1419f5; border-top:1px solid #46555c; gap:12px; }
 .fabs .btn { flex:1; min-width:0; justify-content:center; font-size:.83rem; min-height:46px; padding:10px 8px; }
 .contact-page .fabs { display:none; }
 .contact-page { padding-bottom:0; }
 .contact-hero .wrap>div { text-align:left; }
 .contact-hero .eyebrow { margin-inline:0; }
 .contact-hero h1,.contact-hero .lead { text-align:left; margin-inline:0; }
 .contact-page .kgrid { grid-template-columns:1fr; gap:24px; }
 .form { padding:20px; gap:24px; border-radius:12px; }
 .form legend { flex-wrap:wrap; font-size:1rem; gap:8px; }
 .form .fgrid { grid-template-columns:1fr; gap:16px; }
 .form .chips { justify-content:flex-start; }
 .form .chip span { font-size:.87rem; padding:12px; }
 .form-details summary { font-size:.92rem; }
 .contact-person { padding:12px 0; }
 .foot .fgrid2 { gap:28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
/* The services overview has its own page. */
.services-intro h1{font-size:clamp(2.1rem,4.5vw,3.5rem);line-height:1.13;max-width:20ch;margin-bottom:24px}.services-intro .lead{max-width:58ch}.service-help{display:grid;gap:20px;justify-items:start}
.home-service-links{padding-block:32px;border-block:1px solid #34454e;background:#10212a}.home-service-links .wrap>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-service-links .wrap>div>a{display:flex;justify-content:space-between;gap:12px;border:1px solid #47616e;padding:20px;border-radius:10px;text-decoration:none;color:#f0e8d8;font-weight:650}.home-service-links .wrap>div>a:hover{border-color:#e5bd64}.home-service-links .wrap>div>a span{color:#e5bd64}
@media(max-width:760px){
 .top .bar{display:flex;justify-content:space-between;min-height:70px;padding-inline:20px}.top .bar>.btn-sm{display:none!important}.top .brand>.bn{display:grid!important;font-size:.88rem!important;letter-spacing:.09em}.top .brand .bn small{display:block!important;font-size:.5rem}.top .brand svg{width:44px;height:34px}.top .burger{margin-left:auto;width:46px;height:46px}.top .nav{top:100%}
 .welcome{padding:0 0 24px}.welcome-grid{padding:0;display:flex;flex-direction:column;gap:0}.welcome-photo{order:0;width:100%;border:0;border-radius:0;overflow:hidden}.welcome-photo img{height:270px;object-position:center 58%;width:100%;mask-image:linear-gradient(#000 65%,transparent)}.welcome-photo figcaption{display:none}.welcome-copy{order:1;position:relative;z-index:1;padding:0 22px;margin-top:-58px;width:100%}.welcome-copy .eyebrow{font-size:.65rem;margin-bottom:16px;letter-spacing:.05em;max-width:100%}.welcome-copy h1{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:clamp(2rem,8.4vw,2.7rem);line-height:1.13;letter-spacing:-.045em;max-width:17ch;margin-bottom:18px}.welcome-copy .lead{font-size:1rem;line-height:1.6}.welcome-copy .cta-row{margin-top:22px}.welcome-note{font-size:.8rem;max-width:none}
 .home-service-links .wrap>div{grid-template-columns:1fr;gap:10px}.home-service-links .wrap>div>a{padding:16px 18px}.home-service-links .eyebrow{font-size:.7rem}
 .fabs,.contact-page .fabs{display:flex;flex-direction:row;align-items:stretch;inset:auto 0 0}.fabs .fab,.fabs .fab-call{position:static;min-height:48px;flex:1}.contact-page{padding-bottom:90px}.contact-page:has(input:focus) .fabs,.contact-page:has(textarea:focus) .fabs{display:none}
 .contact-band-actions>a[href="kontakt.html"],.welcome-copy a[href="kontakt.html"],.phero .cta-row>a[href="kontakt.html"],.band .cta-row>a[href="kontakt.html"]{display:none}
}
