@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--red:#c8102e;--red2:#9f0c25;--black:#0b0b0d;--ink:#18181b;--muted:#6b6b73;--line:#e9e5df;--cream:#f7f4ef;--white:#fff;--gold:#c9a96e;--shadow:0 20px 60px rgba(15,15,18,.08);--radius:20px;--container:min(1180px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,system-ui,sans-serif;background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}.container{width:var(--container);margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:20px;z-index:9999;background:#fff;padding:12px 16px}.topbar{background:var(--black);color:#d8d8da;font-size:12px}.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar span{color:var(--red)}.top-links{display:flex;gap:20px}.top-links a:hover{color:#fff}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,20,20,.07)}.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand-mark{width:52px;height:52px;display:grid;place-items:center}.brand-mark img{width:52px;height:52px;object-fit:contain}.brand strong{display:block;font-family:Merriweather,serif;letter-spacing:.13em;font-size:17px;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:6px;color:#6c6c70}.main-nav{display:flex;align-items:center;gap:4px}.main-nav>a,.nav-parent{padding:29px 13px;border:0;background:none;font-weight:600;font-size:13px;color:#303034;cursor:pointer}.main-nav>a:hover,.nav-parent:hover,.main-nav .is-active>.nav-parent,.main-nav>a.is-active{color:var(--red)}.nav-cta{background:var(--black)!important;color:#fff!important;border-radius:8px!important;padding:12px 18px!important;margin-left:10px}.nav-cta:hover{background:var(--red)!important}.nav-item{position:relative}.dropdown-menu{position:absolute;top:calc(100% - 2px);left:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;background:#fff;border:1px solid #ece8e1;box-shadow:0 22px 55px rgba(0,0,0,.12);border-radius:0 0 16px 16px;z-index:50}.nav-item:hover .dropdown-menu,.nav-item.open .dropdown-menu{opacity:1;visibility:visible;transform:none}.mega-menu{width:min(850px,calc(100vw - 40px));display:grid;grid-template-columns:260px 1fr;padding:24px;left:50%;transform:translate(-50%,8px)}.nav-item:hover .mega-menu,.nav-item.open .mega-menu{transform:translate(-50%,0)}.mega-intro{padding:10px 20px 10px 8px;border-right:1px solid var(--line)}.mega-intro h3{font-family:Merriweather,serif;font-size:21px;line-height:1.3;margin:9px 0}.mega-intro p{font-size:12px;color:var(--muted)}.mega-links{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-left:18px}.mega-links a{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;padding:12px;border-radius:12px}.mega-links a:hover{background:var(--cream)}.mega-links span{grid-row:1/3;color:var(--red);font-size:18px}.mega-links b{font-size:12px}.mega-links small{font-size:10px;color:var(--muted)}.compact-menu{width:245px;padding:10px}.compact-menu a{display:block;padding:11px 12px;border-radius:9px;font-size:13px;font-weight:600}.compact-menu a:hover{background:var(--cream);color:var(--red)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;width:44px;height:44px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--black);margin:4px auto}.hero{position:relative;overflow:hidden;background:var(--black);color:#fff;padding:88px 0 70px}.hero:before{content:"";position:absolute;width:650px;height:650px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-230px;top:-240px}.hero:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(200,16,46,.45);border-radius:50%;right:20px;bottom:-270px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;color:var(--red)}.eyebrow:before{content:"";width:26px;height:1px;background:currentColor}.hero h1{font-family:Merriweather,serif;font-size:clamp(40px,5vw,68px);line-height:1.08;margin:18px 0 20px;max-width:720px}.hero h1 em{color:#e5324e;font-style:normal}.hero p{font-size:16px;color:#c9c9cc;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;border-radius:8px;font-size:13px;font-weight:800;border:1px solid transparent;transition:.2s}.btn-dark{background:var(--red);color:#fff}.btn-dark:hover{background:#ed173b;transform:translateY(-1px)}.btn-light{background:#fff;color:var(--black)}.btn-light:hover{transform:translateY(-1px)}.btn-outline-light{border-color:rgba(255,255,255,.28);color:#fff}.btn-outline-light:hover{background:#fff;color:var(--black)}.btn-outline{border-color:#d9d3ca}.btn-outline:hover{border-color:var(--red);color:var(--red)}.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.proof-item strong{display:block;font-family:Merriweather,serif;font-size:23px}.proof-item span{font-size:11px;color:#a9a9ad}.hero-card{position:relative;background:linear-gradient(145deg,#17171b,#0c0c0f);border:1px solid rgba(255,255,255,.13);padding:26px;border-radius:26px;box-shadow:0 35px 90px rgba(0,0,0,.3)}.hero-card-top{display:flex;justify-content:space-between;align-items:center}.status-dot{width:10px;height:10px;border-radius:50%;background:#3fd276;box-shadow:0 0 0 6px rgba(63,210,118,.1)}.mini-dashboard{margin-top:22px;display:grid;gap:12px}.dash-row{display:grid;grid-template-columns:1fr 80px 80px;gap:10px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:12px}.dash-row small{color:#98989e}.dash-row strong{font-size:12px}.dash-pill{height:7px;border-radius:10px;background:linear-gradient(90deg,var(--red) 72%,#34343a 72%)}.section{padding:90px 0}.section-sm{padding:62px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-head h2,.page-hero h1,.cta-band h2,.prefooter h2{font-family:Merriweather,serif;line-height:1.15;margin:8px 0;font-size:clamp(30px,4vw,48px)}.section-head p{max-width:550px;color:var(--muted);font-size:14px}.kicker{color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{border:1px solid var(--line);border-radius:18px;padding:25px;min-height:265px;display:flex;flex-direction:column;transition:.22s;background:#fff}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-5px);border-color:#ddd5cc}.service-icon{width:42px;height:42px;border-radius:12px;background:#fff1f3;color:var(--red);display:grid;place-items:center;font-weight:900;margin-bottom:24px}.service-card h3{font-family:Merriweather,serif;font-size:20px;line-height:1.3;margin:0 0 9px}.service-card p{color:var(--muted);font-size:13px;margin:0 0 20px}.text-link{margin-top:auto;font-size:12px;font-weight:800;color:var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.dark-panel{background:var(--black);color:#fff;border-radius:28px;padding:46px;position:relative;overflow:hidden}.dark-panel:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(200,16,46,.4);border-radius:50%;right:-150px;bottom:-160px}.dark-panel h2{font-family:Merriweather,serif;font-size:37px;line-height:1.2}.dark-panel p{color:#bdbdc1;font-size:14px}.check-list{padding:0;margin:24px 0;list-style:none;display:grid;gap:12px}.check-list li{display:flex;gap:11px;font-size:13px}.check-list li:before{content:'✓';color:#ef3855;font-weight:900}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:28px 20px;text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font-family:Merriweather,serif;font-size:31px}.stat span{font-size:11px;color:var(--muted)}.cream{background:var(--cream)}.platforms{display:flex;gap:10px;flex-wrap:wrap}.platform{border:1px solid #ddd6ce;background:#fff;padding:10px 14px;border-radius:999px;font-size:11px;font-weight:800}.models{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.model{padding:26px;background:#fff;border:1px solid var(--line);border-radius:16px}.model-num{font-size:10px;color:var(--red);font-weight:900;letter-spacing:.12em}.model h3{font-family:Merriweather,serif;font-size:18px}.model p{font-size:12px;color:var(--muted)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quote{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.quote-mark{color:var(--red);font-family:Georgia,serif;font-size:45px;line-height:.7}.quote p{font-family:Merriweather,serif;font-size:15px;line-height:1.6}.quote small{color:var(--muted)}.page-hero{padding:78px 0 70px;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero .container{max-width:950px;margin-left:max(24px,calc((100% - 1180px)/2))}.page-hero p{max-width:760px;color:var(--muted);font-size:16px}.breadcrumb{font-size:11px;color:#8b8985;margin-bottom:25px}.breadcrumb a:hover{color:var(--red)}.rich-copy{max-width:850px}.rich-copy h2{font-family:Merriweather,serif;font-size:32px;margin-top:48px}.rich-copy h3{font-family:Merriweather,serif;font-size:21px;margin-top:32px}.rich-copy p,.rich-copy li{color:#56565d;font-size:14px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:60px}.sidebar{position:sticky;top:110px;height:max-content;border:1px solid var(--line);border-radius:16px;padding:22px}.sidebar h4{font-family:Merriweather,serif;margin-top:0}.sidebar a{display:block;font-size:12px;padding:9px 0;border-bottom:1px solid #f0ece7}.sidebar a:last-child{border:0}.sidebar a:hover{color:var(--red)}.compliance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.compliance-card{border:1px solid var(--line);border-radius:17px;padding:24px;background:#fff}.compliance-card .num{font-size:11px;font-weight:900;color:var(--red)}.compliance-card h3{font-family:Merriweather,serif;margin:8px 0 10px;font-size:19px}.compliance-card p{font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-card{position:relative;border-radius:18px;overflow:hidden;min-height:330px;background:#161619}.gallery-card img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:.35s}.gallery-card:hover img{transform:scale(1.04)}.gallery-overlay{position:absolute;inset:auto 0 0;padding:60px 20px 20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8))}.gallery-overlay b{display:block;font-family:Merriweather,serif}.gallery-overlay small{color:#d2d2d4}.video-badge{position:absolute;top:16px;right:16px;background:#fff;color:var(--red);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900}.video-section{display:grid;grid-template-columns:1fr 1fr;gap:16px}.video-card{min-height:250px;background:linear-gradient(135deg,#17171a,#323239);border-radius:18px;padding:28px;color:#fff;position:relative;overflow:hidden}.video-card:before{content:"";position:absolute;width:200px;height:200px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-60px;top:-60px}.play{width:54px;height:54px;border-radius:50%;background:var(--red);display:grid;place-items:center;margin-bottom:80px}.video-card h3{font-family:Merriweather,serif}.video-card p{font-size:12px;color:#bbb}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-card{border:1px solid var(--line);border-radius:17px;padding:23px;display:flex;flex-direction:column;min-height:235px}.resource-card .meta{font-size:10px;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.resource-card h3{font-family:Merriweather,serif;font-size:19px;line-height:1.35}.resource-card p{font-size:12px;color:var(--muted)}.resource-card .read{margin-top:auto;font-size:11px;font-weight:800}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}.contact-card,.form-card{border:1px solid var(--line);border-radius:20px;padding:30px}.contact-card{background:var(--black);color:#fff}.contact-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}.contact-item:last-child{border:0}.contact-item small{display:block;color:#99999e;text-transform:uppercase;letter-spacing:.1em;font-size:9px;margin-bottom:5px}.contact-item a,.contact-item p{font-size:13px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800}.field input,.field select,.field textarea{border:1px solid #ddd8d1;border-radius:9px;padding:12px 13px;outline:0;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.08)}.field textarea{min-height:140px;resize:vertical}.map-wrap{height:400px;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.map-wrap iframe{width:100%;height:100%;border:0}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portal-card{padding:24px;border:1px solid var(--line);border-radius:16px}.portal-card .icon{font-size:22px;color:var(--red)}.portal-card h3{font-family:Merriweather,serif;font-size:18px}.portal-card p{font-size:12px;color:var(--muted)}.cta-band{background:var(--red);color:#fff;padding:55px 0}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band h2{font-size:32px;margin:0}.cta-band p{color:#ffe7eb;max-width:600px}.prefooter{background:var(--red);color:#fff;padding:65px 0}.prefooter-grid{display:flex;justify-content:space-between;gap:50px;align-items:end}.prefooter h2{font-size:38px;max-width:650px}.prefooter p{max-width:650px;color:#ffdce2}.prefooter-actions{display:flex;gap:10px;flex-wrap:wrap}.site-footer{background:var(--black);color:#fff;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.25fr;gap:40px}.brand-footer{margin-bottom:18px}.footer-brand p{font-size:12px;color:#a8a8ad;max-width:380px}.site-footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#fff;margin:4px 0 16px}.site-footer> .container a{font-size:12px;color:#a8a8ad}.site-footer> .container a:hover{color:#fff}.footer-grid>div:not(.footer-brand) a{display:block;margin:9px 0}.footer-contact p{font-size:11px;color:#8f8f94;line-height:1.8}.footer-social{display:flex;align-items:center;gap:8px;margin-top:24px}.footer-social span{font-size:10px;color:#8f8f94;margin-right:5px}.footer-social a{width:29px;height:29px;border:1px solid #38383c;border-radius:50%;display:grid!important;place-items:center;font-size:11px!important;color:#fff!important}.footer-social a:hover{background:var(--red);border-color:var(--red)}.footer-bottom{border-top:1px solid #242427;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#77777d}.footer-bottom div{display:flex;gap:20px}.chat-widget{position:fixed;right:22px;bottom:22px;z-index:1200}.chat-fab{width:54px;height:54px;border:0;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 14px 35px rgba(200,16,46,.32);font-size:20px;cursor:pointer}.chat-panel{display:none;position:absolute;right:0;bottom:68px;width:330px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.2);overflow:hidden}.chat-widget.open .chat-panel{display:block}.chat-head{background:var(--black);color:#fff;padding:16px;display:flex;justify-content:space-between;gap:10px}.chat-head b,.chat-head small{display:block}.chat-head small{color:#aaa;font-size:9px;margin-top:4px}.chat-head button{border:0;background:none;color:#fff;font-size:22px}.chat-body{padding:16px}.chat-bubble{background:var(--cream);border-radius:12px;padding:12px;font-size:12px}.chat-options{display:grid;gap:7px;margin-top:12px}.chat-options a{font-size:11px;font-weight:800;padding:10px;border:1px solid var(--line);border-radius:8px}.chat-options a:hover{border-color:var(--red);color:var(--red)}.notice{background:#fff7f8;border-left:3px solid var(--red);padding:16px 18px;font-size:12px;color:#5b5558}.tag-row{display:flex;gap:7px;flex-wrap:wrap}.tag{padding:6px 10px;border-radius:999px;background:#f0eeeb;font-size:10px}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{font-weight:800;font-size:13px;cursor:pointer}.faq p{font-size:12px;color:var(--muted);max-width:800px}.mobile-note{display:none}
@media(max-width:1050px){.main-nav>a,.nav-parent{padding-left:8px;padding-right:8px;font-size:12px}.mega-menu{left:auto;right:-80px;transform:translateY(8px)}.nav-item:hover .mega-menu,.nav-item.open .mega-menu{transform:none}.hero-grid{gap:35px}.models{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){:root{--container:min(100% - 32px,680px)}.topbar{display:none}.nav-wrap{min-height:70px}.menu-toggle{display:block}.main-nav{position:absolute;left:16px;right:16px;top:70px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 25px 60px rgba(0,0,0,.13);display:none;max-height:calc(100vh - 90px);overflow:auto}.main-nav.open{display:block}.main-nav>a,.nav-parent{display:flex;width:100%;justify-content:space-between;padding:13px 12px;border-radius:8px}.nav-item{position:static}.dropdown-menu,.mega-menu{position:static!important;width:100%!important;display:none;opacity:1;visibility:visible;transform:none!important;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:8px 0;background:#faf9f7}.nav-item.open .dropdown-menu{display:block}.mega-menu{grid-template-columns:1fr}.mega-intro{border:0;padding:12px}.mega-links{grid-template-columns:1fr;padding:0}.nav-cta{margin:8px 0 0!important;text-align:center}.hero{padding:60px 0}.hero-grid,.split,.content-grid,.contact-grid{grid-template-columns:1fr}.hero-card{order:-1}.service-grid,.resource-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.testimonial-grid{grid-template-columns:1fr}.prefooter-grid,.cta-band .container{display:block}.prefooter-actions{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr}.sidebar{position:static}.video-section{grid-template-columns:1fr}.mobile-note{display:block}}
@media(max-width:560px){:root{--container:calc(100% - 28px)}.brand strong{font-size:14px}.brand small{font-size:7px}.hero h1{font-size:39px}.hero p{font-size:14px}.hero-actions .btn{width:100%}.service-grid,.resource-grid,.gallery-grid,.compliance-grid,.portal-grid,.models{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{padding:22px 8px}.stat strong{font-size:25px}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:15px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom div{margin-top:10px}.chat-panel{width:calc(100vw - 28px);right:-7px}.gallery-card,.gallery-card img{min-height:280px}.page-hero{padding:55px 0}.page-hero .container{margin:auto}.dark-panel{padding:30px}.prefooter h2{font-size:31px}}

/* Readability + responsive refinement */
html{font-size:16px;overflow-x:hidden}
body{font-size:16px;line-height:1.72;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.container{min-width:0}
.main-nav>a,.nav-parent{font-size:14px;letter-spacing:.005em}
.topbar{font-size:13px}
.hero p,.page-hero p{font-size:17px;line-height:1.75}
.section-head p,.rich-copy p,.split>div>p,.service-card p,.resource-card p,.team-card p,.portal-card p,.contact-item p,.faq p{font-size:16px;line-height:1.75}
.service-card h3,.resource-card h3{font-size:20px;line-height:1.35}
.kicker{font-size:11px}
.tag{font-size:12px}
.btn{min-height:46px;font-size:14px}
.field label{font-size:13px}.field input,.field select,.field textarea{font-size:16px;min-height:48px}
.nav-item,.main-nav>a,.nav-parent,.dropdown-menu a,.mega-links a,.btn,.chat-fab,.chat-options a{touch-action:manipulation}
.mega-links a{min-height:74px}

/* Public service URLs are canonical; implementation filenames stay server-side. */
@media (max-width:1050px){
  .main-nav>a,.nav-parent{font-size:13px}
  .hero-grid{grid-template-columns:1fr .9fr;gap:35px}
}
@media (max-width:850px){
  :root{--container:min(100% - 32px,680px)}
  .nav-wrap{min-height:72px}
  .main-nav{top:72px}
  .main-nav>a,.nav-parent{font-size:15px;min-height:46px}
  .mega-links a{min-height:62px;padding:14px 12px}
  .mega-links b{font-size:14px}.mega-links small{font-size:12px}
  .mega-intro h3{font-size:22px}.mega-intro p{font-size:15px}
  .hero{padding:62px 0 58px}
  .hero h1{font-size:clamp(38px,8vw,56px)}
  .hero p,.page-hero p{font-size:17px}
  .hero-grid{grid-template-columns:1fr}
  .hero-card{order:0}
  .section{padding:76px 0}
  .service-grid,.resource-grid,.gallery-grid,.compliance-grid,.portal-grid,.models{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card,.resource-card,.portal-card{min-width:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  .sidebar a{font-size:15px;padding:10px 0}
}
@media (max-width:560px){
  :root{--container:calc(100% - 28px)}
  .brand{max-width:calc(100% - 60px)}
  .brand-mark,.brand-mark img{width:46px;height:46px}
  .brand strong{font-size:14px;letter-spacing:.10em}.brand small{font-size:7px}
  .hero{padding:52px 0 48px}.hero h1{font-size:36px;line-height:1.12}.hero p,.page-hero p{font-size:16px;line-height:1.7}
  .hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}
  .section{padding:62px 0}.section-sm{padding:48px 0}
  .section-head h2{font-size:30px;line-height:1.25}
  .service-grid,.resource-grid,.gallery-grid,.compliance-grid,.portal-grid,.models{grid-template-columns:1fr}
  .service-card h3,.resource-card h3{font-size:20px}.service-card p,.resource-card p,.portal-card p{font-size:16px}
  .stats{grid-template-columns:1fr 1fr}.stat{min-width:0}.stat strong{font-size:24px}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.field input,.field select,.field textarea{font-size:16px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}
  .footer-bottom div{display:flex;flex-wrap:wrap;margin-top:10px}
  .chat-panel{width:min(360px,calc(100vw - 28px))}
  .page-hero{padding:48px 0}.page-hero h1{font-size:34px;line-height:1.18}
  .dark-panel{padding:28px}.prefooter h2{font-size:30px}
}
.service-card-image{display:block;width:100%;height:150px;object-fit:cover;border-radius:14px;margin:-2px 0 18px;border:1px solid var(--line)}


/* Client portal UX - scoped to portal pages only */
.client-login-shell{min-height:calc(100vh - 120px);display:grid;grid-template-columns:1.05fr .95fr;background:#f7f4ef}
.client-login-visual{background:linear-gradient(145deg,#0b0b0d 0%,#17171b 65%,#2a0b12 100%);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}
.client-login-visual:before,.client-login-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%}
.client-login-visual:before{width:620px;height:620px;right:-260px;top:-160px}.client-login-visual:after{width:320px;height:320px;left:-150px;bottom:-170px;border-color:rgba(200,16,46,.3)}
.client-login-visual-inner{position:relative;z-index:1;max-width:620px;padding:80px clamp(32px,7vw,100px)}
.client-login-visual h1{font-family:Merriweather,serif;font-size:clamp(42px,5vw,68px);line-height:1.08;margin:18px 0}.client-login-visual p{color:#c5c5c9;font-size:17px;max-width:560px}.client-login-points{display:grid;gap:12px;margin-top:30px;color:#eee;font-size:14px}.client-login-points span:before{color:#e5324e}
.client-login-panel{display:grid;place-items:center;padding:55px 28px;background:#fff}.client-login-card{width:min(500px,100%);background:#fff;border:1px solid #e7e1da;border-radius:24px;padding:38px;box-shadow:0 25px 80px rgba(20,20,20,.10)}
.client-login-back{display:inline-flex;font-size:12px;color:#777;margin-bottom:26px}.client-login-back:hover{color:var(--red)}.client-login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.client-login-brand img{width:48px;height:48px;object-fit:contain}.client-login-brand strong{font-family:Merriweather,serif;letter-spacing:.12em;display:block}.client-login-brand small{display:block;font-size:8px;letter-spacing:.18em;color:#777;margin-top:4px}.client-login-card h2{font-family:Merriweather,serif;font-size:32px;margin:7px 0}.client-login-sub{color:var(--muted);font-size:14px;margin:0 0 24px}.client-login-alert{border-radius:10px;padding:12px 14px;font-size:13px;margin-bottom:18px}.client-login-alert.error{background:#fff1f3;color:#8e162a;border:1px solid #f3cbd2}.client-login-alert.notice{background:#eefaf2;color:#206b3c;border:1px solid #cbe9d6}.client-login-form{display:grid;gap:18px}.client-password-label{display:flex;justify-content:space-between;align-items:center}.client-password-label span{font-size:10px;color:#8a8a90}.client-password-wrap{position:relative}.client-password-wrap input{width:100%;padding-right:62px}.client-password-wrap button{position:absolute;right:8px;top:7px;height:34px;border:0;background:#f2efeb;border-radius:7px;font-size:11px;font-weight:800;cursor:pointer}.client-login-submit{border:0;border-radius:10px;background:var(--red);color:#fff;min-height:52px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;font-weight:800;cursor:pointer}.client-login-submit:hover{background:#a90d27}.client-login-security{display:flex;gap:12px;margin-top:22px;padding:14px;border:1px solid #ece6df;border-radius:12px;background:#faf8f5}.client-login-security strong,.client-login-security small{display:block}.client-login-security strong{font-size:12px}.client-login-security small{font-size:11px;color:var(--muted);margin-top:2px}.client-login-help{font-size:11px;color:#777;margin:18px 0 0}.client-login-help a{color:var(--red);font-weight:800}
.client-dashboard-hero{background:var(--black);color:#fff;padding:48px 0}.client-dashboard-hero .container{display:flex;align-items:center;justify-content:space-between;gap:25px}.client-dashboard-hero h1{font-family:Merriweather,serif;font-size:clamp(34px,4vw,52px);margin:10px 0}.client-dashboard-hero p{color:#bbb;font-size:14px;margin:0}.client-dashboard-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.session-badge{font-size:11px;color:#a9dcb9;border:1px solid rgba(169,220,185,.25);padding:9px 12px;border-radius:999px}.client-dashboard-section{background:#f7f4ef}.client-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;margin-bottom:22px}.client-stats .stat{border-right:1px solid var(--line)}.client-workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.client-workspace-grid .form-card{background:#fff}.portal-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.portal-section-title h2{font-family:Merriweather,serif;margin:4px 0 0;font-size:25px}.portal-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #eee9e3}.portal-row:last-child{border-bottom:0}.portal-row b,.portal-row small{display:block}.portal-row small{font-size:11px;color:var(--muted);margin-top:3px}.portal-row>span,.portal-row>strong{font-size:11px;color:var(--red);white-space:nowrap}.client-messages-card{grid-column:1/-1}.message-count{background:#fff1f3;color:var(--red);font-size:11px;font-weight:800;padding:6px 10px;border-radius:999px}.message-thread{display:grid;gap:12px;max-height:560px;overflow:auto;padding-right:3px}.client-message{border:1px solid #e8e2db;border-radius:15px;padding:16px;background:#faf9f7}.client-message.client{background:#fff1f3;border-color:#f2cfd6}.message-head{display:flex;justify-content:space-between;gap:15px}.message-head b{font-size:13px}.message-head small{font-size:10px;color:#888}.client-message p{font-size:13px;line-height:1.7;margin:10px 0}.message-meta{font-size:10px;color:#777}.message-seen{color:#2b8b52;font-weight:700}.client-reply-form{border-top:1px solid #e8e2db;margin-top:20px;padding-top:20px}.message-compose-row{display:flex;gap:10px;margin-top:10px}.message-compose-row input{flex:1;border:1px solid #ddd8d1;border-radius:9px;padding:12px}.client-success{background:#eefaf2;border:1px solid #cbe9d6;color:#206b3c;padding:13px 16px;border-radius:10px;margin-bottom:18px;font-size:13px}
@media(max-width:850px){.client-login-shell{grid-template-columns:1fr}.client-login-visual{min-height:380px}.client-login-visual-inner{padding:55px 28px}.client-login-panel{padding:30px 16px}.client-dashboard-hero .container{display:block}.client-dashboard-actions{justify-content:flex-start;margin-top:22px}.client-stats{grid-template-columns:1fr 1fr}.client-stats .stat:nth-child(2){border-right:0}.client-stats .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.client-workspace-grid{grid-template-columns:1fr}.client-messages-card{grid-column:auto}.message-compose-row{display:grid}.message-compose-row .btn{width:100%}}
@media(max-width:560px){.client-login-visual{min-height:330px}.client-login-visual h1{font-size:37px}.client-login-visual p{font-size:15px}.client-login-card{padding:25px 20px;border-radius:18px}.client-dashboard-hero{padding:38px 0}.client-dashboard-hero h1{font-size:34px}.client-stats .stat{padding:20px 8px}.client-stats .stat strong{font-size:25px}}

.task-client-row{align-items:center}.task-action-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.task-action-form select,.task-action-form input{min-height:38px;border:1px solid #ddd8d1;border-radius:8px;padding:7px 9px;background:#fff;font-size:12px}.task-action-form input{width:68px}.task-action-form .btn{min-height:38px;padding:8px 11px;font-size:11px}
@media(max-width:560px){.task-client-row{display:block}.task-action-form{margin-top:10px}.task-action-form select{flex:1}.task-action-form input{width:68px}}
