/* Home page editorial layout. Shared page styles and the hero stay in style.css. */
.campaign-proof .campaign-about { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:13px; font-weight:550; border-bottom:1px solid currentColor; }
.campaign-proof .campaign-about:hover { color:var(--pine-dark); }
.campaign-proof>a+span { border-left:1px solid var(--line); padding-left:22px; }
.campaign-proof { align-items:center; }
.guide-is-open { overflow:hidden; }
.interest-guide { width:min(640px,calc(100% - 32px)); max-height:calc(100dvh - 40px); margin:auto; padding:30px 40px 26px; border:1px solid var(--line); border-radius:4px; background:var(--bg); color:var(--ink); box-shadow:0 24px 100px #20281e40; overflow:auto; overscroll-behavior:contain; }
.interest-guide::backdrop { background:#20281e99; backdrop-filter:blur(5px); }
.guide-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.guide-top .eyebrow { margin:0; font-size:10px; }
.guide-close { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); background:transparent; color:var(--ink); border-radius:50%; }
.guide-close:hover { background:var(--surface-2); }
.guide-progress { display:flex; gap:20px; align-items:center; margin:20px 0 28px; color:var(--muted); font-size:12px; }
.guide-progress progress { appearance:none; flex:1; width:100px; height:3px; border:0; background:var(--surface-2); color:var(--accent); }
.guide-progress progress::-webkit-progress-bar { background:var(--surface-2); }
.guide-progress progress::-webkit-progress-value { background:var(--accent); }
.guide-progress progress::-moz-progress-bar { background:var(--accent); }
.interest-guide h2 { font-size:clamp(32px,4vw,44px); line-height:1.1; letter-spacing:-.025em; margin:0; }
.interest-guide h2:focus { outline:0; }
.guide-hint { font-size:14px; line-height:1.65; margin:14px 0 24px; }
.interest-guide fieldset { border:0; padding:0; margin:0; min-width:0; display:grid; gap:10px; }
.guide-option { display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid var(--line); background:transparent; cursor:pointer; min-height:60px; }
.guide-option:hover { background:var(--surface); border-color:var(--accent); }
.guide-option:has(input:checked) { background:var(--surface-2); border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); }
.guide-option:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:3px; }
.guide-option input { margin:0; width:18px; height:18px; flex:none; accent-color:var(--pine-dark); }
.guide-option input:focus-visible { outline:0; }
.guide-option strong { display:block; font-size:15px; line-height:1.5; font-weight:550; }
.guide-option small { display:block; font-size:12px; line-height:1.5; color:var(--muted); margin-top:4px; }
.guide-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:26px; }
.guide-next { margin-left:auto; }
.guide-back { min-height:44px; padding:8px 0; border:0; color:var(--ink); background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:13px; }
.guide-footnote { text-align:center; font-size:11px; line-height:1.6; margin-top:23px; }
.guide-error { color:#8a352b; font-size:13px; margin-top:14px; }
.guide-result { padding-top:24px; }
.guide-result>.eyebrow { font-size:10px; margin-bottom:14px; }
.guide-result>p { margin-top:16px; font-size:15px; }
.guide-summary { padding:20px; background:var(--surface); margin-block:24px; }
.guide-summary>span { font-size:11px; letter-spacing:.04em; font-weight:600; }
.guide-summary ul { margin:10px 0 0; padding-left:18px; font-size:13px; line-height:1.9; }
.guide-outbound { width:100%; }
.guide-action-note { margin-top:12px; font-size:12px; line-height:1.7; }
.guide-copy { display:block; min-height:44px; padding:10px 0 0; margin-top:6px; background:transparent; border:0; color:var(--ink); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.guide-copy-status { font-size:12px; line-height:1.6; }
.guide-copy-status:not(:empty) { margin-top:10px; }
.guide-copy-fallback { width:100%; min-height:145px; margin-top:12px; padding:12px; background:var(--bg); border:1px solid var(--line); color:var(--ink); font-size:13px; resize:vertical; }
.guide-newsletter-note { font-size:11px; line-height:1.6; margin-top:8px; }
.guide-contact-fields { margin-top:24px; }
.guide-field { display:block; font-size:14px; font-weight:550; margin-top:18px; }
.guide-field input { display:block; width:100%; min-height:52px; margin-top:8px; border:1px solid var(--line); border-radius:2px; padding:12px 14px; font-size:16px; font-weight:400; background:#fff9; color:var(--ink); }
.guide-field input::placeholder { color:var(--muted); opacity:.8; }
.guide-consent { display:flex; align-items:flex-start; gap:12px; margin-block:20px; font-size:12px; line-height:1.7; cursor:pointer; }
.guide-consent input { width:18px; height:18px; accent-color:var(--pine-dark); flex:none; margin:2px 0 0; }
.guide-field-help { margin-top:12px; font-size:12px; line-height:1.7; }
.guide-field-help a { text-decoration:underline; text-underline-offset:3px; }
.guide-send { width:100%; margin-top:24px; }
.guide-send:disabled { opacity:.65; cursor:wait; transform:none; }
.guide-submit-status:not(:empty) { margin-top:18px; font-size:14px; padding:16px; background:var(--surface); }
.guide-submit-status[data-error="true"] { color:#8a352b; }
.guide-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.guide-privacy { font-size:11px; line-height:1.7; margin-top:16px; color:var(--muted); }
.guide-privacy summary { cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.guide-privacy p { margin-top:10px; }
.guide-privacy a { text-decoration:underline; }
.guide-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:620px) {
 .campaign-proof>a+span { padding-left:16px; }
 .campaign-proof .campaign-about { font-size:11px; gap:8px; }
 .interest-guide { padding:20px 22px; max-height:calc(100dvh - 24px); width:calc(100% - 24px); }
 .guide-progress { margin-block:18px 24px; }
 .guide-option { padding:13px 14px; }
 .guide-option strong { font-size:14px; }
 .guide-navigation { gap:12px; }
 .guide-next { padding-inline:16px; gap:18px; }
}
.home-services { padding-block:88px 80px; }
.home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-bottom:48px; }
/* Quiet geometric accents sit beside section labels, never behind the copy. */
.page-home .reading-mark { display:block; width:72px; height:auto; aspect-ratio:88/64; flex:none; color:var(--pine,var(--accent)); opacity:.56; pointer-events:none; }
.page-home .reading-mark>* { vector-effect:non-scaling-stroke; }
.page-home .section-label { display:flex; align-items:center; gap:20px; min-height:42px; margin-bottom:24px; }
.page-home .section-label>.eyebrow { margin:0; }
.page-home .section-label>.reading-mark { width:60px; margin-left:auto; }
.page-home .section-label--services { margin-bottom:17px; }
.page-home .section-label--quiet>.reading-mark { width:48px; opacity:.36; }
.page-home .method-intro>.reading-mark { width:88px; margin-top:34px; }
@media(max-width:620px) {
 .page-home .section-label { gap:14px; min-height:32px; margin-bottom:18px; }
 .page-home .section-label>.reading-mark { width:40px; }
 .page-home .section-label--quiet>.reading-mark { display:none; }
 .page-home .method-intro>.reading-mark { width:56px; margin-top:22px; }
}
.home-section-heading .eyebrow { margin-bottom:17px; font-size:10px; letter-spacing:.18em; }
.home-section-heading h2 { font-size:clamp(52px,5.7vw,82px); line-height:1; }
.home-section-heading h2>span { color:var(--accent); }
.home-section-heading>p { max-width:440px; font-size:1rem; line-height:1.85; padding-bottom:4px; }
/* Three direct choices, with original photographs and a shared editorial rhythm. */
.primary-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.primary-service { min-width:0; }
.primary-service>a { display:flex; flex-direction:column; height:100%; border-bottom:1px solid var(--line); padding-bottom:26px; }
.primary-service-image { aspect-ratio:5/4; overflow:hidden; background:var(--surface-2); }
.primary-service-image img { display:block; width:100%; height:100%; object-fit:cover; }
.primary-service--onlinetraning img { object-position:50% 37%; }
.primary-service--personlig-traning img { object-position:50% 78%; }
.primary-service--fasciabehandling img { object-position:50% 0%; }
.primary-service-meta { display:flex; justify-content:space-between; gap:20px; margin-block:24px 16px; font-size:.75rem; letter-spacing:.14em; color:var(--accent); }
.primary-service h3 { font-size:clamp(2rem,3.1vw,2.75rem); line-height:1.05; min-height:2.1em; margin:0 0 18px; }
.primary-service p { font-size:1rem; line-height:1.75; margin:0 0 28px; color:var(--muted); }
.primary-service-link { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:auto; min-height:44px; font-size:.875rem; font-weight:550; color:var(--text); }
.primary-service-link svg { width:24px; height:24px; flex:none; transition:transform .2s; }
.primary-service>a:hover,.primary-service>a:focus-visible { border-color:var(--accent); }
.primary-service>a:hover .primary-service-link,.primary-service>a:focus-visible .primary-service-link { text-decoration:underline; text-underline-offset:5px; }
.primary-service>a:hover .primary-service-link svg { transform:translateX(4px); }
.primary-service>a:focus-visible { outline:2px solid var(--accent); outline-offset:7px; }
.primary-service h3 { overflow-wrap:break-word; }
@media(prefers-reduced-motion:reduce) { .primary-service-link svg { transition:none; } }
.services-afterword { display:flex; justify-content:flex-end; align-items:center; gap:25px; margin-top:25px; }
.services-afterword p { font-size:12px; }
.services-afterword .text-link { color:var(--text); font-size:.875rem; min-height:44px; }
.home-method { background:var(--surface); border-block:1px solid var(--line); padding-block:84px; }
.method-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:100px; align-items:start; }
.method-intro .eyebrow,.coach-story .eyebrow,.portal-introduction .eyebrow,.home-contact .eyebrow { font-size:10px; letter-spacing:.18em; margin-bottom:24px; }
.method-intro h2 { font-size:clamp(56px,5.5vw,78px); line-height:1.03; }
.method-intro h2>span,.portal-introduction h2>span { color:var(--accent); }
.method-intro>p { max-width:320px; font-size:14px; margin-top:26px; }
.method-intro>.text-link { color:var(--accent); margin-top:24px; font-size:13px; }
.method-steps { list-style:none; padding:0; margin:0; }
.method-steps>li { display:block; padding:0 0 30px; position:relative; }
.method-steps>li+li { padding-top:30px; border-top:1px solid var(--line); }
.method-steps>li:last-child { padding-bottom:0; }
.method-steps h3 { font-size:30px; margin-bottom:12px; line-height:1.2; }
.method-steps p { font-size:13px; max-width:390px; line-height:1.85; }
.home-coach { margin-block:100px; display:grid; grid-template-columns:.9fr 1fr; background:var(--surface); color:var(--ink); }
.coach-photo { position:relative; margin:0; min-width:0; min-height:600px; overflow:hidden; background:var(--pine-dark, #5C5940); }
.coach-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 65%; filter:saturate(.92) brightness(.98); }
.coach-photo::after { content:''; position:absolute; inset:60% 0 0; background:linear-gradient(transparent,#1a2b28bd); }
.coach-photo figcaption { position:absolute; z-index:1; bottom:28px; inset-inline:30px; display:flex; flex-wrap:wrap; gap:6px 22px; justify-content:space-between; color:var(--mist, #F4F2ED); font-size:9px; letter-spacing:.13em; }
.coach-story { padding:64px; align-self:center; }
.coach-story .eyebrow { color:var(--accent); }
.coach-story h2 { font-size:clamp(56px,5.5vw,78px); line-height:1.01; }
.coach-story p { color:var(--muted); margin-top:22px; font-size:14px; line-height:1.85; }
.coach-story .coach-lead { font-size:18px; color:var(--ink); line-height:1.6; margin-top:28px; }
.coach-story .text-link { color:var(--accent); font-size:12px; margin-top:30px; border-top:1px solid var(--line); padding-top:24px; width:100%; justify-content:space-between; }
.coach-story .text-link:hover { color:var(--pine-dark, #5C5940); }
.coach-story :focus-visible { outline-color:var(--accent); }
.home-portal { display:grid; grid-template-columns:1fr 1.1fr; gap:110px; padding-bottom:90px; align-items:center; }
.portal-introduction h2 { font-size:clamp(48px,4.3vw,62px); line-height:1.06; }
.home-portal-status { display:inline-block; font-size:8px; letter-spacing:.12em; border:1px solid var(--line); padding:5px 9px; color:var(--muted); margin-top:23px; }
.portal-introduction>p { font-size:13px; margin-top:18px; max-width:370px; }
.portal-introduction>.text-link { font-size:12px; color:var(--accent); margin-top:20px; }
.portal-introduction>.portal-app-note { color:var(--muted); font-size:10px; margin-top:14px; }
.home-portal-parts { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 34px; padding:0; margin:0; }
.home-portal-parts>li { border-top:1px solid var(--line); padding-top:21px; }
.home-portal-parts>li>span { font-size:9px; letter-spacing:.12em; color:var(--accent); }
.home-portal-parts h3 { font-size:29px; margin-top:24px; }
.home-portal-parts p { font-size:11px; margin-top:10px; }
.home-contact { padding-block:74px 65px; border-top:1px solid var(--line); background:var(--pine, #7A7654); }
.home-contact-heading { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.home-contact h2 { font-size:clamp(78px,10vw,144px); line-height:.97; letter-spacing:-.025em; }
.home-contact h2>span { color:var(--mist, #F4F2ED); }
.contact-orbit { width:118px; height:118px; border:1px solid #F4F2EDa6; border-radius:50%; display:grid; place-items:center; color:var(--mist, #F4F2ED); margin-right:6%; flex-shrink:0; transition:background .2s,color .2s; }
.contact-orbit svg { width:49px; height:49px; }
.contact-orbit:hover { background:var(--accent); color:var(--bg); }
.home-contact-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:35px; margin-top:36px; border-top:1px solid var(--line); }
.home-contact-bottom p { font-size:13px; }
.home-contact-bottom .button { min-width:195px; }
.page-home .footer { background:var(--pine, #7A7654); padding-top:48px; }
.page-home .footer-top { padding-bottom:42px; }
.page-home .footer-top>p { font-size:13px; }
@media(max-width:1000px) {
  .primary-services { gap:24px; }
  .method-layout { gap:60px; }
  .coach-story { padding:44px; }
  .home-portal { gap:60px; }
}
@media(max-width:900px) {
  .home-services { padding-block:65px; }
  .home-section-heading { gap:30px; }
  .home-section-heading>p { max-width:380px; }
  .method-layout { gap:40px; grid-template-columns:.9fr 1.1fr; }
  .method-steps h3 { font-size:27px; }
  .home-coach { margin-block:70px; grid-template-columns:.85fr 1fr; }
  .coach-photo { min-height:580px; }
  .coach-story { padding:35px; }
  .coach-story h2 { font-size:58px; }
  .coach-story p { font-size:13px; }
  .coach-story .coach-lead { font-size:16px; }
  .home-portal { gap:40px; padding-bottom:70px; }
  .home-portal-parts { gap:30px 20px; }
  .home-portal-parts h3 { font-size:26px; }
  .contact-orbit { width:92px; height:92px; margin-right:0; }
}
@media(max-width:620px) {
  .home-services { padding-block:55px; }
  .home-section-heading { display:block; margin-bottom:30px; }
  .home-section-heading h2 { font-size:54px; }
  .home-section-heading>p { max-width:none; margin-top:23px; }
  .services-afterword { display:block; }
  .services-afterword .text-link { margin-top:12px; min-height:36px; }
  .home-method { padding-block:55px; }
  .method-layout { grid-template-columns:1fr; gap:40px; }
  .method-intro h2 { font-size:62px; }
  .method-intro>p { max-width:330px; }
  .method-steps>li { padding-bottom:25px; }
  .method-steps>li+li { padding-top:25px; }
  .home-coach { grid-template-columns:1fr; margin-block:55px; }
  .coach-photo { min-height:0; height:410px; }
  .coach-photo img { object-position:50% 61%; }
  .coach-photo figcaption { inset-inline:22px; bottom:22px; font-size:8px; }
  .coach-story { padding:36px 26px 38px; }
  .coach-story h2 { font-size:61px; }
  .coach-story p { font-size:14px; }
  .coach-story .text-link { font-size:11px; gap:14px; }
  .home-portal { grid-template-columns:1fr; gap:36px; padding-bottom:55px; }
  .portal-introduction h2 { font-size:53px; }
  .home-portal-parts { gap:30px 20px; }
  .home-portal-parts h3 { font-size:27px; margin-top:17px; }
  .home-portal-parts p { font-size:11px; }
  .home-contact { padding-block:52px 44px; }
  .home-contact h2 { font-size:clamp(68px,15.5vw,96px); }
  .home-contact-heading { gap:15px; }
  .contact-orbit { display:none; }
  .home-contact-bottom { flex-direction:column; align-items:flex-start; margin-top:28px; padding-top:27px; }
  .home-contact-bottom .button { width:100%; }
  .page-home .footer-top { padding-bottom:30px; }
}
@media(min-width:701px) and (max-width:1000px) {
  .primary-services { grid-template-columns:1fr; gap:30px; }
  .primary-service>a { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr); grid-template-rows:auto auto 1fr auto; column-gap:30px; padding-bottom:30px; }
  .primary-service-image { grid-row:1/5; align-self:start; aspect-ratio:1; }
  .primary-service-meta { margin-block:4px 16px; }
  .primary-service h3 { min-height:0; font-size:2.5rem; }
  .primary-service p { margin-bottom:16px; }
}
@media(max-width:700px) {
  .home-section-heading { display:block; }
  .home-section-heading>p { max-width:none; margin-top:24px; }
  .primary-services { grid-template-columns:1fr; gap:38px; }
  .primary-service h3 { min-height:0; font-size:2.5rem; }
  .primary-service p { margin-bottom:20px; }
  .primary-service-meta { margin-top:20px; }
}

/* Embedded Brevo forms keep submission and success handling in Brevo. */
.guide-embed-slot { width:100%; min-width:0; }
.guide-brevo-frame { display:block; width:100%; border:0; background:var(--mist); }
.guide-brevo-frame[hidden] { display:none; }
.guide-brevo-newsletter { height:540px; }
.guide-brevo-phone { height:520px; }
.guide-embed-help { margin:12px 0 18px; font-size:.875rem; line-height:1.6; }
.guide-form-fallback { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:620px) {
  .guide-brevo-newsletter { height:660px; }
  .guide-brevo-phone { height:640px; }
}
