@font-face{font-family:Inter;src:url('/assets/Inter.woff2') format('woff2');font-display:swap;font-weight:100 900}@font-face{font-family:'Crimson Pro';src:url('/assets/CrimsonPro.woff2') format('woff2');font-display:swap;font-weight:200 900}
:root{--ink:#074437;--soft:#3e6d63;--green:#09745e;--mint:#88e6cb;--wash:#d8fbef;--aura:#a2f1d9;--line:#53b2984d;--button:#148169;--hover:#086e59;--canvas:#f8f8f5;--serif:'Crimson Pro',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:1rem/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column;isolation:isolate}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 4% 35%,color-mix(in srgb,var(--aura) 65%,transparent),transparent 40%),radial-gradient(ellipse at 98% 85%,color-mix(in srgb,var(--mint) 42%,transparent),transparent 42%)}body[data-brand='020-general_practice']{--ink:#792029;--soft:#924a52;--green:#b90f24;--mint:#febfba;--wash:#ffedeb;--aura:#fed2ce;--line:#f879744d;--button:#b83f3f;--hover:#a42b2e}main{flex:1;width:100%}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:3px solid var(--button);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-weight:750;letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(3rem,5.6vw,5.1rem)}h2{font-size:clamp(2.2rem,3.7vw,3.3rem)}h3{font-size:1.16rem;letter-spacing:-.02em;font-weight:700}em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--green);letter-spacing:-.025em}.header{max-width:1400px;width:100%;padding:1.4rem 4%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo{width:124px;max-height:56px;object-fit:contain;display:block}.program{display:flex;align-items:baseline;gap:.4rem;line-height:1.15;font-size:1rem;letter-spacing:-.035em}.program em{font-size:1.2rem}.program .tag{margin-left:.5rem}.quiet{font-size:.875rem;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.tag,.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;font-weight:700}.tag{border:1px solid var(--line);padding:.3rem .65rem;border-radius:100px;display:inline-block;line-height:1.4}.eyebrow{color:var(--green);margin-bottom:1.3rem}.hero{max-width:1260px;margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:7%;align-items:center;padding:2.5rem 3.5% 3.5rem;min-height:min(690px,calc(100svh - 170px))}.hero-intro{position:relative}.hero .lead{font-size:1.23rem;line-height:1.65;max-width:29rem;margin:1.5rem 0 .6rem;font-weight:500}.hero-caption{font-size:1rem;color:var(--soft);max-width:30rem}.entry-art{width:260px;max-width:75%;height:auto;display:block;margin:1.1rem 0 -1rem;mix-blend-mode:multiply}.card{border:2px solid transparent;border-radius:2rem;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--mint),var(--green) 80%) border-box;box-shadow:0 20px 60px #07443709;padding:2.2rem}.access-card h2{font-size:2.65rem}.card>p{color:var(--soft);margin:1.25rem 0;font-size:1rem}.card .request-code{font-size:.875rem;margin:1.2rem 0 0;text-align:center}.field{display:grid;gap:.5rem;margin:1.3rem 0}.field label,.field legend{font-size:.875rem;font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:.7rem;padding:.85rem 1rem;background:#fff;color:var(--ink);font-size:1rem;min-height:50px}.field input:focus,.field select:focus{border-color:var(--button)}.field small,small.hint{display:block;font-size:.875rem;color:var(--soft)}fieldset.field{border:0;padding:0;min-width:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;border-radius:100px;padding:.85rem 1.4rem;font-size:.9375rem;font-weight:650;text-decoration:none;min-height:50px;line-height:1.5}.primary{background:var(--ink);color:white;border:1px solid var(--ink)}.primary:hover{background:var(--hover)}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.full{width:100%;margin-top:1.1rem}.error{color:#792029;background:#ffedeb;padding:.8rem 1rem;border-radius:.65rem;font-size:.875rem;margin:1rem 0}.page{max-width:1120px;padding:2.5rem 2rem 4rem;margin:auto}.page-heading{max-width:720px;margin:0 0 2rem}.page-heading p{margin-top:1.3rem;color:var(--soft)}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2.5rem}.form-card{background:white;border:1px solid var(--line);border-radius:1.5rem;padding:2rem}.form-card h3{margin-top:1.8rem}.form-card h3:first-child{margin-top:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}.optional{color:var(--soft);font-weight:400}.checks{display:grid;gap:1.2rem;margin:1.5rem 0;font-size:.875rem}.check{display:flex;align-items:flex-start;gap:.75rem}.check input{margin:.25rem 0 0;accent-color:var(--button);width:18px;min-width:18px;height:18px}.participation-space{padding:1.1rem 0;margin-top:1.3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.875rem;color:var(--soft)}.aside{font-size:.9375rem;color:var(--soft);padding-top:1rem}.aside h3{color:var(--ink);margin:1rem 0 .6rem}.aside p{margin-bottom:1.4rem}.aside .line{border-top:1px solid var(--line);margin:1.5rem 0}.profile-character{display:block;width:100%;height:220px;object-fit:contain;margin-bottom:1.5rem}.link-button{border:0;background:none;padding:0;text-decoration:underline;color:inherit;font-size:inherit}.success{max-width:690px;margin:3.5rem auto;padding:0 1.5rem}.success-mark{display:grid;place-items:center;background:var(--wash);width:64px;height:64px;border-radius:50%;font-size:1.8rem;margin-bottom:1.5rem}.success p{margin:1.3rem 0;color:var(--soft)}.success .card{margin:2rem 0}.legal{max-width:800px;margin:auto;padding:2.5rem 1.8rem 3rem}.legal h1{font-size:clamp(2rem,4vw,3rem);overflow-wrap:anywhere;hyphens:auto}.legal h2{font-size:1.5rem;letter-spacing:-.025em;margin:2rem 0 .8rem}.legal p,.legal li{font-size:1rem;color:var(--soft);margin:.9rem 0}.legal .status{border-left:3px solid var(--green);padding:.9rem 1rem;background:var(--wash)}.legal ol{padding-left:1.3rem}.legal-permalink{padding:0 1.8rem 1.5rem;font-size:.875rem}dialog{width:min(850px,94vw);max-height:88svh;border:1px solid var(--line);border-radius:1.5rem;background:white;color:inherit;padding:0}dialog::backdrop{background:#033d2e66;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:.75rem;float:right;margin:.75rem 1rem;border:1px solid var(--line);border-radius:50%;background:white;width:44px;height:44px;z-index:1}.admin{max-width:1320px;padding:2.5rem 4%;margin:auto}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem}.admin-top h1{font-size:3rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}.stat{background:white;padding:1.5rem;border:1px solid var(--line);border-radius:1rem}.stat strong{font-size:2.3rem;display:block;letter-spacing:-.05em;font-weight:700}.stat span{font-size:.875rem;color:var(--soft)}.toolbar{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin:1.5rem 0}.toolbar select{border:1px solid var(--line);border-radius:.7rem;padding:.8rem;background:white;font-size:1rem;color:inherit}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:1rem;background:white}table{border-collapse:collapse;width:100%;font-size:.875rem;white-space:nowrap}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--line)}th{font-weight:650;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--soft);background:var(--wash)}td small{display:block;color:var(--soft);font-size:.8rem}td select{padding:.5rem;border:1px solid var(--line);border-radius:.5rem;background:white;color:inherit}.badge{font-size:.875rem;padding:.4rem .7rem;border-radius:.5rem;background:var(--wash)}.empty{text-align:center;padding:3rem;color:var(--soft)}.admin details{margin:1.5rem 0}.admin details summary{cursor:pointer;font-size:1rem;min-height:44px}.admin-help{font-size:.875rem;color:var(--soft);max-width:800px;margin:1rem 0}.pill-options{display:flex;gap:.6rem;flex-wrap:wrap}.pill-options label{border:1px solid var(--line);padding:.7rem;border-radius:.7rem;cursor:pointer;display:flex;align-items:center}.pill-options input{accent-color:var(--button);width:auto;min-height:auto;margin-right:.5rem}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1.5rem;align-items:center;font-size:.8rem;color:var(--soft);padding:1.2rem 4%}footer nav{display:flex;gap:1.3rem;align-items:center}footer a,footer button{display:inline-flex;align-items:center;min-height:44px}footer a{text-decoration:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:.75rem;padding:1rem 1.3rem;font-size:.875rem;box-shadow:0 6px 30px #07443720;max-width:90vw;z-index:5}#toast:empty{display:none}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:10px;background:white;z-index:9}[hidden]{display:none!important}
@media(max-width:800px){.header{padding:1.2rem;flex-wrap:wrap;gap:1rem}.program{font-size:.875rem}.program em{font-size:1rem}.program .tag{display:none}.header .quiet{font-size:.8rem}.logo{width:100px}.hero{grid-template-columns:1fr;padding:1.6rem 1.25rem 2.5rem;gap:1.5rem;min-height:0}.hero-intro h1{font-size:3.3rem}.hero .eyebrow{margin-bottom:1rem}.hero .lead{font-size:1.1rem;margin-top:1rem}.hero-caption{font-size:.9375rem}.entry-art{display:block;width:160px;max-width:60%;margin:.75rem auto;height:auto}.card{padding:1.6rem;border-radius:1.5rem}.access-card h2{font-size:2.3rem}.form-layout{grid-template-columns:1fr;gap:1rem}.grid2{grid-template-columns:1fr}.page{padding:2rem 1.25rem}.form-card{padding:1.35rem}.aside{padding:1rem}.profile-character{height:170px}.stats{grid-template-columns:1fr 1fr}.stat{padding:1rem}.admin{padding:2rem 1.25rem}.admin-top{align-items:flex-start}.admin-top h1{font-size:2.2rem}.toolbar>*{max-width:100%}footer{flex-wrap:wrap;padding:1rem 1.25rem;gap:.5rem}footer nav{flex-wrap:wrap;gap:1rem}.success{margin:2rem auto}}@media(max-width:420px){.header .program{display:none}.hero-intro h1{font-size:2.9rem}.hero-caption{font-size:.875rem}.hero{padding-top:.7rem;gap:1.2rem}.card{padding:1.35rem}.stats{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Approved profile lockups carry intrinsic clearspace: normalize visible size. */
body[data-brand='001-physiotherapy'] .logo,body[data-brand='020-general_practice'] .logo{width:210px;max-height:80px}
@media(max-width:800px){body[data-brand='001-physiotherapy'] .logo,body[data-brand='020-general_practice'] .logo{width:170px;max-height:65px}}

/* Keep enlarged text inside narrow grid tracks; never clip the content. */
.hero>*,.form-layout>*,.grid2>*,.card,.form-card{min-width:0}h1,h2,h3,.program,.check,.badge{overflow-wrap:anywhere}footer nav{flex-wrap:wrap}@media(max-width:800px){.hero,.form-layout,.grid2{grid-template-columns:minmax(0,1fr)}}

.account-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:stretch}.account-actions>a{white-space:normal;overflow-wrap:anywhere;min-width:0;text-align:center}.success .card{min-width:0}@media(max-width:480px){.account-actions{flex-direction:column}.account-actions>a{width:100%;justify-content:center}}

.entry-art{mask-image:radial-gradient(ellipse at center,#000 45%,transparent 74%)}

/* Keep the legal and management links centered independently of side copy. */
footer{margin-top:3rem;padding-block:2rem;display:grid;grid-template-columns:1fr auto 1fr;gap:1rem}footer nav{justify-content:center}footer>span:last-child{text-align:right}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checks a{text-decoration:underline;text-underline-offset:3px}@media(max-width:900px){footer{grid-template-columns:1fr;text-align:center;padding-block:1.6rem}footer>span:last-child{text-align:center}footer nav{justify-content:center}}
