/* Separate mobile presentation; desktop styles remain in site-v4-1.css. */
.mobile-experience,.mobile-form-intro,.mobile-footer{display:none}
@media screen and (max-width:760px){
 :root{--m-ink:#102130;--m-blue:#2563eb;--m-muted:#526171;--m-line:#dde5ee}
 html{scroll-padding-top:90px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:17px;line-height:1.65;background:#fff}
 .desktop-experience{display:none}
 .mobile-experience,.mobile-form-intro,.mobile-footer{display:block}
 .site-header{position:sticky;top:0;background:#fff;box-shadow:none;border-bottom:1px solid #e7edf3}
 .header-inner{width:calc(100% - 40px);height:68px;gap:16px}
 .brand img{width:124px;height:36px}
 .desktop-nav,.header-cta{display:none}
 .mobile-nav{display:block}
 .mobile-nav summary{display:flex;align-items:center;list-style:none;gap:10px;min-height:44px;font-size:15px;font-weight:600;padding:8px 12px;border:1px solid #e1e7ef;background:#f8fafc;border-radius:12px;cursor:pointer}
 .mobile-nav summary::-webkit-details-marker{display:none}
 .menu-glyph{width:18px;height:12px;position:relative;border-block:1.5px solid #102130}
 .menu-glyph:after{content:'';position:absolute;top:4px;width:18px;border-top:1.5px solid #102130}
 .mobile-nav[open] .menu-glyph{border:0}
 .mobile-nav[open] .menu-glyph:before,.mobile-nav[open] .menu-glyph:after{content:'';position:absolute;top:5px;width:18px;border-top:1.5px solid #102130;transform:rotate(45deg)}
 .mobile-nav[open] .menu-glyph:after{transform:rotate(-45deg)}
 .mobile-links{position:absolute;left:0;right:0;top:67px;display:grid;padding:12px 20px 20px;background:white;border-bottom:1px solid var(--m-line);border-radius:0 0 18px 18px;box-shadow:0 16px 24px #1021300d;max-height:calc(100dvh - 80px);overflow:auto}
 .mobile-links a{font-size:17px;font-weight:600;padding:15px 8px;min-height:52px;text-decoration:none;border-bottom:1px solid var(--m-line)}
 .mobile-links a:last-child{color:var(--m-blue);border:0}
 /* Studio mobile layout: deliberate image, type and colour hierarchy. */
 body{background:#f7f6f2}
 .site-header{background:#f7f6f2;border-bottom:1px solid #e3e5e3}
 .header-inner{height:70px;width:calc(100% - 48px);max-width:552px}
 .brand img{width:116px;height:34px}
 .mobile-nav summary{background:transparent;border-color:#d9dfdf;border-radius:50px;font-size:14px;padding:9px 14px;gap:11px}
 .mobile-links{background:#f7f6f2;border-radius:0 0 20px 20px;top:69px}
 .studio{--s-ink:#102330;--s-muted:#4c606a;--s-blue:#2563eb;--s-paper:#f7f6f2;color:var(--s-ink)}
 .s-shell{width:calc(100% - 48px);max-width:552px;margin-inline:auto}
 .studio p{margin:0;font-size:17px;line-height:1.75;color:var(--s-muted)}
 .studio h1,.studio h2,.studio h3{margin:0;color:var(--s-ink);font-weight:800;text-wrap:balance}
 .studio h1 em,.studio h2 em{font-style:normal}
 .studio .s-location{font-size:13px;font-weight:600;line-height:1.5;color:var(--s-ink);display:flex;align-items:center;gap:8px;margin-bottom:23px}
 .s-location>span{display:block;width:7px;height:7px;border-radius:50%;background:var(--s-blue);box-shadow:0 0 0 4px #2563eb0b;flex:none}
 .s-hero{padding-top:32px}
 .studio h1{font-size:clamp(45px,12vw,68px);line-height:1.04;letter-spacing:-2.5px;margin:0 0 18px}
 .studio h1 em{color:var(--s-blue)}
 .studio .s-opening{font-size:16px;line-height:1.65;max-width:25ch}
 .s-portrait{position:relative;margin:25px 16px 0;width:calc(100% - 32px);max-width:568px;overflow:hidden;border-radius:16px;background:#102330}
 .s-portrait:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#07131bbd);pointer-events:none}
 .s-portrait img{width:100%;height:auto;aspect-ratio:1.24;object-fit:cover;object-position:50% 30%}
 .s-portrait figcaption{position:absolute;z-index:1;bottom:20px;left:20px;right:20px;display:flex;align-items:center;gap:12px;color:white;font-size:14px;line-height:1.5}
 .s-portrait figcaption strong{font-size:16px;font-weight:700}
 .s-photo-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff70;border-radius:50%;font-size:26px;flex:none;background:#ffffff0a}
 .s-hero-bottom{padding:25px 0 43px}
 .s-hero-bottom>p{font-size:17px;line-height:1.7;margin-bottom:22px}
 .s-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:17px 18px;gap:12px;border:1px solid transparent;border-radius:11px;text-decoration:none;font-size:16px;font-weight:700;line-height:1.5;transition:background .16s,transform .16s}
 .s-button>span{font-size:24px;line-height:1;font-weight:400;flex:none}
 .s-button-blue{background:var(--s-blue);color:white;box-shadow:0 6px 14px #2563eb12}
 .s-button-blue:active{background:#1d4ed8}
 .s-button-outline{color:var(--s-ink);border-color:#cfd8dd;background:transparent;font-weight:600;font-size:15px;min-height:54px}
 .s-button-white{background:#f7f6f2;color:var(--s-ink)}
 .s-button-ink{background:var(--s-ink);color:white}
 .s-hero-note{display:flex;gap:10px;align-items:flex-start;margin:15px 0 23px}
 .s-hero-note>span{color:var(--s-blue);font-size:16px;line-height:1.5}
 .studio .s-hero-note p{font-size:14px;line-height:1.55}
 .s-hero-note br{display:none}
 .s-section{padding-block:58px}
 .studio .s-kicker{font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.085em;text-transform:uppercase;color:#416476;margin-bottom:19px}
 .studio h2{font-size:clamp(31px,8.5vw,43px);line-height:1.15;letter-spacing:-1.35px;margin-bottom:23px}
 .studio h3{font-size:19px;line-height:1.45;letter-spacing:-.4px;margin-bottom:9px}
 .studio .s-intro{font-size:17px;line-height:1.75}
 #m-elektrikere{border-top:1px solid #dce1df;padding-top:43px}
 .s-desires{margin-top:30px}
 .s-desires details{border-bottom:1px solid #d7dfe1}
 .s-desires summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;font-size:16px;font-weight:700;line-height:1.55;min-height:76px;padding:17px 0}
 .s-desires summary::-webkit-details-marker,.s-faq-list summary::-webkit-details-marker,.s-terms summary::-webkit-details-marker{display:none}
 .s-detail-icon{width:32px;height:32px;border-radius:50%;background:#e9edf0;color:#2b5fc0;display:grid;place-items:center;font-size:22px;font-weight:400;flex:none}
 .s-desires details[open] .s-detail-icon{background:#2563eb;color:white}
 .s-desires details>p{padding:0 0 23px 44px;font-size:16px;line-height:1.75}
 .s-expand{position:relative;width:18px;height:18px;flex:none;margin-left:auto;color:inherit}
 .s-expand:before,.s-expand:after{content:'';position:absolute;background:currentColor;left:2px;right:2px;height:1.5px;top:8px;transition:transform .15s}
 .s-expand:after{transform:rotate(90deg)}
 details[open]>summary .s-expand:after{transform:rotate(0)}
 .s-process{background:#122c3b;color:#fff;border-radius:26px 26px 0 0}
 .s-process h2,.s-process h3{color:#fff}
 .s-process h2 em{color:#99b9ff}
 .s-process .s-kicker{color:#a6bac7}
 .s-process p{color:#c9d5dc}
 .s-timeline{list-style:none;margin:35px 0 32px;padding:0;display:grid;gap:0}
 .s-timeline li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:17px;padding-bottom:30px}
 .s-timeline li:before{content:'';position:absolute;width:1px;left:18px;top:36px;bottom:0;background:#3a5360}
 .s-timeline li:last-child{padding-bottom:0}
 .s-timeline li:last-child:before{display:none}
 .s-step{display:grid;place-items:center;border:1px solid #617783;background:#1b394b;color:#aec8ff;font-size:13px;font-weight:700;width:37px;height:37px;border-radius:50%;line-height:1;margin-top:0}
 .s-timeline h3{font-size:18px;line-height:1.45;margin-bottom:8px}
 .s-timeline p{font-size:16px;line-height:1.75}
 .studio .s-fine{font-size:14px;line-height:1.65;margin-top:17px}
 .s-control{padding-top:63px}
 .s-promise{position:relative;background:#eaf0ed;border-radius:15px;padding:24px;margin-top:29px}
 .s-promise>svg{width:29px;height:29px;color:#35616b;margin-bottom:21px}
 .s-promise h3{font-size:20px}
 .s-promise p{font-size:16px}
 .s-promise a{display:block;font-size:15px;line-height:1.6;color:#244e60;font-weight:700;text-decoration:none;border-top:1px solid #ccdad6;padding-top:17px;margin-top:22px}
 .s-promise a span{margin-left:8px}
 .s-faq{padding-top:8px}
 .s-faq-list{border-top:1px solid #d6dfe2;margin-top:27px}
 .s-faq-list details{border-bottom:1px solid #d6dfe2}
 .s-faq-list summary{display:flex;align-items:center;gap:20px;min-height:76px;list-style:none;padding:21px 0;font-size:17px;font-weight:600;line-height:1.5;cursor:pointer}
 .s-faq-list .s-expand{color:#496a7b}
 .s-faq-list details p{font-size:16px;padding-bottom:24px;line-height:1.8}
 .studio .s-faq-contact{font-size:15px;line-height:1.9;margin-top:25px}
 .s-faq-contact a{font-weight:600;color:#1b4a67;text-decoration:none}
 .s-employer{background:#e5ebf4;border-block:1px solid #dce3ed}
 .s-employer h2 em{color:#2563eb}
 .s-rate{padding:27px 0 0;margin-top:10px}
 .studio .s-rate>p:first-child{font-size:13px;line-height:1.6;margin-bottom:14px;color:#4c5f77}
 .s-rate>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
 .s-rate strong{font-size:52px;line-height:1.1;letter-spacing:-2.4px;color:#173547;font-weight:800}
 .s-rate>div>span{font-size:15px;font-weight:600}
 .studio .s-rate>p:last-child{font-size:16px;color:#233f50}
 .s-rate-points{padding:21px 0 25px;margin:0;list-style:none;font-size:16px;line-height:1.7;display:grid;gap:6px}
 .s-rate-points span{color:#2563eb;margin-right:10px}
 .s-terms{margin-top:19px;border-bottom:1px solid #bdccdb}
 .s-terms summary{list-style:none;display:flex;align-items:center;gap:15px;cursor:pointer;min-height:54px;font-size:14px;line-height:1.7;padding:10px 0}
 .s-terms p{font-size:16px;line-height:1.8;padding:8px 0 23px}
 .s-close{padding-block:62px}
 .s-close h2 em{color:#2563eb}
 .s-close>p:not(.s-kicker):not(.s-fine){font-size:18px;line-height:1.65;margin-bottom:26px}
 .s-close>.s-fine{text-align:center}
 .footer{display:none}
 .mobile-footer{background:#102330;color:#fff;padding:38px 24px calc(32px + env(safe-area-inset-bottom,0px));border:0}
 .mobile-footer>div{max-width:552px;margin:auto}
 .mobile-footer .s-footer-line{font-size:26px;font-weight:600;line-height:1.25;letter-spacing:-.6px;margin:0 0 31px;color:#fff}
 .mobile-footer img{width:120px;height:auto;margin:0 0 17px}
 .mobile-footer a{display:block;color:#e4ecf2;min-height:44px;padding:8px 0;font-size:16px;text-decoration:none;width:fit-content}
 .mobile-footer p{font-size:14px;color:#b5c4d0;line-height:1.9;margin-top:22px}

 /* The form is shared; the mobile introduction, proportions and reading order are independent. */
 .candidate-page{background:#fff}
 .candidate-page .form-layout{display:block;width:auto;max-width:600px;margin:auto;padding:22px 24px 48px}
 .candidate-page .form-aside{display:none}
 .mobile-form-intro>a{display:inline-block;min-height:44px;font-size:16px;color:var(--m-muted);text-decoration:none;padding:8px 0;margin-bottom:14px}
 .mobile-form-intro>p:first-of-type{color:var(--m-blue);font-size:14px;font-weight:600;margin-bottom:12px}
 .mobile-form-intro h1{font-size:32px;line-height:1.18;letter-spacing:-1px;margin:0 0 15px;text-wrap:balance}
 .mobile-form-intro>p:last-child{font-size:17px;line-height:1.65;color:var(--m-muted);margin-bottom:28px}
 .candidate-page .form-card{padding:0;border:0;border-radius:0;box-shadow:none;background:white}
 .form-card:has(form)>.section-label,.form-card:has(form)>h2{display:none}
 .candidate-page .form-lead{font-size:14px;line-height:1.7;margin-bottom:20px}
 .candidate-page .form-progress{margin:0 0 28px;scroll-margin-top:10px}
 .candidate-page .form-progress-top{margin-bottom:12px}
 .candidate-page .form-progress-top span{font-size:15px}
 .candidate-page .form-progress-bars span{height:5px}
 .candidate-page .form-row{display:grid;grid-template-columns:1fr;gap:0}
 .candidate-page .form-card fieldset{padding-top:0;min-width:0}
 .candidate-page .form-card legend{font-size:16px;line-height:1.5;margin-bottom:12px;float:none;width:100%;padding:0}
 .candidate-page .form-card legend span{font-size:21px;font-weight:800;margin-left:10px;letter-spacing:-.4px}
 .candidate-page .form-card label:not(.choice):not(.consent){font-size:16px;line-height:1.5;margin:20px 0 9px;font-weight:600;white-space:normal}
 .candidate-page .form-card label span{font-size:15px}
 .candidate-page .form-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.candidate-page .form-card select,.candidate-page .form-card textarea{font-size:18px;line-height:1.5;min-height:56px;padding:14px 16px;border-radius:12px;background:#fbfcfe;border:1px solid #aebed0;width:100%}
 .candidate-page .form-card textarea{min-height:120px}
 .candidate-page .form-card .choice-grid{grid-template-columns:1fr;gap:12px;margin:18px 0 24px}
 .candidate-page .form-card .choice{min-height:60px;gap:14px;padding:15px 16px;border-radius:12px;font-size:17px;line-height:1.5}
 .candidate-page .form-card .choice span{font-size:17px}
 .candidate-page .form-card input[type=radio],.candidate-page .form-card input[type=checkbox]{height:22px;width:22px;margin:0;flex:none}
 .candidate-page .form-card .field-help{font-size:16px;line-height:1.65;margin-top:10px}
 .candidate-page .form-step-nav{display:flex;flex-direction:column;gap:12px;margin-top:28px}
 .candidate-page .form-step-nav .btn{width:100%;max-width:none;min-height:56px;font-size:16px;line-height:1.5;padding:15px 18px;margin:0;border-radius:12px}
 .candidate-page .form-step-nav .step-next{order:-1;flex:auto;justify-content:space-between}
 .candidate-page .form-step-nav .step-back{justify-content:center;flex:auto}
 .candidate-page .form-step-nav.is-final .form-submit{order:-1;width:100%;flex:auto;flex-basis:auto;font-size:16px}
 .candidate-page .form-card .consent-box{margin:26px 0 0;padding:20px 16px;font-size:16px;line-height:1.7;border-radius:14px;background:#f3f6fb}
 .candidate-page .form-card .consent{display:block}
 .candidate-page .form-card .consent span{font-size:16px;line-height:1.7}
 .candidate-page .form-card .consent input{float:left;margin:4px 12px 4px 0}
 .candidate-page .form-card .consent-box>a{margin:16px 0 0;font-size:15px;line-height:1.65;display:block}
 .candidate-page .form-card .form-small{font-size:14px;line-height:1.75;margin-top:20px}
 .candidate-page .form-card>.section-label{font-size:14px}
 .candidate-page .form-card>h2{font-size:30px;line-height:1.25}
 .candidate-page .form-card>p{font-size:17px;line-height:1.7}
 .candidate-page:not(:has(form)) .mobile-form-intro{display:none}
 .candidate-page:not(:has(form)) .form-card{padding-top:20px}
 .candidate-page .form-errors{font-size:16px;padding:18px;line-height:1.65}
 /* Privacy remains complete and readable. */
 .legal-heading .wrap,.legal-layout.wrap{width:calc(100% - 48px);max-width:552px}
 .legal-heading{padding-block:28px}
 .legal-heading h1{font-size:34px;line-height:1.2}
 .legal-heading .text-link,.legal-meta,.legal-heading .section-label{font-size:14px}
 .legal-layout{display:block;padding-top:25px}
 .legal-nav{display:none}
 .legal-mobile-nav{display:block;border:1px solid var(--m-line);border-radius:12px;padding:16px;margin-bottom:28px}
 .legal-mobile-nav summary{font-size:16px;min-height:28px}
 .legal-mobile-nav a{display:block;font-size:16px;line-height:1.6;margin-top:12px;padding:5px 0;text-decoration:none}
 .legal-content,.legal-content p{font-size:17px;line-height:1.85}
 .legal-content h2{font-size:24px;line-height:1.35}
 .legal-content h3{font-size:20px}
}

@media screen and (min-width:601px) and (max-width:760px){.s-portrait{margin-inline:auto}}
@media screen and (max-width:350px){.s-shell{width:calc(100% - 40px)}.studio h1{font-size:42px}.studio h2{font-size:30px}.studio .s-location{font-size:12px}.s-desires summary{font-size:15px;gap:9px}.s-detail-icon{width:28px;height:28px}.s-desires details>p{padding-left:0}.s-button{padding-inline:14px;font-size:15px}.s-rate strong{font-size:47px}}
@media screen and (max-width:760px){
 .candidate-page{background:#f7f6f2}
 .candidate-page .form-layout{padding-top:18px}
 .mobile-form-intro>p:first-of-type{font-size:12px;letter-spacing:.06em;text-transform:uppercase}
 .mobile-form-intro h1{font-size:35px;letter-spacing:-1.3px;line-height:1.14}
 .mobile-form-intro h1 em{font-style:normal;color:#2563eb}
 .candidate-page .form-card{background:transparent}
 .candidate-page .form-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.candidate-page .form-card select,.candidate-page .form-card textarea{background:white;border-color:#b9c6cf}
 .candidate-page .form-card .choice{background:white;border:1px solid #ccd6df}
 .candidate-page .form-card .choice:has(input:checked){background:#eaf0ff;border-color:#2563eb}
 .candidate-page .form-card .choice-grid:has(input[type=radio]){grid-template-columns:1fr}
 .candidate-page .form-card .consent-box{background:#eaf0ed}
 .candidate-page .form-progress-bars span{background:#dce3e5}
 .candidate-page .form-progress-bars span.is-complete{background:#2563eb}
 .candidate-page .form-step-nav .btn{border-radius:11px}
 .legal-heading,.legal-layout{background:#f7f6f2}
}
@media(prefers-reduced-motion:reduce){.s-button,.s-expand:before,.s-expand:after{transition:none}}

@media screen and (max-width:760px){
 .studio .s-opening{font-size:17px;line-height:1.7;max-width:34ch;margin-bottom:23px}
 .studio .s-hero-free{font-size:13px;line-height:1.65;margin-top:13px;color:#52616a}
 .s-hero-bottom{padding-top:0;padding-bottom:36px}
 .s-hero-note{padding-top:20px;margin:0 0 22px;gap:12px}
 .studio .s-hero-note p{font-size:16px;line-height:1.65}
 .s-hero-note br{display:initial}
 .s-hero-note>span{padding-top:2px}
}

.s-detail-icon svg{width:19px;height:19px}
