/*
Theme Name: Response Physio — At Home
Theme URI: https://responsephysio.com.au/
Description: Elementor-friendly redesign for Response Physio.
Version: 1.2.1
Text Domain: response-physio
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');

/* Brand lock: original Response Physio teal and running-physio logo. */
:root{--ink:#202124;--deep:#45b7b5;--mist:#eaf9f8;--paper:#fff;--leaf:#45b7b5;--sun:#45b7b5;--line:#c8e8e7;--white:#fff;--serif:'DM Sans',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}
.brand-mark{background:#fff url('https://responsephysio.com.au/wp-content/uploads/2026/06/cropped-logo-physio.jpeg') center/contain no-repeat;color:transparent;border-radius:0}
.button{border-color:#45b7b5;background:#45b7b5;color:#202124}.button:hover{background:#34a5a3}.button.warm{background:#45b7b5;border-color:#45b7b5;color:#202124}.route{background:#45b7b5;color:#202124}.route-item strong{color:#fff}.testimonial{background:#202124}.footer{background:#202124;color:#e1f6f5}
:root{--ink:#163742;--deep:#0d2932;--mist:#e9f2ef;--paper:#fbfcfa;--leaf:#44765f;--sun:#e7a44a;--line:#cbdad5;--white:#fff;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.utility{background:var(--deep);color:#dcece6;font-size:.84rem}.utility .shell{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}.utility a{font-weight:600}.header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.08rem}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--leaf);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.55rem}.nav{display:flex;align-items:center;gap:26px;font-size:.94rem;font-weight:600}.nav a:not(.button){padding:8px 0;border-bottom:2px solid transparent}.nav a:not(.button):hover{border-color:var(--sun)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fff;font-weight:700;cursor:pointer;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px);background:#214b58}.button.warm{background:var(--sun);border-color:var(--sun);color:#17343e}.button.ghost{background:transparent;color:var(--ink)}.hero{background:var(--mist);overflow:hidden}.hero-grid{min-height:570px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:60px}.hero-copy{padding:55px 0}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--leaf);font-weight:700;font-size:.88rem}.eyebrow:before{content:'';width:28px;height:2px;background:var(--sun)}h1,h2,h3,p{margin-top:0}h1{font:600 clamp(3rem,6vw,5.2rem)/.98 var(--serif);letter-spacing:-.06em;max-width:700px;margin:18px 0 23px}h2{font:600 clamp(2.25rem,4vw,3.5rem)/1.04 var(--serif);letter-spacing:-.045em}.hero p{font-size:1.08rem;max-width:560px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:31px 0}.trust{display:flex;gap:20px;flex-wrap:wrap;font-size:.88rem;font-weight:600}.trust span{display:flex;align-items:center;gap:7px}.check{color:var(--leaf);font-size:1.2rem}.hero-image{height:440px;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:80px 8px 80px 8px;filter:saturate(.8)}.float-card{position:absolute;bottom:-22px;left:-32px;max-width:235px;background:#fff;padding:18px 19px;border-left:4px solid var(--sun);box-shadow:0 12px 30px #14363a22;font-size:.9rem}.float-card strong{display:block;font-size:1.4rem;font-family:var(--serif)}.route{background:var(--ink);color:#fff;padding:23px 0}.route-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:22px;align-items:center}.route h3{margin:0;font:500 1.48rem/1.1 var(--serif)}.route-item{border-left:1px solid #ffffff44;padding-left:16px;font-size:.88rem}.route-item strong{display:block;color:#b9d7ca;font-size:.8rem;margin-bottom:2px}.section{padding:98px 0}.split-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:39px}.split-head p{max-width:440px;margin:0}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{min-height:205px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service:hover{background:var(--mist)}.service-num{color:var(--leaf);font:600 .85rem var(--serif)}.service h3{font:600 1.36rem/1.12 var(--serif);margin:27px 0 9px}.service p{font-size:.92rem;margin:0}.care-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:82px;align-items:center}.care-photo{height:510px;position:relative}.care-photo img{height:100%;width:100%;object-fit:cover;border-radius:8px 80px 8px 80px;filter:saturate(.76)}.care-note{position:absolute;right:-25px;bottom:28px;background:var(--sun);padding:20px;width:205px;color:var(--ink);font-size:.91rem}.care-note strong{font:600 1.6rem/1 var(--serif);display:block;margin-bottom:6px}.step-list{margin:30px 0}.step{display:grid;grid-template-columns:45px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--line)}.step:last-child{border-bottom:1px solid var(--line)}.step span{font:600 1.1rem var(--serif);color:var(--leaf)}.step h3{margin:0 0 3px;font-size:1rem}.step p{margin:0;font-size:.93rem}.testimonial{background:var(--deep);color:#fff}.quote{max-width:850px;font:500 clamp(2rem,3.7vw,3.35rem)/1.14 var(--serif);letter-spacing:-.045em;margin:0 0 30px}.person{color:#c6dcd4;font-weight:600}.cta{padding:74px 0}.cta-box{background:var(--leaf);color:#fff;padding:52px clamp(25px,6vw,78px);display:flex;gap:35px;justify-content:space-between;align-items:center;border-radius:8px}.cta h2{margin:0;max-width:550px}.cta .button{flex:none}.footer{background:#102b34;color:#d6e1dc;padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding-bottom:40px}.footer .brand{color:#fff}.footer h3{color:#fff;font-size:.9rem;margin:0 0 12px}.footer p,.footer li{font-size:.9rem}.footer ul{padding:0;margin:0;list-style:none}.footer li{margin:7px 0}.copyright{border-top:1px solid #ffffff2b;padding-top:22px;font-size:.78rem;display:flex;justify-content:space-between}.mobile-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink)}.modal{position:fixed;inset:0;background:#0e2932aa;display:none;place-items:center;padding:20px;z-index:8}.modal.open{display:grid}.modal-box{position:relative;width:min(540px,100%);background:#fff;padding:38px;border-radius:9px}.close{position:absolute;right:16px;top:13px;border:0;background:none;font-size:1.5rem;cursor:pointer}.booking-options{display:grid;gap:10px;margin:25px 0}.booking-options button{background:#f1f6f3;border:1px solid var(--line);text-align:left;padding:15px;border-radius:5px;cursor:pointer}.booking-options button:hover,.booking-options button.active{border-color:var(--leaf);background:#dcece5}@media(max-width:760px){.shell{width:min(100% - 32px,600px)}.utility .shell{justify-content:center}.utility span{display:none}.header{height:69px}.nav{display:none}.nav.open{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:stretch;top:69px;left:0;right:0;background:#fff;padding:22px 24px;box-shadow:0 12px 20px #0002}.mobile-toggle{display:block}.hero-grid,.care-grid{grid-template-columns:1fr;gap:20px}.hero-copy{padding:55px 0 15px}.hero-image{height:330px;margin:0 0 45px}.float-card{left:15px}.route-grid{grid-template-columns:1fr 1fr}.route-grid h3{grid-column:span 2}.route-item{border-left:0;padding-left:0}.section{padding:68px 0}.split-head,.cta-box{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.care-photo{height:380px}.care-note{right:12px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>:first-child{grid-column:span 2}.copyright{display:block}.copyright span{display:block;margin-top:8px}}
