/* Contact and support extend the approved Oskar presentation. No layout motion. */
body.support-page{--navy:#1C355E;--slate:#536779;--paper:#F5F1EB;--sand:#D9C9B8;--cool:#F7F8FA;--ink:var(--navy);--muted:var(--slate);--accent:var(--sand);background:var(--white);color:var(--navy);font-family:Manrope,sans-serif}
body.support-swimtech{--paper:#F7F8FA;--sand:#9BB9CC}
.support-page *{box-sizing:border-box}.support-page [hidden]{display:none!important}
.support-page ::selection{background:var(--sand);color:var(--navy)}
.support-page input,.support-page textarea{caret-color:var(--navy)}
.support-page :focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.support-page .frame{width:calc(100% - 2 * clamp(20px,4.5vw,80px));max-width:1200px;margin-inline:auto}
.support-page a{text-underline-offset:5px}.support-page svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.support-page .refined-page{background:transparent}.support-page .refined-contact{padding:64px 0 80px;background:var(--paper)}
.support-page .support-contact-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-rows:min-content min-content min-content 1fr;column-gap:clamp(40px,6vw,88px);row-gap:28px;align-items:start}
body.support-page .refined-contact .page-hero{grid-column:1;grid-row:1;width:100%;max-width:none;min-height:0;padding:0;margin:0;text-align:left;background:transparent}
.support-page .page-hero h1{font-size:clamp(38px,4.2vw,60px);font-weight:750;letter-spacing:-.035em;line-height:1.08;max-width:12ch;margin:0;text-wrap:balance;hyphens:auto;overflow-wrap:anywhere}
.support-page .page-hero>p{margin:24px 0 0;max-width:39ch;font-size:18px;line-height:1.65;color:var(--slate)}
.support-page .page-hero>p.support-next{font-size:16px;margin-top:24px}
.support-page .page-hero>p.support-route{font-size:14px;line-height:1.8;margin-top:28px}
.support-page .support-route a{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:650;min-height:44px;color:var(--navy)}
.support-page .support-email{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;font-size:16px;color:var(--navy)}
body.support-page .refined-contact .section.contact-grid{display:contents;width:auto;max-width:none;padding:0;margin:0;background:transparent}
.support-page .contact-grid>.support-aside{display:block;grid-column:1;grid-row:2;margin:0;padding:0;min-width:0}
body.support-page .refined-contact .contact-grid>.support-aside img{width:100%;height:auto;max-height:none;object-fit:cover;border-radius:14px;display:block;margin:0;aspect-ratio:3/2}
body.support-personal .refined-contact .contact-grid>.support-aside img{aspect-ratio:2/3;object-position:center;max-width:280px}
.support-page.clinic-enquiry .contact-grid>.support-aside{grid-row:3}
.support-page .support-aside>p{font-size:13px;margin-top:12px;color:var(--slate)}
body.support-page .refined-contact .contact-grid>.form{display:block;grid-column:2;grid-row:1 / span 4;width:100%;max-width:none;min-width:0;margin:0;padding:32px;background:var(--white);border:1px solid var(--sand);border-radius:18px;box-shadow:none}
.support-page #contact-form{scroll-margin-top:104px}.support-page #contact-form .form-title{font-size:26px;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px}
.support-page #contact-form .support-required{font-size:13px;line-height:1.65;margin:0 0 28px;color:var(--slate)}
.support-page #contact-form .field{margin:0 0 22px;min-width:0}.support-page #contact-form label{display:block;font-size:14px;line-height:1.5;font-weight:650;margin:0 0 8px;color:var(--navy)}
.support-page #contact-form .field input,.support-page #contact-form .field select,.support-page #contact-form .field textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--sand);border-radius:8px;background:var(--white);color:var(--navy);font:inherit;font-size:16px;line-height:1.5;box-shadow:none}
.support-page input::placeholder,.support-page textarea::placeholder{color:var(--slate);opacity:1}
.support-page #contact-form .field textarea{min-height:146px;resize:vertical}
.support-page .button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 22px;font:inherit;font-size:14px;line-height:1.5;font-weight:700;border:1px solid transparent;border-radius:999px;background:var(--navy);color:var(--white);text-decoration:none;white-space:normal;transform:none;box-shadow:none;transition:background-color .15s}
.support-page .button:hover{background:#1C355E;text-decoration:underline}.support-page .button:active{background:var(--slate);transform:none}.support-page #contact-form>.button{width:100%;margin:0}
.support-page .support-send-note{font-size:13px;line-height:1.6;color:var(--slate);margin:24px 0 12px}
.support-page .support-privacy{border-top:1px solid var(--sand);margin-top:24px;padding-top:8px}
.support-page .support-privacy>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:48px;font-size:13px;font-weight:650}
.support-page summary::-webkit-details-marker{display:none}.support-page .plus{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--paper);font-size:19px;font-weight:400;flex-shrink:0}.support-page details[open]>summary .plus{transform:rotate(45deg)}
.support-page #contact-form .enquiry-notice{font-size:13px;line-height:1.8;margin:8px 0 0;color:var(--slate)}
.support-page #contact-form .enquiry-details{margin:26px 0 0;border:0;padding:0}.support-page #contact-form .enquiry-details h3{font-size:20px;margin-bottom:10px}.support-page #contact-form .enquiry-details .form-note{font-size:13px;line-height:1.65;margin-bottom:20px}
.support-page .clinic-contact-summary{grid-column:1;grid-row:2;display:block;width:100%;padding:24px;margin:0;border:1px solid var(--sand);background:var(--white);border-radius:14px}.support-page .clinic-contact-summary>div+div{margin-top:18px}.support-page .clinic-contact-summary h2{font-size:22px!important}
.support-page .camp-enquiry-summary{margin:0 0 28px;border-color:var(--sand);box-shadow:none}
.support-page #film-package-calculator{min-width:0;padding:18px;margin:28px 0;border-radius:10px}.support-page #film-package-calculator legend{font-size:15px}.support-page .film-enquiry-options{flex-wrap:wrap}.support-page .film-enquiry-row{min-width:0}.support-page #contact-form .film-enquiry-options label{display:flex;align-items:center;gap:8px}.support-page .film-enquiry-options select{max-width:100%}
.support-page .enquiry-feedback{border-color:var(--sand);box-shadow:none}.support-page .enquiry-feedback button{white-space:normal}
body.support-page #contact-form #film-package-calculator .film-enquiry-quantity{display:grid;grid-template-columns:44px 48px 44px;width:136px;max-width:100%;min-height:44px;overflow:visible;border:1px solid var(--sand);border-radius:8px;background:var(--white);align-items:center}
body.support-page #contact-form #film-package-calculator .film-enquiry-quantity input{appearance:textfield;display:block;width:48px;min-width:0;max-width:48px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-inline:1px solid var(--sand);border-radius:0;background:var(--white);text-align:center;font:inherit;font-size:16px;color:var(--navy)}
body.support-page #contact-form #film-package-calculator .film-enquiry-quantity button{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;margin:0;border:0;border-radius:7px;background:var(--cool);color:var(--navy);font-size:20px;line-height:1}
body.support-page #contact-form #film-package-calculator .film-enquiry-package-grid label{display:grid;gap:4px;margin-bottom:12px}
body.support-page #contact-form #film-package-calculator .film-enquiry-package-grid label span{display:block;font-size:13px;color:var(--slate)}
.support-page .footer{border-top:1px solid var(--sand);padding:36px 0 20px}.support-page .footer .footer-grid{gap:40px}.support-page .footer .footer-bottom{padding:22px 0 0;margin-top:24px;border-top:1px solid var(--sand);color:var(--slate)}.support-page .footer-swim-brand{padding:6px;min-height:76px!important;width:92px}.support-page .footer-swim-brand img{display:block;width:80px;height:60px;object-fit:contain}.support-page .footer a{color:var(--navy)}.support-page .footer .newsletter{display:grid;grid-template-columns:1fr}.support-page .footer .newsletter-consent{display:flex;font-size:13px}.support-page .footer .newsletter-consent input{width:18px;height:18px;min-height:0;padding:0}.support-page .footer .newsletter-privacy{font-size:13px}.support-page .footer .newsletter input[type=email]{background:var(--paper);border-color:var(--sand)}.support-page .footer .newsletter .button{color:var(--white)}
.support-page .support-faq{max-width:1000px;padding:64px 0 72px}.support-page .support-faq .page-hero{width:100%;max-width:none;min-height:0;padding:0;margin:0;text-align:center;background:var(--white)}.support-page .support-faq .page-hero h1{max-width:none;font-size:clamp(38px,4.5vw,60px)}.support-page .support-faq .page-hero>p{margin:20px auto 0;max-width:none;font-size:18px}
.support-page .support-answers{margin-top:40px}.support-page .faq{width:100%;max-width:none;margin:0}.support-page .faq-tools{margin:0;padding:0}.support-page .faq-tools>label{font-size:14px;font-weight:650;margin:0 0 10px}.support-page .faq-search-field{display:flex;gap:8px}.support-page #faq-search{font:inherit;font-size:16px;min-height:56px;width:100%;min-width:0;padding:14px 18px;border:1px solid var(--sand);border-radius:10px;background:var(--cool);color:var(--navy)}.support-page #faq-clear{position:static;min-height:48px;padding:8px 14px;flex-shrink:0;color:var(--navy);background:var(--cool);border-radius:8px;font-size:14px}.support-page #faq-results{font-size:13px;color:var(--slate);margin-top:12px}
.support-page .faq-topics{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 0}.support-page .faq-topics a{display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--navy)}
.support-page .faq .faq-group{font-size:26px;line-height:1.25;letter-spacing:-.025em;padding:0;margin:44px 0 16px;scroll-margin-top:110px}
.support-page .faq>details{border:0;border-bottom:1px solid var(--sand);border-radius:0;padding:0;margin:0;background:var(--white);box-shadow:none;overflow:visible}.support-page .faq>details>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:20px 0;min-height:68px;font-size:17px;line-height:1.5;font-weight:600;color:var(--navy)}
.support-page .faq>details>summary::after{content:'+';display:flex;align-items:center;justify-content:center;position:static;width:28px;height:28px;flex:0 0 28px;border:0;border-radius:50%;background:var(--cool);color:var(--navy);font-size:21px;font-weight:400;line-height:1;transform:none}.support-page .faq>details[open]>summary::after{content:'−'}.support-page .faq>details[open]>summary{padding-bottom:12px}.support-page .faq>details>p{max-width:72ch;margin:0;padding:0 44px 24px 0;font-size:16px;line-height:1.8;color:var(--slate)}.support-page .faq-empty{padding:22px;background:var(--cool);border-radius:10px;font-size:16px;line-height:1.7;margin-top:24px}
.support-page .support-help{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;margin-top:56px;background:var(--cool);border-radius:14px}.support-page .support-help h2{font-size:26px;line-height:1.2;letter-spacing:-.025em}.support-page .support-help p{font-size:16px;margin-top:12px;max-width:36ch}.support-page .support-help .button{flex-shrink:0}
@media(max-width:900px){.support-page .support-contact-layout{column-gap:32px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}body.support-page .refined-contact .contact-grid>.form{padding:24px}.support-page .page-hero h1{font-size:42px}.support-page .footer .footer-grid{gap:26px}}
@media(max-width:700px){.support-page .refined-contact{padding:36px 0 48px}.support-page .support-contact-layout{display:flex;flex-direction:column;gap:28px}.support-page .refined-contact .page-hero{order:0}.support-page .page-hero h1{font-size:40px;max-width:15ch}.support-page .page-hero>p{font-size:17px;max-width:40ch;margin-top:20px}.support-page .page-hero>p.support-route{margin-top:16px}.support-page .support-email{margin-top:8px}.support-page .clinic-contact-summary{order:1}.support-page .refined-contact .contact-grid>.form{order:2;padding:24px 20px}.support-page .contact-grid>.support-aside{order:3;width:100%}.support-personal .support-aside img{width:200px;max-width:100%;aspect-ratio:4/5}.support-page #contact-form .form-title{font-size:24px}.support-page #contact-form .field{margin-bottom:20px}.support-page #film-package-calculator{padding:14px}.support-page .support-faq{padding:36px 0 48px}.support-page .support-faq .page-hero{text-align:left}.support-page .support-faq .page-hero h1{font-size:40px}.support-page .support-faq .page-hero>p{margin:18px 0 0;font-size:17px}.support-page .support-answers{margin-top:30px}.support-page .faq .faq-group{font-size:24px;margin-top:32px}.support-page .faq>details>summary{font-size:16px;padding:18px 0;gap:16px}.support-page .faq>details>p{padding-right:0}.support-page .faq-topics{column-gap:16px;row-gap:0}.support-page .support-help{display:block;padding:24px;margin-top:36px}.support-page .support-help .button{margin-top:22px}.support-page .footer .footer-grid{grid-template-columns:1fr;gap:20px}.support-page .footer .footer-bottom{flex-direction:column;gap:6px}.support-page .footer .footer-bottom a{min-height:44px}}
@media(max-width:900px){.support-page .refined-contact{padding:36px 0 48px}.support-page .support-contact-layout{display:flex;flex-direction:column;gap:28px}body.support-page .refined-contact .page-hero{order:0}.support-page .clinic-contact-summary{order:1}.support-page .refined-contact .contact-grid>.form{order:2}.support-page .contact-grid>.support-aside{order:3;width:100%}.support-page .page-hero h1{max-width:none}.support-page .page-hero>p{max-width:55ch}}
/* Editable boundaries carry non-text contrast; decorative surfaces stay quiet. */
.support-page #contact-form .field input,.support-page #contact-form .field select,.support-page #contact-form .field textarea,.support-page #faq-search,.support-page .footer .newsletter input[type=email]{border-color:var(--slate)}
body.support-page #contact-form #film-package-calculator .film-enquiry-quantity{border-color:var(--slate)}
@media(prefers-reduced-motion:reduce){.support-page *{transition:none!important;scroll-behavior:auto!important}}
