/*
Theme Name: Midshire Supported Housing Trust
Author: Custom WordPress Development
Description: Custom photographic, responsive WordPress theme for Midshire Supported Housing Trust. Includes a secure, dashboard-saved support enquiry form, referral pathways and charity information. No builder or paid plugins required.
Version: 1.4.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: midshire
Tags: custom-logo, custom-menu, featured-images, responsive-layout, accessibility-ready
*/
:root{--navy:#09294f;--navy2:#061e39;--blue:#16416d;--red:#ce1538;--redhover:#ab102d;--ink:#162840;--muted:#5e6e80;--light:#f3f7fb;--line:#dce5ef;--white:#fff;--container:1190px;--radius:18px;--shadow:0 24px 60px rgba(7,31,58,.10)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--navy);text-decoration:none}a:hover{color:var(--red)}h1,h2,h3,h4{color:var(--navy);line-height:1.16;margin:0 0 .65em;letter-spacing:-.035em}h1{font-size:clamp(2.45rem,4.65vw,5.2rem)}h2{font-size:clamp(2rem,3.2vw,3.25rem)}h3{font-size:1.25rem}p{margin:0 0 1.2em}ul{padding-left:1.25rem}.container{width:min(var(--container),calc(100% - 44px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10000;top:-60px;left:20px;padding:11px 20px;background:#fff}.skip-link:focus{top:15px}*:focus-visible{outline:3px solid #fd6b7c;outline-offset:3px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--red);font-size:.76rem;font-weight:800;display:block;margin:0 0 14px}.lead{font-size:1.1rem;color:var(--muted);max-width:670px}.section{padding:98px 0}.section-soft{background:var(--light)}.section-heading{max-width:760px;margin:0 auto 39px;text-align:center}.section-heading p{color:var(--muted)}.section-heading h2{margin-bottom:13px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:13px;vertical-align:middle;min-height:50px;padding:12px 23px;background:var(--red);border:2px solid var(--red);border-radius:8px;color:#fff;font-weight:750;font-size:.91rem;letter-spacing:.004em;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}.btn:hover,.btn:focus-visible{background:var(--redhover);border-color:var(--redhover);color:#fff;transform:translateY(-2px)}.btn svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:2}.btn-outline{background:transparent;border-color:#fff;color:#fff}.btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff}.btn-outline-dark{background:transparent;border-color:var(--navy);color:var(--navy)}.btn-outline-dark:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-soft{background:#fff;border-color:var(--line);color:var(--navy)}.btn-soft:hover{color:#fff}.btn-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.red-text{color:#ff3857}.white-text{color:#fff}.text-center{text-align:center}.small{font-size:.87rem}.muted{color:var(--muted)}
/* Navigation */
.topbar{background:var(--navy2);color:#d5e3f3;font-size:.77rem;letter-spacing:.012em}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:39px}.topbar a{color:#e9eff7}.topbar a:hover{color:#fff}.topbar-left,.topbar-right{display:flex;gap:23px;align-items:center}.topbar svg{width:14px;height:14px;stroke:#ff6176;stroke-width:2;fill:none;vertical-align:-2px;margin-right:5px}.site-header{background:#fff;box-shadow:0 2px 16px rgba(10,28,55,.09);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;gap:26px;min-height:94px}.brand{display:block;flex:0 0 auto;max-width:232px}.brand img{display:block;width:218px;aspect-ratio:1191/646;object-fit:contain;border-radius:9px}.nav-menu{display:flex;gap:clamp(10px,1.55vw,24px);align-items:center;list-style:none;padding:0;margin:0 auto 0 0}.nav-menu a{font-size:.85rem;font-weight:750;white-space:nowrap;color:var(--navy)}.nav-menu a:hover,.nav-menu .current-menu-item>a,.nav-menu a[aria-current=page]{color:var(--red)}.header-cta{flex:none;padding:11px 17px;font-size:.83rem}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px;color:var(--navy);cursor:pointer}.menu-toggle svg{width:22px;height:22px;display:block;stroke:currentColor;fill:none;stroke-width:2}.mobile-cta{display:none}.mobile-apply{display:none}
/* Hero */
.hero{position:relative;isolation:isolate;min-height:630px;display:flex;align-items:center;overflow:hidden;background:#143c61}.hero:before{content:'';position:absolute;inset:-4%;z-index:-2;background-image:url('assets/images/housing-hero.webp');background-position:center;background-size:cover;animation:heropush 23s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(93deg,rgba(3,26,53,.96) 0%,rgba(4,30,61,.84) 34%,rgba(5,29,59,.3) 71%,rgba(8,28,55,.13) 100%)}@keyframes heropush{from{transform:scale(1)}to{transform:scale(1.08)}}.hero-content{padding:85px 0 113px}.hero .eyebrow{color:#ffb0b9}.hero h1{color:#fff;max-width:750px;text-wrap:balance;margin-bottom:21px}.hero p{color:#e5edf7;font-size:1.1rem;max-width:590px;margin-bottom:29px}.hero-trust{display:flex;align-items:center;gap:12px;color:#e7effa;font-size:.82rem;margin-top:27px}.hero-trust .dot{width:7px;height:7px;border-radius:50%;background:#ff7d8b}.hero-stripe{height:5px;background:linear-gradient(90deg,var(--red),#f04a66 43%,var(--navy) 43%)}.highlights{position:relative;margin-top:-49px;z-index:2}.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 18px;background:#fff;border-radius:14px;box-shadow:var(--shadow)}.highlight{display:flex;gap:12px;align-items:center;padding:4px 18px;border-right:1px solid var(--line)}.highlight:last-child{border:0}.icon-wrap{width:45px;height:45px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--red);background:#fff2f4;flex:none}.icon-wrap svg,.service-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85}.highlight strong{display:block;color:var(--navy);font-size:.85rem;line-height:1.4}.highlight span{display:block;color:var(--muted);font-size:.73rem;line-height:1.3;margin-top:3px}
/* services */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 19px rgba(8,32,60,.035);transition:transform .24s,box-shadow .24s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-image{aspect-ratio:16/9;background:linear-gradient(125deg,#b9d3ed,#f3f6fa);overflow:hidden}.service-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s}.service-card:hover .service-image img{transform:scale(1.05)}.service-content{padding:25px 25px 28px}.service-content h3{margin-top:2px;font-size:1.32rem}.service-content p{color:var(--muted);font-size:.92rem;line-height:1.65;min-height:82px;margin-bottom:14px}.text-link{font-size:.86rem;color:var(--red);font-weight:800;display:inline-flex;gap:7px;align-items:center}.text-link:hover{gap:12px}.services-footer{text-align:center;margin-top:34px}
/* Editorial columns */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(35px,6vw,90px)}.picture-frame{position:relative}.picture-frame>img{border-radius:17px;object-fit:cover;width:100%;min-height:450px;max-height:535px;display:block;box-shadow:var(--shadow)}.picture-pill{position:absolute;bottom:23px;right:-24px;background:#fff;padding:15px 20px;box-shadow:var(--shadow);border-left:4px solid var(--red);border-radius:9px}.picture-pill strong{display:block;color:var(--navy);font-size:1.1rem}.picture-pill span{display:block;color:var(--muted);font-size:.75rem}.check-list{list-style:none;margin:24px 0 28px;padding:0}.check-list li{position:relative;padding:0 0 0 31px;margin:0 0 13px;font-weight:650;font-size:.94rem}.check-list li:before{content:'✓';position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:#eaf6f0;color:#1b8969;font-size:.78rem;display:grid;place-items:center}
/* steps and referral */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.step-card{border-top:2px solid var(--red);background:#fff;border-radius:0 0 11px 11px;padding:30px 28px;box-shadow:0 9px 24px rgba(9,33,59,.04)}.step-num{font-size:2.4rem;font-weight:850;line-height:1;display:block;color:#cfdee9;margin-bottom:16px}.step-card p{font-size:.9rem;color:var(--muted)}.referral-panel{position:relative;color:#fff;background:linear-gradient(90deg,#061f3d,#123e6b);overflow:hidden}.referral-panel:before{content:'';position:absolute;inset:0;background:url('assets/images/housing-community.webp') center/cover no-repeat;opacity:.13}.referral-panel>.container{position:relative}.referral-panel h2{color:#fff}.referral-panel p{color:#dee8f3}.referral-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center}.referral-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.referral-type{padding:27px 14px;min-height:144px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(255,255,255,.10);backdrop-filter:blur(5px);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#fff}.referral-type svg{width:29px;height:29px;stroke:#ff8292;stroke-width:1.7;fill:none}.referral-type strong{font-size:.94rem;line-height:1.35}
/* trust and call to action */
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.trust-item{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:#fff;padding:25px;border-radius:13px}.trust-item svg{width:42px;height:42px;stroke:var(--red);stroke-width:1.55;fill:none;flex:none}.trust-item strong{font-size:1rem;color:var(--navy);display:block}.trust-item small{display:block;color:var(--muted);font-size:.77rem}.cta-band{padding:65px 0;background:var(--navy);color:#fff}.cta-band h2{color:#fff;font-size:clamp(1.8rem,3vw,2.75rem);margin:0 0 8px}.cta-band p{color:#dbe6f1;margin:0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
/* Inner pages */
.page-hero{position:relative;background:linear-gradient(100deg,rgba(5,28,53,.95),rgba(8,44,78,.8)),url('assets/images/housing-hero.webp') center 53%/cover;color:#fff;padding:102px 0 93px}.page-hero h1{color:#fff;font-size:clamp(2.5rem,4.25vw,4.2rem);max-width:730px}.page-hero p{color:#e3ebf5;max-width:690px;font-size:1.04rem}.page-hero .eyebrow{color:#ff94a5}.breadcrumb{color:#b8cbdf;font-size:.8rem;margin-bottom:24px}.breadcrumb a{color:#d8e4f1}.content-columns{display:grid;grid-template-columns:1.08fr .92fr;gap:45px}.info-card{padding:30px;border-radius:13px;border:1px solid var(--line);background:#fff}.info-card p{color:var(--muted)}.info-card ul{color:var(--muted)}.info-card-icon{width:43px;height:43px;background:#fff1f2;border-radius:10px;color:var(--red);display:grid;place-items:center;margin-bottom:20px}.info-card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9}.certificate-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.certificate-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:20px;box-shadow:0 5px 25px rgba(8,32,60,.04)}.certificate-card img{display:block;margin:0 auto;width:100%;height:410px;object-fit:contain;background:#eef2f6;border-radius:8px}.certificate-card h3{font-size:1.08rem;margin:20px 0 5px}.certificate-card p{color:var(--muted);font-size:.86rem;margin:0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:750;color:var(--navy);cursor:pointer;font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq summary:after{content:'+';font-size:1.4rem;color:var(--red);line-height:1}.faq details[open] summary:after{content:'−'}.faq p{font-size:.93rem;color:var(--muted);padding-top:13px}
/* forms */
.form-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.7fr);gap:35px;align-items:start}.form-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:34px}.form-card h2{font-size:2rem}.form-card>p{font-size:.91rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 18px}.field{display:flex;flex-direction:column;gap:7px}.field-full{grid-column:1/-1}.field label{font-size:.84rem;font-weight:780;color:var(--navy)}.field label .req{color:var(--red)}.field input,.field select,.field textarea{font:inherit;font-size:.92rem;width:100%;min-width:0;border:1px solid #cbd7e3;border-radius:8px;background:#fff;color:var(--ink);padding:11px 13px;min-height:46px;outline:none;transition:box-shadow .15s,border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#366895;box-shadow:0 0 0 3px rgba(38,103,158,.11)}.field textarea{min-height:132px;resize:vertical}.field .hint{font-size:.74rem;color:var(--muted)}.form-check{display:flex;align-items:flex-start;gap:12px;margin:22px 0;color:var(--muted);font-size:.84rem}.form-check input{margin-top:6px;accent-color:var(--red);flex:none}.form-alert{padding:15px 17px;border-radius:8px;margin-bottom:23px;border:1px solid}.form-alert.success{background:#eaf8f1;border-color:#aedcc1;color:#226342}.form-alert.error{background:#fff1f1;border-color:#f2c2c2;color:#9a2634}.form-side{padding:28px;border-radius:16px;background:var(--navy);color:#e5eff7}.form-side h3{color:#fff}.form-side p,.form-side li{font-size:.88rem;color:#d8e6f2}.form-side a{color:#fff}.form-side .btn{margin-top:7px}.form-side hr{border:0;border-top:1px solid rgba(255,255,255,.22);margin:25px 0}.hp-field{position:absolute;left:-99999px;opacity:0;height:0;overflow:hidden}.contact-info{display:grid;gap:17px}.contact-item{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px 24px}.contact-item strong{display:block;color:var(--navy)}.contact-item span{display:block;color:var(--muted);font-size:.9rem}.contact-item a{text-decoration:underline;text-decoration-color:#d7e0e9;text-underline-offset:3px}
/* footer */
.site-footer{background:#071e37;color:#d6e3ef;padding:76px 0 0}.footer-grid{display:grid;grid-template-columns:1.22fr .72fr .83fr 1.08fr;gap:37px}.footer-brand img{width:240px;display:block;border-radius:10px}.footer-brand p{max-width:300px;font-size:.86rem;line-height:1.7;color:#c3d0df;margin-top:20px}.site-footer h3{color:#fff;font-size:.95rem;letter-spacing:.01em;margin-bottom:20px}.footer-links{padding:0;margin:0;list-style:none}.footer-links li{margin-bottom:10px;font-size:.88rem}.footer-links a{color:#cbdaeb}.footer-links a:hover{color:#fff}.footer-address{margin-bottom:20px;font-size:.83rem;line-height:1.65;color:#cad7e7}.footer-address strong{color:#fff;display:block}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:51px;padding:18px 0;font-size:.75rem;color:#a8bbce}.footer-bottom a{color:#cfe2ef}.footer-reg{line-height:1.7}.footer-reg a{text-decoration:underline;text-underline-offset:3px}
/* Responsive & motion */
@media(max-width:1100px){.topbar-right{display:none}.brand img{width:178px}.nav-menu{gap:11px}.nav-menu a{font-size:.77rem}.header-cta{font-size:.77rem;padding:10px 11px}.header-inner{gap:18px}.footer-grid{gap:23px}}
@media(max-width:890px){.topbar-inner{justify-content:center}.nav-menu{display:none}.mobile-apply{display:inline-flex;margin-left:auto;min-height:42px;padding:8px 13px;font-size:.79rem}.menu-toggle{display:block;margin-left:0}.header-inner{min-height:78px}.site-header .header-cta{display:none}.mobile-cta{display:block}.nav-menu.is-open{display:flex;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 23px 30px rgba(6,28,54,.12);padding:15px 22px 25px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.nav-menu li a{display:block;padding:11px 7px;font-size:.95rem}.nav-menu .mobile-cta a{margin-top:9px;background:var(--red);border-radius:8px;text-align:center;color:#fff}.highlight-grid{grid-template-columns:repeat(2,1fr);row-gap:21px}.highlight:nth-child(2){border-right:0}.split,.referral-layout,.content-columns,.form-layout{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.picture-pill{right:12px}.footer-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:1fr 1fr}.referral-layout{gap:26px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.section{padding:66px 0}.topbar{font-size:.69rem}.topbar-left{gap:10px;flex-wrap:wrap;justify-content:center;padding:8px 0}.topbar-inner{min-height:0}.brand img{width:157px}.header-inner{gap:11px}.hero{min-height:530px}.hero-content{padding:70px 0 103px}.hero h1{font-size:clamp(2.4rem,10vw,3.5rem)}.hero p{font-size:1rem}.hero:after{background:linear-gradient(90deg,rgba(4,24,49,.95),rgba(4,27,54,.63))}.highlights{margin-top:-40px}.highlight-grid{padding:18px 9px}.highlight{padding:7px 11px;gap:8px}.highlight .icon-wrap{width:32px;height:32px;border-radius:8px}.highlight .icon-wrap svg{width:18px;height:18px}.highlight strong{font-size:.72rem}.highlight span{font-size:.66rem}.section-heading{margin-bottom:29px}.service-grid,.step-grid,.trust-grid,.certificate-grid{grid-template-columns:1fr}.service-content p{min-height:0}.split{gap:27px}.picture-frame>img{min-height:285px}.picture-pill{position:relative;bottom:auto;right:auto;margin:-31px 13px 0 auto;width:max-content;max-width:calc(100% - 25px)}.referral-cards{grid-template-columns:1fr;gap:11px}.referral-type{min-height:75px;flex-direction:row;justify-content:flex-start;gap:16px;padding:14px 20px;text-align:left}.page-hero{padding:71px 0 68px}.cta-inner{display:block}.cta-inner .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:29px}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-bottom:7px}.form-card{padding:25px 19px}.form-grid{grid-template-columns:1fr}.field-full{grid-column:1}.certificate-card img{height:310px}.trust-item{padding:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before{animation:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.js .reveal{opacity:1!important;transform:none!important}}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js .reveal.visible{opacity:1;transform:none}

/* v1.1 — crisp supplied brand artwork, flush-aligned desktop header, clean registrations */
.header-inner{
  width:min(1640px,calc(100% - 64px));
  display:grid;grid-template-columns:190px minmax(0,1fr) auto;
  align-items:center;column-gap:clamp(16px,1.75vw,32px);
  min-height:124px;
}
.site-header .brand{justify-self:start;min-width:0;max-width:none;margin:0}
.site-header .brand img{display:block;width:190px;height:auto;aspect-ratio:1220/662;object-fit:contain;border-radius:0}
.site-header .primary-nav{min-width:0;display:flex;align-items:center;justify-content:center}
.site-header .nav-menu{margin:0;padding:0;justify-content:center;gap:clamp(10px,1.4vw,25px);width:100%}
.site-header .nav-menu a{font-size:clamp(.94rem,.95vw,1rem)}
.site-header .header-cta{justify-self:end;margin-left:0;white-space:nowrap;padding:11px 17px}
.footer-brand img{width:236px;height:auto;border-radius:0;object-fit:contain;background:transparent}
.text-link svg{width:17px;height:17px;min-width:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.registration-grid{gap:28px;align-items:stretch}
.registration-card{padding:34px 36px 32px;display:flex;flex-direction:column;min-height:310px;border-top:4px solid var(--navy)}
.registration-card .registration-icon{display:grid;place-items:center;width:52px;height:52px;background:#edf3f9;color:var(--navy);border-radius:12px;margin-bottom:19px}
.registration-card .registration-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.registration-label{font-size:.75rem;line-height:1.5;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.registration-card h3{font-size:1.23rem;margin:8px 0 7px}
.registration-card .registration-number{font-size:clamp(1.8rem,2.5vw,2.5rem);font-weight:850;line-height:1.22;letter-spacing:.005em;color:var(--navy);margin:0 0 9px}
.registration-card .registration-detail{font-size:.92rem;line-height:1.6;margin:0 0 5px;color:var(--muted)}
.registration-card .registration-link{margin-top:auto;padding-top:23px;gap:9px;align-self:flex-start}
@media(max-width:1180px){
  .site-header .header-inner{display:flex;width:calc(100% - 44px);gap:16px;min-height:104px}
  .site-header .brand{order:0;flex:0 0 auto}
  .site-header .brand img{width:176px}
  .site-header .menu-toggle{display:block;order:1;margin-left:auto;flex:none}
  .site-header .mobile-apply{display:inline-flex;order:2;flex:none;margin-left:0;min-height:42px;padding:8px 16px;font-size:.82rem}
  .site-header .header-cta{display:none}
  .site-header .primary-nav{display:block;order:3;min-width:0}
  .site-header .nav-menu{display:none}
  .site-header .nav-menu.is-open{display:flex;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 23px 30px rgba(6,28,54,.12);padding:15px 22px 25px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);width:100%;z-index:5}
  .site-header .nav-menu.is-open a{display:block;padding:11px 7px;font-size:1.05rem}
  .site-header .nav-menu .mobile-cta{display:block}
  .site-header .nav-menu.is-open .mobile-cta a{background:var(--red);border-radius:8px;text-align:center;color:#fff;margin-top:9px}
}
@media(max-width:600px){
  .site-header .header-inner{width:calc(100% - 28px);gap:10px;min-height:90px}
  .site-header .brand img{width:clamp(125px,36vw,160px)}
  .site-header .mobile-apply{padding:7px 12px;font-size:.78rem;min-height:40px}
  .site-header .menu-toggle{padding:7px}
  .registration-card{padding:26px 24px;min-height:300px}
}

/* v1.4 — accessible contact email in footer */
.footer-email{margin-top:9px;overflow-wrap:anywhere}.footer-email a{color:#fff;text-decoration:underline;text-underline-offset:3px}.footer-email a:hover{color:#ff9cad}
