:root { --blue:#0f426d; --deep-blue:#08233d; --accent:#d99a2b; --sand:#f4f0e8; --text:#293241; --muted:#667085; --white:#fff; --line:#e6e8ec; }
* { box-sizing: border-box; }
body { margin:0; color:var(--text); font-family:Arial, Helvetica, sans-serif; line-height:1.6; background:#fafafa; }
.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; }
a { color:var(--blue); text-decoration:none; } a:hover { color:var(--accent); }
img { max-width:100%; height:auto; border-radius:4px; }
.container { width:min(1120px, calc(100% - 32px)); margin:0 auto; }
.site-header { background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; box-shadow:0 5px 20px rgba(15,66,109,.07); }
.header-inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:18px; padding-bottom:18px; }
.brand img { width:245px; display:block; }
.menu-toggle { display:none; grid-template-columns:22px auto; column-gap:10px; row-gap:5px; align-items:center; padding:10px 14px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--deep-blue); font:inherit; font-weight:800; cursor:pointer; box-shadow:0 8px 22px rgba(8,35,61,.08); }
.menu-toggle span { grid-column:1; display:block; width:22px; height:2px; border-radius:999px; background:currentColor; transition:transform .2s ease, opacity .2s ease; }
.menu-toggle em { font-style:normal; }
.main-nav { display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.nav-item { position:relative; display:flex; align-items:center; }
.nav-item > a { display:block; }
.main-nav a { padding:10px 14px; color:var(--deep-blue); font-weight:700; border-radius:999px; line-height:1.2; }
.main-nav a.active { background:var(--blue); color:var(--white); }
.main-nav a:hover { background:#1f78b6; color:var(--white); }
.main-nav a.section-active { background:#eef6fb; color:var(--blue); }
.main-nav a.section-active:hover { background:#dceef8; color:var(--blue); }
.submenu { position:absolute; top:calc(100% + 10px); left:0; display:grid; gap:5px; min-width:240px; padding:10px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 18px 42px rgba(8,35,61,.16); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; }
.nav-item:hover .submenu, .nav-item:focus-within .submenu { opacity:1; visibility:visible; transform:translateY(0); }
.submenu a { display:block; padding:10px 12px; border-radius:10px; white-space:nowrap; font-size:14px; }
.hero { color:var(--white); background:var(--deep-blue); overflow:hidden; }
.hero-slider { position:relative; display:block !important; width:100%; min-height:420px; overflow:hidden; background:var(--deep-blue); }
.hero-track { position:relative; display:block; width:100%; min-height:420px; }
.hero-slide { position:absolute; inset:0; display:block; width:100%; min-height:420px; background-size:cover; background-position:center; opacity:0; visibility:hidden; transform:scale(1.03); transition:opacity .9s ease, visibility .9s ease, transform 7s ease; pointer-events:none; }
.hero-slide.is-active { opacity:1; visibility:visible; transform:scale(1); pointer-events:auto; }
.hero-slide::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,35,61,.72),rgba(8,35,61,.18)); }
.hero-caption { position:absolute; left:50%; bottom:56px; transform:translateX(-50%); font-size:clamp(34px,5vw,64px); line-height:.95; font-weight:300; text-transform:uppercase; text-shadow:0 8px 28px rgba(0,0,0,.35); }
.hero-caption strong { display:block; color:var(--accent); }
.hero-control { position:absolute; top:50%; z-index:2; width:46px; height:46px; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(8,35,61,.45); color:var(--white); font-size:38px; line-height:40px; cursor:pointer; transform:translateY(-50%); transition:background .2s ease, border-color .2s ease; }
.hero-control:hover { background:var(--accent); border-color:var(--accent); }
.hero-control-prev { left:24px; }
.hero-control-next { right:24px; }
.hero-dots { position:absolute; left:50%; bottom:22px; z-index:2; display:flex; gap:10px; transform:translateX(-50%); }
.hero-dots button { width:12px; height:12px; padding:0; border:2px solid var(--white); border-radius:50%; background:transparent; cursor:pointer; opacity:.85; }
.hero-dots button.is-active, .hero-dots button:hover { background:var(--accent); border-color:var(--accent); opacity:1; }
.home-intro { padding:44px 0 0; background:#fafafa; }
.home-intro h1 { max-width:960px; margin:0 auto; color:var(--deep-blue); font-size:clamp(34px,5vw,58px); line-height:1.08; text-align:center; }
.page-hero { background:linear-gradient(135deg,var(--deep-blue),var(--blue)); color:var(--white); padding:62px 0; margin-bottom:42px; }
.page-hero h1 { margin:0 0 10px; font-size:clamp(34px,5vw,56px); color:var(--white); }
.page-hero p { margin:0; max-width:780px; color:#d9e5ef; font-size:19px; }
.content-section { padding:52px 0; }
.home-services-section { padding-top:34px; }
.content-card { background:transparent; border:0; border-radius:14px; padding:clamp(24px,4vw,46px); box-shadow:none; }
.service-grid, .footer-grid, .post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.blog-posts { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.home-services { grid-template-columns:repeat(4,1fr); }
.service-card, .post-card { background:var(--white); border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(8,35,61,.08); }
.post-image { display:block; aspect-ratio:770 / 262; overflow:hidden; background:var(--deep-blue); }
.post-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.post-card:hover .post-image img { transform:scale(1.04); }
.entry-featured-image { margin:0 0 28px; border-radius:18px; overflow:hidden; background:var(--deep-blue); box-shadow:0 14px 36px rgba(8,35,61,.12); }
.entry-featured-image img { display:block; width:100%; aspect-ratio:770 / 262; object-fit:cover; }
.js-lightbox { display:inline-block; position:relative; border-radius:12px; cursor:zoom-in; }
.js-lightbox img { display:block; border-radius:12px; box-shadow:0 10px 26px rgba(8,35,61,.12); transition:transform .25s ease, box-shadow .25s ease; }
.js-lightbox:hover img { transform:translateY(-2px); box-shadow:0 14px 34px rgba(8,35,61,.18); }
.site-lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:clamp(18px,4vw,46px); background:rgba(5,22,39,.86); opacity:0; transition:opacity .2s ease; }
.site-lightbox.is-open { display:flex; opacity:1; }
.site-lightbox__dialog { position:relative; max-width:min(1100px,100%); max-height:100%; padding:18px; border-radius:22px; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.38); }
.site-lightbox__image { display:block; width:auto; max-width:100%; max-height:calc(100vh - 150px); border-radius:14px; object-fit:contain; }
.site-lightbox__caption { margin:12px 54px 0 4px; color:#435066; font-weight:800; }
.site-lightbox__close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:50%; background:var(--deep-blue); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.site-lightbox__close:hover { background:var(--accent); }
.lightbox-open { overflow:hidden; }
.service-card .body, .post-card .body { padding:22px; }
.service-card h2, .post-card h2 { font-size:23px; margin-top:0; color:var(--blue); }
.button, .btn, .more-link, input[type="submit"] { display:inline-block; background:var(--blue); color:var(--white) !important; padding:10px 16px; border:0; border-radius:999px; font-weight:700; cursor:pointer; }
.button:hover, .btn:hover { background:var(--accent); color:var(--white) !important; }
.solutions-intro { max-width:880px; margin:0 0 34px; }
.solutions-intro h2 { max-width:760px; font-size:clamp(34px,5vw,52px); }
.solutions-intro p:last-child { color:#435066; font-size:19px; }
.solutions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.solution-card { position:relative; display:grid; grid-template-rows:230px 1fr; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 14px 36px rgba(8,35,61,.10); }
.solution-card-featured { grid-column:1 / -1; grid-template-columns:minmax(320px,42%) 1fr; grid-template-rows:auto; min-height:360px; }
.solution-image { position:relative; overflow:hidden; background:var(--deep-blue); }
.solution-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,35,61,0),rgba(8,35,61,.24)); }
.solution-image img { width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .45s ease; }
.solution-card:hover .solution-image img { transform:scale(1.04); }
.solution-body { display:flex; flex-direction:column; align-items:flex-start; padding:30px; }
.solution-number { color:var(--accent); font-size:13px; font-weight:900; letter-spacing:.2em; }
.solution-body h2 { margin:8px 0 12px; font-size:clamp(28px,3.5vw,40px); }
.solution-lead { margin:0 0 12px; color:var(--deep-blue); font-size:18px; font-weight:800; line-height:1.4; }
.solution-body p:not(.solution-lead) { color:inherit; opacity:.88; }
.solution-body .button { margin-top:auto; }
.links-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; }
.link-card { padding:28px 0 30px; border-top:1px solid var(--line); background:transparent; }
.link-card:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
.link-number { display:block; margin-bottom:18px; color:var(--accent); font-size:14px; font-weight:900; letter-spacing:.18em; line-height:1; }
.link-copy h3 { margin:0 0 10px; color:var(--deep-blue); font-size:25px; letter-spacing:-.01em; }
.link-copy p { max-width:560px; margin:0; color:#435066; line-height:1.75; }
.link-copy strong { color:var(--deep-blue); font-weight:800; }
.link-out { display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--blue); font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:13px; }
.link-out::after { content:'↗'; color:var(--accent); font-size:14px; }
.link-card:hover .link-out { color:var(--deep-blue); }
.subpage-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:34px; align-items:center; margin-bottom:38px; }
.subpage-intro-copy h2 { font-size:clamp(34px,5vw,52px); margin-bottom:18px; }
.subpage-lead { color:#435066; font-size:19px; }
.subpage-visual { position:relative; overflow:hidden; border-radius:22px; box-shadow:0 16px 38px rgba(8,35,61,.14); }
.subpage-visual img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:0; }
.subpage-visual::after { content:''; position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(0deg,rgba(8,35,61,.38),transparent); }
.feature-grid, .alliance-cards, .faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:30px 0; }
.feature-card, .alliance-card, .faq-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(8,35,61,.08); }
.feature-card span { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:14px; border-radius:50%; background:rgba(20,132,198,.12); color:var(--blue); font-weight:900; }
.feature-card h3, .alliance-card h3, .faq-card h3 { margin:0 0 10px; color:var(--deep-blue); font-size:22px; }
.feature-card p, .alliance-card p, .faq-card p { margin-bottom:0; }
.subpage-callout { margin:34px 0 0; padding:28px; border-radius:22px; background:linear-gradient(135deg,var(--deep-blue),var(--blue)); color:#d9e5ef; }
.subpage-callout h2, .subpage-callout h3 { color:#fff; }
.subpage-callout .button { background:var(--accent); }
.subpage-callout .button:hover { background:#fff; color:var(--deep-blue) !important; }
.partner-list { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 0; padding:0; list-style:none; }
.partner-list li { padding:10px 14px; border-radius:999px; background:#eef6fb; color:var(--blue); font-weight:800; }
.alliance-card { display:flex; flex-direction:column; }
.alliance-card .button { margin-top:auto; align-self:flex-start; }
.faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.faq-card { position:relative; padding-left:66px; }
.faq-card::before { content:'P'; position:absolute; top:22px; left:22px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--accent); color:#fff; font-weight:900; }
.faq-card p::before { content:'R. '; font-weight:900; color:var(--blue); }
.row, .row-fluid { display:flex; flex-wrap:wrap; gap:28px; } .span1{flex:0 0 6%;}.span3{flex:1 1 220px;}.span4{flex:1 1 300px;}.span7,.span9,.span12{flex:1 1 620px;}.line-ver{width:100%;}
.alignleft { float:left; margin:0 24px 18px 0; } .alignright { float:right; margin:0 0 18px 24px; } .clear { clear:both; }
h1,h2,h3,h4,h5 { line-height:1.25; color:var(--deep-blue); } h2{margin-top:0; font-size:32px;} h5{font-size:18px;} ul,ol{padding-left:1.3rem;}
blockquote { margin:0 0 20px; padding:18px; background:var(--sand); border-left:4px solid var(--accent); }
.work-method { display:grid; grid-template-columns:minmax(220px,300px) 1fr; gap:30px; align-items:stretch; margin-bottom:42px; padding:18px; border:1px solid rgba(15,66,109,.12); border-radius:22px; background:linear-gradient(135deg,#fff,#f6f1e8); box-shadow:0 18px 45px rgba(8,35,61,.10); }
.work-method-image { position:relative; min-height:280px; overflow:hidden; border-radius:18px; background:var(--deep-blue); }
.work-method-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,35,61,0),rgba(8,35,61,.28)); }
.work-method-image img { width:100%; height:100%; min-height:280px; object-fit:cover; border-radius:18px; }
.work-method-content { display:flex; flex-direction:column; justify-content:center; padding:18px 12px 18px 0; }
.work-method-content h2 { max-width:620px; margin-bottom:16px; font-size:clamp(32px,4.5vw,48px); }
.work-method-lead { max-width:640px; margin:0 0 22px; color:#435066; font-size:19px; }
.work-steps { display:flex; flex-wrap:wrap; gap:10px; }
.work-steps span { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid rgba(217,154,43,.32); border-radius:999px; background:#fff; color:var(--deep-blue); font-size:14px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; box-shadow:0 8px 18px rgba(8,35,61,.06); }
.work-steps span::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.alliances-section { clear:both; margin:42px 0 34px; padding:30px 0 0; border-top:1px solid var(--line); }
.eyebrow { margin:0 0 8px; color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.alliances-section h2 { margin-bottom:8px; font-size:clamp(30px,4vw,40px); }
.alliances-section h5 { margin:0 0 16px; color:var(--blue); font-size:19px; }
.alliances-intro { max-width:880px; margin:0 0 24px; color:#435066; font-size:17px; }
.alliances-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.alliance-card { position:relative; min-height:230px; padding:24px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(8,35,61,.07); }
.alliance-card::before { content:''; position:absolute; inset:0 auto 0 0; width:4px; border-radius:14px 0 0 14px; background:linear-gradient(var(--accent),var(--blue)); }
.alliance-icon { display:inline-block; margin-bottom:12px; color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.18em; }
.alliance-card h4 { margin:0 0 10px; color:var(--blue); font-size:22px; }
.alliance-card p { margin:0 0 16px; }
.alliance-card ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.alliance-card li a, .alliance-card .link-chip { display:inline-block; padding:7px 11px; border:1px solid rgba(15,66,109,.14); border-radius:999px; background:#f8fafc; font-size:14px; font-weight:700; }
.alliance-card .link-chip { color:var(--blue); }
.vision-testimonials { clear:both; margin-top:42px; padding-top:34px; border-top:1px solid var(--line); }
.vision-testimonials > p { max-width:880px; color:#435066; font-size:18px; }
.testimonials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; margin-top:22px; }
.testi-item { position:relative; display:flex; flex-direction:column; height:100%; min-height:0; overflow:hidden; padding:1px; border-radius:18px; background:linear-gradient(135deg,rgba(217,154,43,.95),rgba(15,66,109,.9)); box-shadow:0 18px 44px rgba(8,35,61,.16); }
.testi-item::before { content:''; position:absolute; right:-58px; top:-58px; width:150px; height:150px; border-radius:50%; background:rgba(255,255,255,.12); }
.testi-item_blockquote { position:relative; display:flex; flex:1; flex-direction:column; min-height:0; margin:0; padding:34px 30px 24px; border:0; border-radius:17px 17px 0 0; background:linear-gradient(145deg,#fff,#f7f2e8); }
.testi-item_blockquote::before { content:'“'; position:absolute; right:24px; top:8px; color:rgba(217,154,43,.22); font-family:Georgia,serif; font-size:116px; line-height:1; }
.testi-item .featured-thumbnail { margin:0 0 18px; }
.testimonials img { width:92px; height:92px; object-fit:cover; border:4px solid var(--white); border-radius:50%; box-shadow:0 10px 24px rgba(8,35,61,.22); }
.testi-item_blockquote a { position:relative; display:block; color:var(--deep-blue); font-family:Georgia, 'Times New Roman', serif; font-size:19px; font-style:italic; line-height:1.55; }
.testi-meta { display:block; min-height:92px; margin-top:auto; padding:18px 24px 22px; background:rgba(8,35,61,.96); color:#d9e5ef; border-radius:0 0 17px 17px; }
.testi-meta .user { display:block; color:var(--white); font-size:18px; font-weight:700; letter-spacing:.02em; }
.testi-meta .info { display:block; margin:2px 0 4px; color:#b9c8d6; font-size:14px; }
.testi-meta a { color:var(--accent); font-size:14px; word-break:break-word; }
.contact-hero-card { display:block; margin-bottom:30px; }
.contact-copy, .contact-person, .contact-info-card, .contact-form { border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 14px 34px rgba(8,35,61,.09); }
.contact-copy { padding:34px; background:linear-gradient(135deg,#fff,#eef6fb); }
.contact-copy h2 { max-width:760px; font-size:clamp(34px,5vw,52px); }
.contact-copy > p:last-of-type { color:#435066; font-size:19px; }
.contact-highlights { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.contact-highlights span { padding:10px 14px; border-radius:999px; background:rgba(20,132,198,.12); color:var(--blue); font-weight:800; }
.contact-person { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:28px; text-align:center; }
.contact-person img { width:138px; height:138px; object-fit:cover; margin-bottom:16px; border:5px solid #eef6fb; border-radius:50%; }
.contact-person h3 { margin:0 0 8px; color:var(--deep-blue); font-size:26px; }
.contact-person p { margin:0; color:#435066; }
.founder-note { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:28px; align-items:center; margin:32px 0 38px; padding:30px; border:1px solid rgba(15,66,109,.12); border-radius:24px; background:linear-gradient(135deg,#fff,#eef6fb); box-shadow:0 16px 38px rgba(8,35,61,.09); }
.founder-note h2 { margin:0 0 14px; color:var(--deep-blue); font-size:clamp(28px,4vw,42px); }
.founder-note p { color:#435066; }
.founder-note blockquote { margin:18px 0; padding:0 0 0 18px; border-left:4px solid var(--accent); background:transparent; color:var(--deep-blue); font-size:18px; font-weight:800; }
.founder-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.founder-tags span { padding:9px 12px; border:1px solid rgba(20,132,198,.18); border-radius:999px; background:#fff; color:var(--blue); font-weight:800; }
.founder-note-portrait { margin:0; text-align:center; }
.founder-note-portrait img { width:190px; height:190px; object-fit:cover; border:8px solid #fff; border-radius:50%; box-shadow:0 16px 34px rgba(8,35,61,.20); }
.founder-note-portrait figcaption { display:grid; gap:4px; margin-top:14px; color:#435066; }
.founder-note-portrait strong { color:var(--deep-blue); font-size:22px; }
.contact-layout { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr); gap:28px; align-items:start; }
.contact-info-card, .contact-form { padding:30px; }
.contact-lead { color:#435066; font-size:18px; }
.contact-info-card address { margin:20px 0; font-style:normal; }
.contact-list { display:grid; gap:12px; margin:24px 0 0; padding:0; list-style:none; }
.contact-list li { padding:14px 16px; border-radius:14px; background:#eef6fb; }
.contact-list strong { display:block; color:var(--deep-blue); }
.contact-list a { font-weight:800; }
.form-card label { display:block; font-weight:700; margin-bottom:14px; }
.form-card input,.form-card textarea,.form-card select{width:100%; margin-top:6px; padding:13px 14px; border:1px solid var(--line); border-radius:10px; background:#fbfdff; font:inherit;}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus{outline:2px solid rgba(20,132,198,.18); border-color:var(--blue); background:#fff;}
.form-card textarea{min-height:150px; resize:vertical;}
.form-card select{appearance:auto;}
.form-card input[type="file"]{padding:11px 12px;}
.form-honeypot{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.form-message{margin:0 0 18px; padding:14px 16px; border-radius:14px; font-weight:700;}
.form-message p{margin:0;}
.form-message-ok{border:1px solid #b8dfc7; background:#eefaf2; color:#176239;}
.form-message-error{border:1px solid #f0c1c1; background:#fff1f1; color:#8a2424;}
.form-card .privacy-check { display:flex; align-items:flex-start; gap:10px; margin:4px 0 20px; color:#435066; font-size:15px; font-weight:600; line-height:1.45; }
.form-card .privacy-check input { flex:0 0 auto; width:18px; height:18px; margin:2px 0 0; padding:0; accent-color:var(--blue); }
.form-card .privacy-check a { font-weight:800; }
.form-options{display:grid; gap:10px; margin:4px 0 18px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f8fbfe;}
.form-options legend{padding:0 8px; color:var(--deep-blue); font-weight:900;}
.form-options label{display:flex; align-items:flex-start; gap:10px; margin:0; color:#435066; font-size:15px; font-weight:700; line-height:1.45;}
.form-options input{flex:0 0 auto; width:18px; height:18px; margin:2px 0 0; padding:0; accent-color:var(--blue);}
.form-intro{margin:0 0 22px; color:var(--deep-blue); font-size:20px; font-weight:800;}
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.contact-form .button { min-width:190px; }
.insurance-form{margin-top:32px;}
.contact-map { margin-top:28px; }
.contact-map .section-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:18px; }
.contact-map .section-head h2 { margin-bottom:0; }
.contact-map .section-head > p { margin:0; color:#435066; font-weight:700; text-align:right; }
.static-map-link { display:block; color:inherit; }
.static-map-link figure { position:relative; margin:0; overflow:hidden; border-radius:22px; box-shadow:0 14px 34px rgba(8,35,61,.10); background:#eef6fb; }
.static-map-link img { display:block; width:100%; border-radius:0; transition:transform .45s ease; }
.static-map-link:hover img { transform:scale(1.025); }
.static-map-link figcaption { position:absolute; left:18px; right:18px; bottom:18px; display:flex; justify-content:space-between; gap:18px; align-items:center; padding:14px 18px; border-radius:16px; background:rgba(8,35,61,.92); color:#fff; }
.static-map-link figcaption span { color:#d9e5ef; }
.static-map-link figcaption strong { color:#fff; white-space:nowrap; }
.site-footer { background:var(--deep-blue); color:#d9e5ef; margin-top:40px; padding:48px 0 24px; }
.site-footer h2{color:var(--white); font-size:22px; margin:0 0 16px;}
.site-footer a{color:var(--white);}
.footer-brand p{max-width:320px; margin:20px 0 0;}
.footer-logo{display:inline-flex; align-items:center; justify-content:center; width:245px; max-width:100%; padding:18px 20px; border-radius:20px; background:#fff; box-shadow:0 16px 34px rgba(0,0,0,.18);}
.footer-logo img{display:block; width:205px; max-width:100%; height:auto;}
.footer-menu nav{display:flex; flex-direction:column; align-items:flex-start; gap:0;}
.footer-menu a{display:block; width:100%; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.14); color:#eaf3fb; font-weight:700;}
.footer-menu a:last-child{border-bottom:0;}
.footer-menu a:hover,.footer-contact a:hover{color:var(--accent);}
.footer-contact address{margin:0 0 14px; font-style:normal; line-height:1.7;}
.footer-contact p{margin:0 0 10px;}
.footer-bottom { border-top:1px solid rgba(255,255,255,.18); margin-top:32px; padding-top:20px; font-size:14px; }
.legal .content-card{font-size:15px;}
@media (max-width:1100px){ .container{width:min(960px,calc(100% - 36px));} .header-inner{align-items:center; gap:18px;} .brand img{width:220px;} .main-nav a{padding:9px 11px; font-size:15px;} .hero-slider,.hero-track,.hero-slide{min-height:380px;} .hero-caption{bottom:52px; font-size:clamp(36px,6vw,58px);} .home-services{grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;} .service-card img{width:100%; aspect-ratio:16/9; object-fit:cover;} .service-card .body{min-height:190px;} .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .footer-grid section:last-child{grid-column:1 / -1;} }
@media (max-width:900px){ .site-header{position:sticky; top:0; z-index:100;} .header-inner{display:grid; grid-template-columns:1fr auto; align-items:center; position:relative;} .contact-panel{display:block;} .menu-toggle{display:inline-grid; justify-self:end;} .menu-toggle em{grid-column:2; grid-row:1 / 4;} .menu-open .menu-toggle{background:var(--deep-blue); color:#fff; border-color:var(--deep-blue);} .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);} .menu-open .menu-toggle span:nth-child(2){opacity:0;} .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);} .main-nav{grid-column:1 / -1; display:none; width:100%; margin-top:16px; padding:10px; border:1px solid rgba(8,35,61,.10); border-radius:18px; background:#fff; box-shadow:0 18px 45px rgba(8,35,61,.16);} .menu-open .main-nav{display:grid; grid-template-columns:1fr; gap:4px;} .main-nav > a,.nav-item > a{display:block; width:100%; padding:13px 14px; border-radius:12px; background:#f7fbff; color:var(--deep-blue); text-align:left; font-size:16px;} .main-nav > a.active,.nav-item > a.active,.main-nav > a:hover,.nav-item > a:hover{background:var(--blue); color:#fff;} .main-nav > a.section-active,.nav-item > a.section-active{background:#eef6fb; color:var(--blue);} .nav-item{display:block; width:100%;} .submenu{position:static; display:grid; visibility:visible; opacity:1; min-width:0; gap:3px; margin:5px 0 10px; padding:8px 0 0 14px; border:0; border-left:2px solid #dbe7ef; border-radius:0; background:transparent; box-shadow:none; transform:none;} .submenu a{display:block; padding:9px 12px; border-radius:10px; background:#fff; color:#435066; white-space:normal; font-size:14px; font-weight:700;} .submenu a.active,.submenu a:hover{background:var(--blue); color:#fff;} .submenu a.section-active{background:#eef6fb; color:var(--blue);} .row,.row-fluid{display:block;} .span1{display:none;} .span3,.span4,.span7,.span9,.span12{display:block; width:100%; max-width:100%;} .work-method,.service-grid,.footer-grid,.post-grid,.testimonials,.alliances-grid,.links-grid,.subpage-intro,.feature-grid,.alliance-cards,.faq-grid,.contact-hero-card,.contact-layout{grid-template-columns:1fr;} .home-services{grid-template-columns:repeat(2,minmax(0,1fr));} .solutions-grid{grid-template-columns:1fr;} .solution-card-featured{grid-template-columns:1fr; min-height:0;} .work-method-content{padding:6px;} .alliances-section{padding-top:24px;} .vision-testimonials{margin-top:34px; padding-top:28px;} .testi-item{min-height:0;} .hero-slider,.hero-track,.hero-slide{min-height:340px;} .hero-caption{bottom:46px; width:min(100% - 86px,1120px); font-size:clamp(30px,10vw,50px);} .hero-control{width:38px; height:38px; font-size:30px; line-height:32px;} .hero-control-prev{left:12px;} .hero-control-next{right:12px;} .alignleft,.alignright{float:none; display:block; margin:0 0 18px;} }
@media (max-width:640px){ .container{width:calc(100% - 24px);} .header-inner{padding-top:14px; padding-bottom:14px; text-align:left; gap:12px;} .brand img{width:min(205px,58vw); margin:0;} .menu-toggle{padding:9px 12px;} .menu-toggle em{display:block; font-size:14px;} .main-nav{gap:6px; margin-top:10px; padding:9px;} .main-nav a{padding:10px 12px; font-size:14px;} .submenu{width:100%; margin-left:0; padding-left:10px;} .submenu a{white-space:normal;} .hero-slider,.hero-track,.hero-slide{min-height:360px;} .hero-slide{background-position:center;} .hero-slide::before{background:linear-gradient(180deg,rgba(8,35,61,.20),rgba(8,35,61,.82));} .hero-caption{bottom:58px; width:calc(100% - 48px); text-align:left; font-size:clamp(32px,13vw,50px);} .hero-control{top:auto; bottom:16px; transform:none; width:34px; height:34px; font-size:26px; line-height:28px;} .hero-control-prev{left:12px;} .hero-control-next{right:12px;} .hero-dots{bottom:26px;} .content-section{padding:34px 0;} .home-services{grid-template-columns:1fr; gap:18px;} .service-card,.solution-card{border-radius:14px;} .service-card .body{min-height:0; padding:20px;} .service-card h2{font-size:22px;} .solution-card{grid-template-rows:210px 1fr;} .solution-body{padding:22px;} .link-card,.feature-card,.alliance-card,.faq-card,.contact-copy,.contact-person,.contact-info-card,.contact-form{padding:22px; min-height:0;} .form-grid{grid-template-columns:1fr; gap:0;} .faq-card{padding-left:60px;} .subpage-callout{padding:22px;} .contact-map .section-head,.static-map-link figcaption{display:block; text-align:left;} .contact-map .section-head > p{margin-top:8px; text-align:left;} .static-map-link figcaption strong{display:block; margin-top:6px; white-space:normal;} .link-card .button,.alliance-card .button,.contact-form .button,.button,.btn,.more-link,input[type="submit"]{width:100%; text-align:center;} .site-footer{padding-top:36px;} .footer-bottom nav{justify-content:center;} .footer-bottom{text-align:center;} }
@media (max-width:640px){ .links-grid{border-top:1px solid var(--line);} .link-card{padding:20px 0; border-radius:0;} .link-copy h3{font-size:21px;} }
@media (max-width:900px){ .founder-note{grid-template-columns:1fr; padding:24px; text-align:left;} .founder-note-portrait{order:-1;} }
@media (max-width:640px){ .founder-note{margin:24px 0 30px; padding:22px;} .founder-note-portrait img{width:150px; height:150px;} .founder-note blockquote{font-size:16px;} }
