/* SOHFIT branding on the supplied Wolff layout. No previous redesign layers. */
:root {
  --sohfit-blue:#12b5de; --sohfit-ink:#0b4e63; --sohfit-paper:#f5f9fa;
  --font-kit-header-font:'Schibsted Grotesk'; --font-kit-text-font:'Hanken Grotesk';
  --ink:#fff; --accent:#fff; --eb-accent:#fff; --vi-accent:#fff; --nr-accent:#fff;
  --gt-accent:#0b4e63; --pc-accent:#fff; --ps-accent:#0b4e63;
  --rq-head:#fff; --rq-text:#fff; --rq-accent:#fff; --chip-accent:#fff;
  --btn-bg:#fff; --btn-color:#0b4e63; --btn-outline:#fff;
  --color-kit-key1:#12b5de; --color-kit-key2:#0b4e63; --color-kit-dark:#0b4e63;
  --color-kit-white:#fff; --color-kit-black:#0b4e63; --cat:#0b4e63;
}
* { box-sizing:border-box; }
html { margin:0; width:100%; max-width:100%; overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:28px; -webkit-text-size-adjust:100%; }
body { margin:0; width:100%; min-width:0; max-width:100%; background:var(--sohfit-blue); color:#fff; font:400 17px/1.6 var(--font-kit-text-font),sans-serif; overscroll-behavior-x:none; }
main,section,article,header,footer,div,figure,ul,ol,dl { min-width:0; }
img,svg,iframe { max-width:100%; }
img { display:block; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-underline-offset:5px; }
h1,h2,h3,h4 { font-family:var(--font-kit-header-font),sans-serif; font-weight:700; overflow-wrap:break-word; }
h1,h2,h3,h4,p,figure,blockquote,dl,dd { margin:0; }
p { line-height:1.65; }
[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.sf-visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.sf-skip { position:fixed; left:20px; top:-100px; z-index:2000; padding:12px 20px; background:white; color:var(--sohfit-ink); border-radius:8px; }
.sf-skip:focus { top:16px; }
/* Reference header proportions, with a transparent horizontal crop of the original SOHFIT mark. */
.sf-header { position:absolute; top:0; inset-inline:0; z-index:50; background:transparent; }
.sf-header-inner { max-width:1250px; margin:auto; padding:28px clamp(1.25rem,4vw,2.5rem); display:flex; justify-content:space-between; align-items:center; gap:24px; }
.sf-logo { display:flex; align-items:center; width:196px; height:66px; gap:10px; flex:none; text-decoration:none; }
.sf-logo-symbol { width:62px; height:62px; flex:none; background:url('media/5379a1ce4eba1838.png') center/420% no-repeat; }
.sf-logo-word { position:relative; width:124px; height:35px; overflow:hidden; flex:none; }
.sf-logo-word img { position:absolute; left:0; top:-79px; width:124px; height:auto; max-width:none; filter:brightness(0) invert(1); }
.sf-header nav { display:flex; align-items:center; gap:24px; margin-left:auto; }
.sf-header nav a { position:relative; font-size:15px; font-weight:700; line-height:1.3; white-space:nowrap; text-decoration:none; padding-block:9px; }
.sf-header nav a::after { content:''; position:absolute; bottom:0; height:1px; inset-inline:0; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.sf-header nav a:hover::after,.sf-header nav a[aria-current=page]::after { transform:scaleX(1); }
.sf-menu-toggle { display:none; }
/* The actual template grid, radii, type scales, spacing and breakpoints live in wolff-layout.css. */
.sf-section { position:relative; background:var(--sohfit-blue); color:#fff; isolation:isolate; }
.sf-section :is(h1,h2,h3,h4,p,dt,dd,li,figcaption) { color:inherit; }
.sf-section + .sf-section { border-top:1px solid #ffffff2b; }
.sf-section :is(.styles_op_1iiwyr7_caption,.styles_op_1iiwyr7_bodyText,.styles_op_11z59m3_text,.styles_op_14lnkh9_text,.styles_op_1iiwyr6_body,.styles_op_1iiwypb_intro,.styles_op_u40u5n_qual,.styles_op_1iiwypa_intro,.styles_op_1iiwypa_day,.styles_op_1iiwypa_ctaNote,.styles_op_14mop4g_quote) { color:inherit; opacity:1; }
.sf-section :is(.styles_op_11z59m3_index,.styles_op_u40u5n_role,.styles_op_fzz9hg_label,.styles_op_14lnkh9_label,.styles_op_9jn7wk_title) { color:inherit; }
.styles_op_9jn7wk_title { font-weight:700; text-transform:none; }
.styles_op_1dym05v_text { color:inherit; }
.styles_op_fzz9hg_wrap { max-width:100%; }
.styles_op_fzz9hg_label { line-height:1.5; white-space:normal; }
.styles_op_fzz9hg_rule { background:currentColor; opacity:.35; }
.styles_op_11z59m3_withDivider,.styles_op_1iiwypa_hourRow { border-color:#ffffff40; }
.styles_op_13ugyk1_btn { min-width:0; max-width:100%; min-height:50px; white-space:normal; text-align:left; cursor:pointer; transition:transform .25s ease,box-shadow .25s ease; }
.styles_op_13ugyk1_label { min-width:0; overflow-wrap:break-word; line-height:1.4; }
.styles_op_13ugyk1_arrow { flex:none; }
.styles_op_13ugyk1_btn:hover { transform:translateY(-2px); box-shadow:0 14px 30px -20px #0b4e6370; }
.sf-hero .styles_op_1iiwyrg_grid { padding-top:clamp(10rem,20vh,13rem); }
.styles_op_1iiwyrg_headline { display:block; }
.styles_op_1iiwyrg_headline br { display:block; }
.styles_op_1iiwyrg_headline span { color:inherit; }
.styles_op_1iiwyrg_subtext { margin:0; }
.styles_op_1iiwyrg_frame { background:#0b4e6322; }
.sf-blue-band { background:transparent; border-color:#ffffff40; }
.sf-four-pillars { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1.25rem,3vw,3rem); }
.sf-four-pillars a { position:relative; color:inherit; text-decoration:none; }
.sf-four-pillars .styles_op_14lnkh9_rule { background:#fff; margin-bottom:18px; }
.sf-value-index { font-size:12px; display:block; margin-bottom:6px; font-variant-numeric:tabular-nums; }
.sf-value-arrow { position:absolute; right:0; bottom:0; font-size:23px; transition:transform .25s; }
.sf-four-pillars a:hover .sf-value-arrow { transform:translate(3px,-3px); }
.sf-paper { background:#fff; color:var(--sohfit-ink); --ink:#0b4e63; --accent:#0b4e63; --eb-accent:#0b4e63; --ps-accent:#0b4e63; --btn-bg:#0b4e63; --btn-color:#fff; --btn-outline:#0b4e63; }
.sf-paper :is(.styles_op_1iiwyr6_ctaNote,.styles_op_kc53yn_label,.styles_op_kc53yn_text,.styles_op_kc53yn_index) { color:inherit; opacity:1; }
.sf-status { display:flex; align-items:center; gap:9px; margin-top:12px; font-size:13px; font-weight:500; }
.sf-status i { width:8px; height:8px; border-radius:50%; background:#2e8973; flex:none; }
.sf-motif { overflow:clip; }
.sf-motif::before { content:''; position:absolute; width:clamp(360px,48vw,720px); aspect-ratio:1; background:url('brand-orbit.svg') center/contain no-repeat; top:8%; right:-220px; z-index:-1; pointer-events:none; opacity:.68; }
.sf-motif:nth-of-type(even)::before { right:auto; left:-260px; top:30%; }
.sf-motif-person::after { content:''; position:absolute; right:-12px; top:5%; width:clamp(210px,33vw,430px); aspect-ratio:1; background:url('media/5379a1ce4eba1838.png') center/420% no-repeat; opacity:.19; z-index:-1; pointer-events:none; transform:rotate(-8deg); }
.sf-hero.sf-motif-person::after { right:31%; top:37%; opacity:.17; width:390px; }
.styles_op_1iiwyr7_mediaCol { align-self:stretch; }
.sf-feature-flip .styles_op_1iiwyr7_mediaCol { order:2; }
.sf-feature-flip .styles_op_1iiwyr7_copyCol { order:1; }
.styles_op_1iiwyr7_bodyCopy { max-width:100%; }
.sf-row-media { display:grid; grid-template-columns:28px minmax(0,1fr) 104px; gap:15px; width:100%; align-items:start; }
.sf-row-media .styles_op_11z59m3_body { min-width:0; }
.sf-row-photo { width:104px; min-width:0; position:relative; }
.sf-row-photo img { width:100%; height:128px; object-fit:cover; border-radius:8px; }
.sf-row-media .styles_op_11z59m3_text + .styles_op_11z59m3_text { margin-top:9px; }
.sf-text-link { display:inline-flex; gap:9px; align-items:center; font-size:.9rem; font-weight:700; margin-top:12px; text-decoration:none; border-bottom:1px solid #ffffff88; padding-bottom:3px; }
.sf-text-link::after { content:''; width:16px; height:16px; display:block; flex:none; background:currentColor; mask:url('link-arrow.svg') center/contain no-repeat; }
.sf-text-link:hover { border-color:currentColor; }
.sf-image-review-badge { position:static; display:flex; flex-direction:column; background:#fff5d8; color:#594613; font:400 12px/1.35 var(--font-kit-text-font),sans-serif; border-left:2px solid #c89b31; padding:6px 7px; margin-top:6px; border-radius:3px; text-align:left; overflow-wrap:break-word; }
.sf-image-review-badge strong { font-size:12px; font-weight:700; }
.sf-photo-placeholder { display:grid; place-items:center; height:128px; padding:10px; background:#ffffff14; color:#fff; border:1px dashed #ffffff88; border-radius:8px; font-size:12px; line-height:1.5; text-align:center; }
.styles_op_1iiwyr7_frame>.sf-photo-placeholder { height:100%; min-height:320px; }
.sf-studio-location { display:flex; flex-direction:column; gap:3px; margin-top:16px; text-decoration:none; font-size:14px; }
.sf-studio-location svg { display:none; }
.sf-studio-location span { display:block; }
.sf-caption { font-size:14px; line-height:1.6; margin-top:20px; }
.sf-training-areas { margin-top:clamp(3rem,7vw,5rem); }
.sf-training-areas>p { max-width:70ch; margin-top:12px; }
.sf-block-title { font-size:clamp(1.4rem,2vw,1.8rem); }
.sf-area-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:32px; }
.sf-area-frame { overflow:hidden; border-radius:16px; aspect-ratio:4/3; }
.sf-area-frame img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.sf-area:hover img { transform:scale(1.03); }
.sf-area figcaption { padding-top:20px; }
.sf-small-label { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sf-area h4 { font-size:22px; line-height:1.2; margin-top:6px; }
.sf-area p { margin-top:12px; font-size:15px; }
.sf-process-steps[data-count='5'] { grid-template-columns:repeat(5,minmax(0,1fr)); }
.sf-process-steps .styles_op_kc53yn_step { min-width:0; }
.sf-process-steps .styles_op_kc53yn_text { line-height:1.6; }
.sf-process-steps .styles_op_kc53yn_label { min-height:2.5em; }
.sf-process-steps .styles_op_kc53yn_line { background:#0b4e632b; }
.sf-step-photo { margin-top:22px; }
.sf-step-photo img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; border-radius:8px; }
.sf-step-photo .sf-image-review-badge { font-size:12px; }
.sf-inline-benefits { font-size:14px; padding-block:16px; border-block:1px solid #ffffff40; margin-top:24px; }
.sf-body-copy { max-width:70ch; margin-bottom:30px; }
/* SOHFIT portraits: all team profiles are displayed in the document flow. */
.styles_op_u40u5n_photo { width:100%; height:100%; object-fit:cover; }
.styles_op_u40u5n_role { min-height:2.8em; }
.styles_op_u40u5n_name { color:inherit; }
.styles_op_u40u5n_qual { color:inherit; line-height:1.6; }
.sf-contact-details { grid-template-columns:1fr; gap:24px; }
.styles_op_1iiwypa_blockTitle,.styles_op_1iiwypa_link { color:inherit; }
.sf-contact-hint { margin-top:6px; font-size:14px; }
.sf-contact-map { margin-top:48px; border-radius:20px; overflow:hidden; background:#fff; color:var(--sohfit-ink); }
.sf-map-slot { position:relative; height:370px; width:100%; }
.sf-map-slot iframe { width:100%; height:100%; border:0; }
.sf-map-consent { display:flex; flex-direction:column; justify-content:center; align-items:center; height:100%; padding:28px; gap:12px; text-align:center; background:#f4f9fa; }
.sf-map-consent strong { font:700 24px/1.2 var(--font-kit-header-font),sans-serif; }
.sf-map-consent p { max-width:52ch; font-size:15px; }
.sf-map-consent button { min-height:46px; padding:12px 18px; border:0; border-radius:8px; background:var(--sohfit-ink); color:white; font-weight:600; }
.sf-location-caption { display:flex; flex-wrap:wrap; gap:12px 30px; align-items:center; margin-top:20px; font-size:14px; }
.sf-location-caption svg { display:none; }
.sf-location-caption>span { display:block; }
.sf-location-caption .styles_op_13ugyk1_btn { margin-left:auto; }
.sf-hours { max-width:100%; }
.sf-hours .styles_op_1iiwypa_hourRow { padding-block:20px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; }
.sf-hours .styles_op_1iiwypa_day { font-size:17px; }
.sf-hours .styles_op_1iiwypa_time { font-size:20px; white-space:normal; }
.sf-social-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.sf-social-link { display:grid; gap:12px; padding:24px 0; border-block:1px solid #ffffff55; text-decoration:none; }
.sf-social-link strong { font:700 30px/1.15 var(--font-kit-header-font),sans-serif; }
.sf-social-link>span:last-child { font-size:14px; }
.sf-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.sf-gallery-grid>figure:first-child { grid-column:span 2; }
.sf-gallery-grid>figure:nth-child(6) { grid-column:span 2; }
.sf-gallery-button { position:relative; width:100%; padding:0; border:0; border-radius:16px; overflow:hidden; background:#0b4e6322; aspect-ratio:4/3; }
.sf-gallery-grid>figure:first-child .sf-gallery-button,.sf-gallery-grid>figure:nth-child(6) .sf-gallery-button { aspect-ratio:2.08/1; }
.sf-gallery-button img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.sf-gallery-button:hover img { transform:scale(1.035); }
.sf-gallery-button>[class*='label'] { position:absolute; bottom:12px; right:12px; font-size:11px; background:#0b4e63cc; color:#fff; border-radius:4px; padding:4px 7px; }
.styles_op_57ivv7_caption { color:inherit; }
.sf-reviews-list { border-color:#ffffff40; }
.styles_op_14mop4g_item { border-color:#ffffff40; }
.styles_op_14mop4g_foot { font-weight:700; }
.sf-two-col-rows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:60px; }
.sf-two-col-rows>.styles_op_11z59m3_row { padding-block:24px; }
.sf-prevention-person { border-radius:18px; padding:28px; display:grid; gap:14px; }
.sf-prevention-person img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; object-position:center 24%; border-radius:12px; }
.sf-prevention-person h3 { font-size:25px; }
.sf-prevention-person p { font-size:16px; }
/* Price and timetable data are the source's own content, fitted into template panels. */
.sf-courses-section { padding:clamp(3.75rem,9vh,7rem) 0; }
.styles_op_ip3jcq_section .styles_op_ip3jcq_links { margin-bottom:28px; display:flex; flex-direction:column; gap:10px; }
.styles_op_ip3jcq_linksTitle { color:#fff; font-size:14px; }
.styles_op_ip3jcq_linkRow { display:flex; gap:14px 24px; flex-wrap:wrap; }
.styles_op_ip3jcq_link { color:#fff; font-size:15px; }
.styles_op_ip3jcq_filters { flex-wrap:wrap; margin-block:25px; }
.styles_op_1mliutq_pill { color:#fff; background:transparent; border:1px solid #ffffff77; min-height:44px; opacity:1; }
.styles_op_1mliutq_pill:hover,.styles_op_1mliutq_active { background:#fff; border-color:#fff; color:var(--sohfit-ink); }
.styles_op_ip3jcq_col { padding:18px 14px; border:1px solid #ffffff55; border-radius:14px; background:transparent; color:#fff; min-height:140px; }
.styles_op_ip3jcq_colHead { border-color:#ffffff55; color:#fff; flex-wrap:wrap; }
.styles_op_ip3jcq_day,.styles_op_ip3jcq_dayName,.styles_op_ip3jcq_today .styles_op_ip3jcq_dayName { color:#fff; }
.styles_op_ip3jcq_today { box-shadow:inset 0 0 0 1px #fff; transform:none; }
.styles_op_ip3jcq_link:hover,.styles_op_ip3jcq_link:focus-visible { color:#fff; background:transparent; text-decoration:underline; }
.styles_op_ip3jcq_count { background:transparent; color:white; }
.styles_op_1hk5221_slot { color:var(--sohfit-ink); box-shadow:none; border-radius:9px; }
.styles_op_1hk5221_name,.styles_op_1hk5221_note,.styles_op_1hk5221_time { color:var(--sohfit-ink); }
.styles_op_1hk5221_time { font-size:12px; letter-spacing:0; }
.styles_op_ip3jcq_empty { color:#fff; opacity:1; }
.styles_op_ip3jcq_notes { border-color:#ffffff55; }
.styles_op_ip3jcq_notesTitle,.styles_op_ip3jcq_noteText,.styles_op_ip3jcq_noteLabel,.styles_op_ip3jcq_footnote,.styles_op_ip3jcq_cardNotice { color:#fff; opacity:1; }
.sf-no-courses { font-size:14px; margin-top:12px; }
.sf-text-first { padding-top:clamp(11rem,22vh,15rem); }
.sf-prices-section { padding-top:0; }
.sf-prices-section .styles_op_1iiwyr6_head { margin-bottom:35px; }
.styles_op_1wpdvq5_grid4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.styles_op_1wpdvq5_grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.styles_op_sb8l2y_card { background:#f1f4f5; color:var(--sohfit-ink); border:1px solid #fff; backdrop-filter:none; box-shadow:none; }
.styles_op_sb8l2y_rule { background:#0b4e6333; }
.styles_op_sb8l2y_term,.styles_op_sb8l2y_unit,.styles_op_sb8l2y_listMuted,.styles_op_sb8l2y_note { opacity:1; }
.styles_op_mnkutw_row { border-color:#ffffff55; }
.styles_op_mnkutw_header[aria-expanded=true] .styles_op_mnkutw_chevron { transform:rotate(180deg); }
.styles_op_1wpdvq5_legalLine,.styles_op_1wpdvq5_ctaNote { opacity:1; }
.sf-fee-body { max-width:72ch; padding:0 0 24px; font-size:16px; line-height:1.65; }
.sf-legal-title { font-size:clamp(2.5rem,5vw,4.4rem); line-height:1.05; margin-bottom:30px; }
.sf-legal p { max-width:78ch; margin-block:18px; }
.sf-legal h2 { font-size:clamp(1.5rem,3vw,2.25rem); line-height:1.2; margin-top:38px; }
/* Gray footer, as requested. Original full transparent SOHFIT logo. */
.sf-footer { background:#62666a; color:#fff; padding:55px max(20px,calc((100% - 1170px)/2)) 30px; }
.sf-template-footer-brand { display:flex; align-items:center; gap:35px; padding-bottom:35px; }
.sf-template-footer-brand img { width:86px; height:auto; }
.sf-template-footer-brand p { max-width:28ch; font:600 clamp(1.4rem,3vw,2rem)/1.3 var(--font-kit-header-font),sans-serif; }
.sf-footer>div:nth-child(2) { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; padding-block:25px; border-top:1px solid #ffffff44; }
.sf-footer nav { display:flex; flex-wrap:wrap; gap:16px 30px; }
.sf-footer a { text-decoration:none; }
.sf-footer a:hover { text-decoration:underline; }
.sf-cookie-settings-link { border:0; padding:0; color:inherit; background:none; font:inherit; text-align:left; cursor:pointer; }
.sf-footer>small { display:block; max-width:85ch; font-size:12px; line-height:1.7; margin-top:14px; }
/* Source inquiry and gallery controls retain their behavior. */
.sf-locked,body:has(dialog[open]) { overflow:hidden; }
dialog { border:0; border-radius:20px; padding:36px; background:#fff; color:var(--sohfit-ink); max-height:calc(100dvh - 32px); width:min(980px,calc(100% - 32px)); overflow:auto; overscroll-behavior:contain; margin:auto; }
dialog::backdrop { background:#063b4cc9; backdrop-filter:blur(5px); }
.sf-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; border:0; border-radius:50%; width:44px; height:44px; font-size:28px; line-height:1; background:#edf4f6; color:var(--sohfit-ink); z-index:2; }
.sf-dialog-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; }
.sf-dialog-logo { width:55px; height:auto; margin-bottom:20px; background:var(--sohfit-ink); border-radius:0; }
.sf-dialog-grid h2 { font-size:28px; line-height:1.2; margin-bottom:14px; padding-right:20px; }
.sf-dialog-grid>div>p { margin-bottom:12px; font-size:16px; }
.sf-dialog-grid>figure img { height:100%; width:100%; object-fit:cover; border-radius:14px; }
#sf-form { display:flex; flex-direction:column; gap:13px; margin-top:24px; }
#sf-form label:not(.sf-consent) { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; }
#sf-form :is(input:not([type=checkbox]),select,textarea) { padding:12px; width:100%; min-width:0; border:1px solid #a9c6cf; border-radius:8px; background:white; color:var(--sohfit-ink); font-size:16px; line-height:1.4; }
#sf-form small { font-size:12px; font-weight:400; }
.sf-form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.sf-consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; }
.sf-consent input { flex:none; width:18px; height:18px; accent-color:var(--sohfit-ink); margin:2px 0 0; }
.sf-submit { border:0; border-radius:8px; color:#fff; background:var(--sohfit-ink); font-weight:700; padding:16px; }
.sf-form-note { font-size:12px; }
.sf-form-result { font-size:14px; padding:15px; background:#edf7f9; border-radius:8px; }
.sf-mail-link { display:inline-block; padding:12px; border:1px solid; border-radius:8px; font-size:15px; font-weight:700; }
#sf-lightbox { padding:50px 65px 20px; background:#0b4e63; color:white; }
#sf-lightbox figure img { width:100%; max-height:calc(100dvh - 190px); object-fit:contain; }
#sf-lightbox figcaption { text-align:center; font-size:14px; padding-top:18px; }
.sf-light-prev,.sf-light-next { position:absolute; top:48%; border:1px solid #ffffff77; border-radius:50%; width:44px; height:44px; background:transparent; color:white; font-size:30px; }
.sf-light-prev { left:10px; }.sf-light-next { right:10px; }
/* Consent is local; external maps stay unloaded until explicitly allowed. */
.sf-cookie-banner { position:fixed; z-index:1000; bottom:16px; right:16px; width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; border:1px solid #bdd5dc; border-top:3px solid #12b5de; border-radius:16px; padding:24px; background:#fff; color:var(--sohfit-ink); box-shadow:0 12px 60px #063b4c45; }
.sf-cookie-banner h2,.sf-cookie-dialog h2 { font:700 23px/1.25 var(--font-kit-header-font),sans-serif; margin:0 0 12px; letter-spacing:-.02em; }
.sf-cookie-banner p,.sf-cookie-dialog p { font-size:15px; line-height:1.6; margin:0 0 16px; }
.sf-cookie-banner a,.sf-cookie-dialog a { color:var(--sohfit-ink); text-decoration:underline; }
.sf-cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
.sf-cookie-actions button { flex:1 1 160px; min-width:0; min-height:46px; padding:12px 14px; border:1px solid var(--sohfit-ink); border-radius:8px; background:var(--sohfit-ink); color:#fff; font-weight:700; font-size:14px; line-height:1.3; cursor:pointer; }
.sf-cookie-actions .sf-cookie-customize { background:#fff; color:var(--sohfit-ink); }
.sf-cookie-dialog { width:min(600px,calc(100% - 32px)); padding:28px; }
.sf-cookie-category { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 18px; padding:18px 0; border-top:1px solid #d8e9ee; }
.sf-cookie-category>p { grid-column:1/-1; margin:0; font-size:14px; }
.sf-cookie-category input { width:22px; height:22px; margin:0; accent-color:var(--sohfit-ink); }
.sf-cookie-dialog small { display:block; margin:0 0 20px; line-height:1.5; }
.sf-cookie-storage-note { margin-top:14px!important; margin-bottom:0!important; font-size:12px!important; }
/* Reference breakpoints, with contained rails and no fixed-width mobile content. */
@media(max-width:1190px) { .sf-header nav { gap:18px; }.sf-header nav a { font-size:14px; }.sf-logo { width:178px; gap:4px; }.sf-logo-symbol { width:50px; height:56px; } }
@media(max-width:1050px) {
 .sf-header-inner { padding:20px 28px; }
 .sf-menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:46px; height:46px; margin-left:auto; border:1px solid #ffffff88; border-radius:8px; background:transparent; color:white; }
 .sf-menu-toggle span { display:block; width:22px; height:2px; background:currentColor; }
 .sf-header nav { display:none; position:absolute; inset-inline:20px; top:100px; max-height:calc(100dvh - 125px); padding:16px; margin:0; border-radius:14px; box-shadow:0 15px 40px #063b4c33; background:white; color:var(--sohfit-ink); overflow-y:auto; }
 .sf-header nav.sf-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .sf-header nav a { white-space:normal; min-height:46px; padding:13px 12px; font-size:16px; }
 .sf-header nav a::after { display:none; }
 .sf-process-steps[data-count='5'] { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:32px; }
 .styles_op_1wpdvq5_grid4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .sf-hero .styles_op_1iiwyrg_grid { padding-top:150px; }
 .sf-hero .styles_op_1iiwyrg_copy { max-width:650px; }
 .sf-feature-flip .styles_op_1iiwyr7_mediaCol,.sf-feature-flip .styles_op_1iiwyr7_copyCol { order:initial; }
 .sf-area-grid { gap:22px; }
 .sf-dialog-grid { grid-template-columns:1fr; }.sf-dialog-grid>figure { display:none; }#sf-inquiry { max-width:580px; }
 .sf-two-col-rows { column-gap:30px; }
}
@media(max-width:680px) {
 .sf-header-inner { padding:18px 20px; }.sf-header nav { top:92px; }.sf-logo { height:58px; }
 .sf-hero .styles_op_1iiwyrg_grid { padding-top:140px; }
 .sf-four-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 .sf-four-pillars .styles_op_14lnkh9_label { font-size:18px; }
 .styles_op_1iiwyrg_trust { padding:20px; }
 .sf-row-media { grid-template-columns:22px minmax(0,1fr) 78px; gap:10px; }.sf-row-photo { width:78px; }.sf-row-photo img,.sf-row-photo>.sf-photo-placeholder { height:104px; }
 .sf-row-media .styles_op_11z59m3_label { font-size:17px; }.sf-row-media .styles_op_11z59m3_text { font-size:15px; }
 .sf-image-review-badge,.sf-image-review-badge strong { font-size:11px; }.sf-image-review-badge { padding:6px 5px; }
 .sf-area-grid,.sf-two-col-rows,.sf-social-links { grid-template-columns:minmax(0,1fr); }
 .sf-area-frame { aspect-ratio:3/2; }.sf-area p { font-size:16px; }
 .sf-process-steps[data-count='5'],.sf-process-steps[data-count='4'] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 22px; }
 .sf-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }.sf-gallery-grid>figure:first-child,.sf-gallery-grid>figure:nth-child(6) { grid-column:span 2; }
 .sf-contact-map { margin-top:30px; }.sf-map-slot { height:370px; }.sf-map-consent { padding:22px; }
 .sf-location-caption { flex-direction:column; align-items:flex-start; }.sf-location-caption .styles_op_13ugyk1_btn { margin-left:0; }
 .sf-hours .styles_op_1iiwypa_hourRow { grid-template-columns:1fr; gap:5px; }.sf-hours .styles_op_1iiwypa_time { font-size:21px; }
 .styles_op_ip3jcq_col { padding:16px 10px; }.styles_op_1hk5221_slot { padding:12px; }
 .styles_op_1wpdvq5_grid3 { grid-template-columns:minmax(0,1fr); }.styles_op_sb8l2y_card { padding:22px; }
 .sf-footer>div:nth-child(2),.sf-footer nav { flex-direction:column; align-items:flex-start; }
 .sf-template-footer-brand { gap:24px; }.sf-template-footer-brand img { width:74px; }
 dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:26px 20px; border-radius:14px; }
 .sf-form-row { grid-template-columns:1fr; }.sf-dialog-grid h2 { padding-right:24px; font-size:26px; }
 #sf-lightbox { padding:62px 16px 66px; }.sf-light-prev,.sf-light-next { top:auto; bottom:12px; }.sf-light-prev { left:calc(50% - 56px); }.sf-light-next { right:calc(50% - 56px); }
 .sf-cookie-banner { bottom:max(10px,env(safe-area-inset-bottom)); right:10px; width:calc(100% - 20px); padding:18px; }
 .sf-cookie-dialog { padding:24px 20px; }
 .sf-motif-person::after { width:245px; right:-55px; opacity:.15; }
}
@media(max-width:480px) {
 .sf-process-steps[data-count] { grid-template-columns:minmax(0,1fr); gap:32px; }.sf-process-steps .styles_op_kc53yn_track { display:none; }.sf-process-steps .styles_op_kc53yn_label { min-height:0; }.sf-step-photo img { max-height:220px; }
 .styles_op_1wpdvq5_grid4 { grid-template-columns:minmax(0,1fr); }
 .sf-cookie-actions { display:grid; grid-template-columns:minmax(0,1fr); }
 .styles_op_mnkutw_header { grid-template-columns:1fr; }.styles_op_mnkutw_right { justify-content:space-between; }
}
@supports not (overflow:clip) { html,body { overflow-x:hidden; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }.styles_op_13ugyk1_btn:hover,.sf-area:hover img,.sf-gallery-button:hover img { transform:none; } }
/* Original SOHFIT photos have different crops from the reference photographs. */
.sf-hero .styles_op_1iiwyrg_photo { object-position:50% 18%; }
.styles_op_1iiwyr7_frame.sf-frame-landscape { aspect-ratio:4/3; }

/* Secondary source details use the template's fine-rule treatment. */
.styles_op_16i6c6s_notes { margin-top:36px; padding-top:25px; border-top:1px solid #ffffff55; }
.styles_op_16i6c6s_notesTitle { font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.styles_op_16i6c6s_notesList { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 35px; list-style:none; margin:18px 0 0; padding:0; }
.styles_op_16i6c6s_noteItem { display:flex; flex-direction:column; padding-left:14px; border-left:1px solid #ffffff88; }
.styles_op_16i6c6s_noteLabel { font-weight:700; font-size:15px; }
.styles_op_16i6c6s_noteText { font-size:14px; }
.sf-studio-location [class*='_label'] { font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.sf-studio-location [class*='_place'] { font-weight:700; font-size:17px; }
.sf-studio-location [class*='_hint'] { text-decoration:underline; text-underline-offset:4px; }
.sf-kicker { font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.sf-legal-notice { border-left:2px solid #fff; padding:18px 22px; background:#ffffff12; }
@media(max-width:600px) { .styles_op_16i6c6s_notesList { grid-template-columns:minmax(0,1fr); } }
/* Section review: fewer photographs, clearer offer and process hierarchy. */
.sf-pillars-section .styles_op_1iiwyr6_headAside { display:flex; flex-direction:column; gap:14px; }
.sf-pillars-section .styles_op_1iiwyr6_body { max-width:48ch; }
.sf-pillar-rows .styles_op_11z59m3_label { font-size:22px; line-height:1.2; letter-spacing:-.02em; text-transform:none; }
.sf-pillar-rows .styles_op_11z59m3_text:first-of-type { font-size:17px; font-weight:600; line-height:1.5; }
.sf-pillar-rows .styles_op_11z59m3_text { max-width:46ch; }
.sf-pillar-rows .styles_op_11z59m3_row { grid-template-columns:32px minmax(0,1fr); gap:16px; }
.sf-area-text { border-top:1px solid #ffffff66; padding-top:20px; }
.sf-area-text figcaption { padding-top:0; }
.sf-process-intro { padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid #0b4e6333; }
.sf-panel-title { font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.25; margin:14px 0; letter-spacing:-.025em; }
.sf-panel-intro-text { max-width:78ch; font-size:16px; line-height:1.65; }
.sf-panel-intro-text + .sf-panel-intro-text { margin-top:12px; }
.sf-panel-benefits { list-style:none; padding:0; margin:22px 0 0; display:flex; flex-wrap:wrap; gap:10px 30px; font-size:14px; font-weight:600; }
.sf-panel-benefits li { padding-left:16px; position:relative; }
.sf-panel-benefits li::before { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:currentColor; left:0; top:.55em; }
.sf-process-text .styles_op_kc53yn_label { min-height:2.6em; }
.sf-process-text .styles_op_kc53yn_text { font-size:15px; line-height:1.65; }
.sf-body-subtitle { margin:30px 0 4px; font-size:23px; line-height:1.3; }
.sf-gallery-curated { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.sf-gallery-curated>figure:first-child,.sf-gallery-curated>figure:nth-child(6) { grid-column:auto; }
.sf-gallery-curated>figure .sf-gallery-button,.sf-gallery-curated>figure:first-child .sf-gallery-button { aspect-ratio:4/3; }
.sf-contact-hours { padding-top:26px; border-top:1px solid #ffffff55; }
.sf-contact-subtitle { font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.3; margin:12px 0; letter-spacing:-.02em; }
.sf-contact-hours .sf-hours { margin-top:16px; }
.sf-contact-hours .styles_op_1iiwypa_hourRow { padding-block:14px; gap:14px; }
.sf-contact-hours .styles_op_1iiwypa_day { font-size:14px; line-height:1.5; }
.sf-contact-hours .styles_op_1iiwypa_time { font-size:17px; line-height:1.5; }
.sf-contact-hours .sf-caption { font-size:13px; }
.sf-contact-social { margin-top:38px; }
.sf-contact-social .sf-social-links { gap:20px; margin-top:20px; }
.sf-contact-social .sf-social-link { padding:16px 0; gap:7px; }
.sf-contact-social .sf-social-link strong { font-size:19px; }
.sf-contact-social .sf-social-link>span:last-child { font-size:13px; }
.sf-compact-section { padding-block:clamp(3rem,7vh,5rem); }
.sf-compact-section .styles_op_1iiwyr6_headline { font-size:clamp(2rem,3.6vw,3.1rem)!important; line-height:1.1; }
.sf-reha-overview .styles_op_1iiwyj9_headline { margin-top:24px; }
.sf-reha-overview .styles_op_1iiwyj9_intro { margin-top:24px; }
.sf-reha-overview .styles_op_1iiwyj9_panel { background:#fff; color:var(--sohfit-ink); }
.sf-reha-overview .styles_op_1iiwyj9_panel>.styles_op_13ugyk1_btn { margin-top:24px; }
@media(max-width:900px) { .sf-gallery-curated { gap:20px; }.sf-gallery-curated>figure .sf-gallery-button { aspect-ratio:1/1; } }
@media(max-width:680px) {
 .sf-gallery-curated { grid-template-columns:minmax(0,1fr); gap:26px; }.sf-gallery-curated>figure .sf-gallery-button { aspect-ratio:3/2; }
 .sf-pillar-rows .styles_op_11z59m3_row { grid-template-columns:25px minmax(0,1fr); gap:12px; }
 .sf-pillar-rows .styles_op_11z59m3_label { font-size:21px; }
 .sf-contact-social .sf-social-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sf-contact-hours .styles_op_1iiwypa_hourRow { grid-template-columns:minmax(0,1fr); gap:4px; }
 .sf-process-text .styles_op_kc53yn_label { min-height:0; }
}
.sf-pillar-closing { padding-top:28px; margin-top:12px; border-top:1px solid #ffffff55; font-weight:600; font-size:18px; max-width:100%; }

/* Premium refinement: quiet outlines, aligned text, recognisable SOHFIT graphics. */
.styles_op_fzz9hg_label { font-size:12px; letter-spacing:.13em; font-weight:600; }
.sf-small-label { font-size:12px; letter-spacing:.13em; }
.styles_op_1iiwyrg_frame,.styles_op_1iiwyr7_frame { outline:1px solid #ffffff55; outline-offset:-1px; box-shadow:0 24px 55px -30px #0b4e6366; }
.styles_op_1iiwyrg_trust { border:1px solid #ffffffcc; box-shadow:0 16px 40px -24px #0b4e6377; }
.styles_op_13ugyk1_btn { border-radius:10px; font-weight:600; }
.sf-four-pillars a { transition:opacity .25s; }
.sf-four-pillars a:hover { opacity:.82; }
.sf-motif-person[data-brand-side='left']::after { left:-75px; right:auto; top:18%; transform:rotate(7deg); }
.sf-compact-section.sf-motif-person::after { opacity:.23; width:clamp(280px,38vw,460px); top:-10%; }
/* Static team: three on desktop, two on tablet, one on small screens. */
.sf-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 28px; width:100%; overflow:visible; }
.sf-team-grid>.styles_op_u40u5n_card { min-width:0; width:auto; padding:0 0 22px; border-bottom:1px solid #ffffff55; }
.sf-team-grid .styles_op_u40u5n_frame { border:1px solid #ffffff4d; box-shadow:0 18px 40px -30px #0b4e6366; }
.sf-team-grid .styles_op_u40u5n_photo,.sf-team-grid .styles_op_u40u5n_img { object-position:50% 10%; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.sf-team-grid .styles_op_u40u5n_card:hover img { transform:scale(1.018); }
.sf-team-grid .styles_op_u40u5n_body { padding-top:20px; }
.sf-team-grid .styles_op_u40u5n_role { min-height:2.7em; font-size:12px; line-height:1.5; letter-spacing:.09em; }
.sf-team-grid .styles_op_u40u5n_name { margin:5px 0 8px; font-size:clamp(1.4rem,2.1vw,1.8rem); line-height:1.2; }
.sf-team-grid .styles_op_u40u5n_qual { font-size:15px; line-height:1.65; }
/* The entire week always occupies one row; only this region scrolls when necessary. */
.sf-week-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:8px 0 20px; }
.sf-week-label { display:flex; flex-direction:column; gap:6px; }
.sf-week-hint { font-size:13px; line-height:1.5; }
.sf-week-nav { display:flex; gap:8px; flex:none; }
.sf-week-arrow { width:44px; height:44px; display:grid; place-items:center; border:1px solid #ffffff88; border-radius:50%; background:transparent; color:#fff; padding:0; }
.sf-week-arrow:hover:not(:disabled) { background:#ffffff1a; }
.sf-week-arrow:disabled { opacity:.35; cursor:default; }
.sf-week-scroll { width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; touch-action:pan-x pan-y pinch-zoom; scrollbar-width:thin; scrollbar-color:#ffffffb0 #ffffff1a; padding:2px 2px 18px; scroll-behavior:smooth; border-radius:16px; }
.sf-courses-section .sf-course-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); grid-auto-flow:row; gap:12px; min-width:1120px; width:100%; align-items:stretch; }
.sf-course-week>.styles_op_ip3jcq_col { padding:16px 11px; border:1px solid #ffffff55; border-radius:14px; background:#ffffff08; box-shadow:none; transform:none; min-height:170px; }
.sf-course-week>.styles_op_ip3jcq_today { border-color:#fff; background:#ffffff18; box-shadow:inset 0 2px 0 #fff; }
.sf-course-week .styles_op_ip3jcq_colHead { flex-wrap:nowrap; gap:5px; padding:0 0 13px; margin-bottom:14px; align-items:center; }
.sf-course-week .styles_op_ip3jcq_dayName { font-size:13px; letter-spacing:.035em; font-weight:700; }
.sf-course-week .styles_op_ip3jcq_badge { font-size:9px; padding:4px 6px; letter-spacing:.06em; box-shadow:none; }
.sf-course-week .styles_op_ip3jcq_count { min-width:18px; height:20px; font-size:10px; padding-inline:4px; }
.sf-course-week .styles_op_1hk5221_slot { padding:12px 10px; border:1px solid #ffffffb3; border-radius:8px; background:#fff; box-shadow:0 5px 18px -14px #0b4e63a0; }
.sf-course-week .styles_op_1hk5221_slot::before { width:2px; background:#0b4e63; opacity:.35; }
.sf-course-week .styles_op_1hk5221_time { font-size:12px; font-weight:600; letter-spacing:0; gap:4px; white-space:normal; }
.sf-course-week .styles_op_1hk5221_name { font-size:15px; line-height:1.35; font-weight:600; overflow-wrap:break-word; }
.sf-course-week .styles_op_1hk5221_note { font-size:11px; line-height:1.45; padding:4px 6px; }
.sf-course-week .styles_op_ip3jcq_empty,.sf-course-week .sf-no-courses { font-size:13px; line-height:1.6; }
.sf-course-week .styles_op_1hk5221_slot:hover { transform:translateY(-2px); }
@media(max-width:900px) {
 .sf-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 22px; }
 .sf-team-grid .styles_op_u40u5n_name { font-size:25px; }
}
@media(max-width:580px) {
 .sf-team-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
 .sf-team-grid .styles_op_u40u5n_frame { aspect-ratio:4/4.3; }
 .sf-team-grid .styles_op_u40u5n_role { min-height:0; }
 .sf-week-toolbar { align-items:flex-end; gap:12px; }
 .sf-week-hint { max-width:26ch; font-size:12px; }
 .sf-motif::before { width:410px; right:-255px; opacity:.6; }
 .sf-motif-person[data-brand-side='left']::after { left:-60px; top:12%; }
 .sf-hero.sf-motif-person::after { width:270px; right:-30px; top:25%; opacity:.14; }
}
@media(prefers-reduced-motion:reduce) {
 .sf-week-scroll { scroll-behavior:auto; }
 .sf-team-grid .styles_op_u40u5n_card:hover img,.sf-course-week .styles_op_1hk5221_slot:hover { transform:none; }
}

/* Subpage editorial pass: compact ruled lists, readable labels and shared rhythm. */
.sf-subpage .sf-heading-solo { grid-template-columns:minmax(0,1fr); max-width:900px; }
.sf-subpage .sf-heading-solo .styles_op_1iiwyr6_headline { max-width:24ch; }
.sf-subpage .sf-four-pillars .styles_op_14lnkh9_label { font-size:20px; line-height:1.25; letter-spacing:-.02em; text-transform:none; }
.sf-feature-balanced .styles_op_1iiwyr7_copyCol { align-self:center; }
.sf-section-details { margin-top:clamp(2.5rem,5vw,4rem); }
.sf-section-details>.sf-block-title { margin-bottom:24px; }
.sf-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 44px; list-style:none; padding:0; margin:0; }
.sf-detail-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:32px; }
.sf-detail-grid>.styles_op_11z59m3_row { grid-template-columns:26px minmax(0,1fr); gap:14px; padding:24px 0; margin:0; border-top:1px solid #ffffff55; }
.sf-detail-grid .styles_op_11z59m3_index { font-size:12px; line-height:1.65; letter-spacing:.04em; font-weight:500; padding-top:3px; opacity:.8; }
.sf-detail-grid .styles_op_11z59m3_label { font-size:clamp(1.125rem,1.5vw,1.3rem); line-height:1.35; font-weight:600; letter-spacing:-.015em; text-transform:none; }
.sf-detail-grid .styles_op_11z59m3_body { gap:9px; }
.sf-detail-grid .styles_op_11z59m3_text { font-size:16px; line-height:1.65; max-width:48ch; }
.sf-detail-grid--short .styles_op_11z59m3_label { font-size:18px; line-height:1.5; }
.sf-course-catalog .styles_op_11z59m3_text { font-size:15px; }
.sf-course-catalog-section .sf-caption { margin-top:18px; }
.sf-prevention-advantages .styles_op_1iiwyp6_goals { grid-template-columns:repeat(6,minmax(0,1fr)); gap:32px 36px; }
.sf-prevention-advantages .styles_op_1iiwyp6_goal { grid-column:span 2; }
.sf-prevention-advantages .styles_op_1iiwyp6_goal:nth-last-child(-n+2) { grid-column:span 3; }
.sf-prevention-advantages .styles_op_14lnkh9_label { font-size:20px; line-height:1.3; letter-spacing:-.02em; text-transform:none; margin-bottom:12px; }
.sf-prevention-advantages .styles_op_14lnkh9_text { font-size:16px; line-height:1.65; max-width:52ch; }
.sf-prevention-advantages .styles_op_1iiwyp6_inner>.styles_op_13ugyk1_btn { margin-top:34px; }
.sf-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; list-style:none; margin:14px 0 0; padding:0; width:100%; }
.sf-benefit-grid>li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; padding:16px 0; border-top:1px solid #ffffff55; font-size:16px; line-height:1.5; font-weight:600; }
.sf-benefit-mark { display:grid; place-items:center; width:18px; height:18px; border:1px solid #ffffff88; border-radius:50%; font-size:10px; margin-top:3px; }
.sf-program-detail { display:grid; grid-template-columns:.7fr 1.3fr; gap:30px 70px; padding-top:34px; margin-top:clamp(2.5rem,5vw,4rem); border-top:1px solid #ffffff55; align-items:start; }
.sf-program-detail>.sf-body-subtitle { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.3; margin:0; }
.sf-program-copy { display:grid; gap:18px; max-width:68ch; }
.sf-program-copy p { font-size:17px; line-height:1.7; }
.sf-subpage .sf-panel-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 24px; }
.sf-subpage .sf-panel-benefits li { border-top:1px solid #0b4e6326; padding-top:14px; padding-left:14px; }
.sf-subpage .sf-panel-benefits li::before { top:calc(14px + .55em); }
/* Notes may shrink below 240 px instead of forcing a wider mobile document. */
.styles_op_ip3jcq_notesList { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 28px; }
.styles_op_ip3jcq_noteItem { min-width:0; gap:7px; }
.styles_op_ip3jcq_noteLabel,.styles_op_ip3jcq_noteText { overflow-wrap:break-word; }
.sf-price-grid { align-items:stretch; }
.sf-price-grid .styles_op_sb8l2y_head { min-height:58px; }
.sf-price-grid .styles_op_sb8l2y_priceRow { flex-direction:column; align-items:flex-start; gap:7px; padding-block:4px; }
.sf-price-grid .styles_op_sb8l2y_item { font-size:15px; line-height:1.6; }
.sf-price-grid .styles_op_sb8l2y_note { font-size:13px; line-height:1.6; }
.sf-cost-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; align-items:start; }
.sf-cost-grid>.styles_op_mnkutw_row { border-top:1px solid #ffffff55; border-bottom:0; }
.sf-cost-grid .styles_op_mnkutw_header { grid-template-columns:minmax(0,1fr) auto; min-height:96px; padding-block:22px; gap:18px; }
.sf-cost-grid .styles_op_mnkutw_label { font-size:17px; line-height:1.45; font-weight:600; }
.sf-cost-grid .styles_op_mnkutw_amount { font-size:20px; }
.sf-cost-grid .sf-fee-body { font-size:15px; }
.sf-page-preise .styles_op_1wpdvq5_blockIntro { opacity:1; font-size:16px; line-height:1.65; }
.sf-page-preise .styles_op_1wpdvq5_contract { display:grid; grid-template-columns:1fr 2fr; gap:24px; align-items:start; }
.sf-page-preise .styles_op_1wpdvq5_contractLabel { line-height:1.6; }
.sf-page-preise .styles_op_1wpdvq5_legal { display:grid; gap:10px; }
.sf-page-preise .styles_op_1wpdvq5_legalLine { font-size:14px; line-height:1.65; }
.sf-legal .styles_op_1iiwyr6_inner { max-width:1000px; }
@media(max-width:1100px) {
 .sf-detail-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:36px; }
 .sf-prevention-advantages .styles_op_1iiwyp6_goals { gap:28px; }
}
@media(max-width:900px) {
 .sf-cost-grid { column-gap:28px; }
 .sf-cost-grid .styles_op_mnkutw_header { grid-template-columns:minmax(0,1fr); gap:12px; }
 .sf-cost-grid .styles_op_mnkutw_right { justify-content:space-between; }
 .styles_op_ip3jcq_notesList { grid-template-columns:minmax(0,1fr); }
 .sf-program-detail { grid-template-columns:.6fr 1.4fr; column-gap:32px; }
}
@media(max-width:680px) {
 .sf-detail-grid,.sf-detail-grid--3,.sf-benefit-grid,.sf-cost-grid { grid-template-columns:minmax(0,1fr); }
 .sf-detail-grid>.styles_op_11z59m3_row { grid-template-columns:22px minmax(0,1fr); gap:12px; padding:20px 0; }
 .sf-detail-grid .styles_op_11z59m3_label,.sf-detail-grid--short .styles_op_11z59m3_label { font-size:18px; line-height:1.45; }
 .sf-detail-grid .styles_op_11z59m3_text { font-size:16px; }
 .sf-prevention-advantages .styles_op_1iiwyp6_goals { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 22px; }
 .sf-prevention-advantages .styles_op_1iiwyp6_goal,.sf-prevention-advantages .styles_op_1iiwyp6_goal:nth-last-child(-n+2) { grid-column:auto; }
 .sf-prevention-advantages .styles_op_1iiwyp6_goal:last-child { grid-column:1 / -1; }
 .sf-prevention-advantages .styles_op_14lnkh9_label { font-size:18px; }
 .sf-subpage .sf-four-pillars .styles_op_14lnkh9_label { font-size:18px; }
 .sf-program-detail { grid-template-columns:minmax(0,1fr); gap:20px; padding-top:28px; }
 .sf-subpage .sf-panel-benefits { grid-template-columns:minmax(0,1fr); gap:12px; }
 .sf-subpage .sf-panel-benefits li { padding-top:12px; }
 .sf-subpage .sf-panel-benefits li::before { top:calc(12px + .55em); }
 .sf-cost-grid .styles_op_mnkutw_header { grid-template-columns:minmax(0,1fr) auto; min-height:0; }
 .sf-price-grid .styles_op_sb8l2y_head { min-height:0; }
 .sf-page-preise .styles_op_1wpdvq5_contract { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media(max-width:420px) {
 .sf-prevention-advantages .styles_op_1iiwyp6_goals { grid-template-columns:minmax(0,1fr); }
 .sf-prevention-advantages .styles_op_1iiwyp6_goal:last-child { grid-column:auto; }
 .sf-cost-grid .styles_op_mnkutw_header { grid-template-columns:minmax(0,1fr); gap:10px; }
}
