:root{--gni-ink:#102f43;--gni-ink-2:#193e55;--gni-muted:#607581;--gni-line:#dbe5ea;--gni-soft:#eef4f6;--gni-yellow:#ffd326;--gni-yellow-2:#f4bf00;--gni-green:#15835f}
body.gnis-content-page:has(.gnis-info-page){background:#edf3f5}
body.gnis-content-page:has(.gnis-info-page) #main{padding:0 0 72px}
body.gnis-content-page:has(.gnis-info-page) #main>.ct-container{width:100%;max-width:none;padding:0}
body.gnis-content-page:has(.gnis-info-page) :is(.entry-header,.page-title){display:none}
body.gnis-content-page:has(.gnis-info-page) .entry-content{width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.gnis-info-page{width:min(1520px,calc(100% - 32px));margin:0 auto;color:var(--gni-ink)}
.gnis-info-page *{box-sizing:border-box}
.gnis-info-page svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gnis-info-page :is(h1,h2,h3,p){margin-top:0}
.gnis-info-page a{text-decoration:none}
.gnis-info-kicker{display:block;margin:0 0 18px;color:#0c86b6;font-size:12px;font-weight:820;letter-spacing:.13em;line-height:1.2}
.gnis-info-hero{position:relative;display:grid;grid-template-columns:minmax(0,760px) auto;align-items:end;justify-content:space-between;gap:48px;min-height:420px;margin:24px 0 18px;padding:clamp(40px,6vw,88px);overflow:hidden;border-radius:26px;background:linear-gradient(120deg,#0c2a3d 0%,#153c52 62%,#1a4d65 100%);box-shadow:0 24px 70px rgba(8,37,55,.18);color:#fff}
.gnis-info-hero::before{position:absolute;right:-110px;bottom:-210px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 52px rgba(255,255,255,.035),0 0 0 104px rgba(255,255,255,.025);content:""}
.gnis-info-hero>div,.gnis-info-hero>a{position:relative;z-index:1}
.gnis-info-hero .gnis-info-kicker{color:var(--gni-yellow)}
.gnis-info-hero h1{max-width:760px;margin:0 0 22px;color:#fff;font-size:clamp(42px,5.4vw,78px);font-weight:780;letter-spacing:-.055em;line-height:.98}
.gnis-info-hero h1 em{color:var(--gni-yellow);font-style:normal}
.gnis-info-hero p{max-width:690px;margin:0;color:#c7d5dc;font-size:clamp(16px,1.35vw,19px);line-height:1.65}
body.gnis-content-page .entry-content .gnis-info-hero p{color:#c7d5dc}
.gnis-info-hero__action{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:16px;padding:14px 22px;border-radius:10px;background:var(--gni-yellow);color:#102f43!important;font-size:14px;font-weight:820;white-space:nowrap;box-shadow:0 12px 30px rgba(0,0,0,.17);transition:transform .2s,background .2s}
.gnis-info-hero__action:hover{background:#ffe15e;transform:translateY(-2px)}
.gnis-info-hero__action svg{width:19px;height:19px}
.gnis-info-nav{display:flex;gap:8px;margin:0 0 18px;padding:8px;overflow-x:auto;border:1px solid var(--gni-line);border-radius:13px;background:#fff;box-shadow:0 8px 26px rgba(15,49,69,.05);scrollbar-width:thin}
.gnis-info-nav a{display:flex;min-height:42px;align-items:center;padding:8px 16px;border-radius:8px;color:#4d6471!important;font-size:13px;font-weight:700;white-space:nowrap;transition:background .18s,color .18s}
.gnis-info-nav a:hover,.gnis-info-nav a.is-active{background:#102f43;color:#fff!important}

/* Contact */
.gnis-contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 18px}
.gnis-contact-methods>a{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:17px;min-height:136px;padding:25px;border:1px solid var(--gni-line);border-radius:16px;background:#fff;color:var(--gni-ink)!important;box-shadow:0 9px 28px rgba(15,49,69,.045);transition:transform .2s,border-color .2s,box-shadow .2s}
.gnis-contact-methods>a:hover{transform:translateY(-3px);border-color:#b9cbd4;box-shadow:0 16px 36px rgba(15,49,69,.1)}
.gnis-contact-methods>a>span{grid-row:1/3;display:grid;width:54px;height:54px;place-items:center;border-radius:13px;background:#eef4f6;color:#0e789f}
.gnis-contact-methods small{align-self:end;color:#788b95;font-size:11px;font-weight:780;letter-spacing:.06em;text-transform:uppercase}
.gnis-contact-methods strong{align-self:start;overflow-wrap:anywhere;font-size:17px;font-weight:760;line-height:1.35}
.gnis-contact-methods em{position:absolute;right:24px;bottom:17px;color:#0b7da9;font-size:12px;font-style:normal;font-weight:730}
.gnis-contact-layout{display:grid;grid-template-columns:minmax(320px,.76fr) minmax(520px,1.24fr);gap:18px;margin-bottom:18px}
.gnis-contact-copy,.gnis-contact-form-card{padding:clamp(28px,4vw,52px);border:1px solid var(--gni-line);border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(15,49,69,.06)}
.gnis-contact-copy h2{margin-bottom:15px;color:var(--gni-ink);font-size:clamp(30px,3vw,45px);font-weight:760;letter-spacing:-.04em;line-height:1.06}
.gnis-contact-copy>p{max-width:590px;color:var(--gni-muted);font-size:15px;line-height:1.7}
.gnis-contact-tips{display:grid;gap:13px;margin:30px 0}
.gnis-contact-tips>div{display:grid;grid-template-columns:40px 1fr;gap:13px;align-items:start}
.gnis-contact-tips>div>svg{width:40px;height:40px;padding:9px;border-radius:10px;background:#ecf3f6;color:#0b7ea9}
.gnis-contact-tips span{color:#607581;font-size:13px;line-height:1.55}
.gnis-contact-tips strong{display:block;margin-bottom:2px;color:var(--gni-ink);font-size:14px}
.gnis-contact-copy aside{padding:20px;border-left:4px solid var(--gni-yellow);border-radius:0 12px 12px 0;background:#fff9df}
.gnis-contact-copy aside>strong{display:block;margin-bottom:6px;font-size:15px}
.gnis-contact-copy aside p{margin:0 0 9px;color:#536a77;font-size:13px;line-height:1.6}
.gnis-contact-copy aside a{color:#8b6700!important;font-size:13px;font-weight:780}
.gnis-contact-form-card{background:#f9fbfc}
.gnis-contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gnis-contact-form label{display:grid;gap:7px;margin:0}
.gnis-contact-form label.is-wide{grid-column:1/-1}
.gnis-contact-form label>span{color:#2c4a5b;font-size:13px;font-weight:720}
.gnis-contact-form label b{color:#cc3442}
body.gnis-content-page .gnis-contact-form :is(input:not([type=checkbox]),select,textarea){width:100%;min-height:52px;margin:0;padding:13px 15px;border:1px solid #cddbe2;border-radius:10px;background:#fff;color:#18374a;font:inherit;font-size:14px;box-shadow:0 2px 0 rgba(19,54,74,.015)}
body.gnis-content-page .gnis-contact-form textarea{min-height:148px;resize:vertical}
body.gnis-content-page .gnis-contact-form :is(input,select,textarea):focus{outline:3px solid rgba(255,211,38,.3);border-color:#b99000}
.gnis-contact-form__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}
.gnis-contact-form__footer p{max-width:440px;margin:0;color:#778a94;font-size:11px;line-height:1.5}
.gnis-contact-form__footer p a{color:#376173!important;text-decoration:underline}
body.gnis-content-page .gnis-contact-form__footer button{display:inline-flex;min-width:175px;min-height:52px;align-items:center;justify-content:center;gap:12px;margin:0;padding:12px 20px;border:0;border-radius:10px;background:var(--gni-yellow);color:var(--gni-ink);font-size:14px;font-weight:820;box-shadow:0 10px 24px rgba(205,160,0,.16);cursor:pointer}
body.gnis-content-page .gnis-contact-form__footer button:hover{background:#ffe064;transform:translateY(-2px)}
.gnis-contact-form__footer button svg{width:18px;height:18px}
.gnis-contact-form__trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gnis-form-notice{display:flex;align-items:flex-start;gap:11px;margin:0 0 20px;padding:14px 16px;border:1px solid;border-radius:10px;font-size:13px;line-height:1.5}
.gnis-form-notice svg{flex:0 0 auto;width:19px;height:19px}
.gnis-form-notice.is-success{border-color:#b9dccf;background:#eaf7f2;color:#17664e}
.gnis-form-notice.is-error{border-color:#edc4c8;background:#fff1f2;color:#9b2f39}
.gnis-contact-map{display:grid;grid-template-columns:minmax(320px,.67fr) minmax(480px,1.33fr);min-height:380px;overflow:hidden;border-radius:20px;background:#102f43;box-shadow:0 18px 46px rgba(11,42,61,.15)}
.gnis-contact-map>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(32px,5vw,64px);color:#fff}
.gnis-contact-map .gnis-info-kicker{color:var(--gni-yellow)}
.gnis-contact-map h2{margin-bottom:13px;color:#fff;font-size:clamp(30px,3.6vw,48px);font-weight:760;letter-spacing:-.04em;line-height:1.05}
.gnis-contact-map p{max-width:520px;color:#c0d0d8;font-size:14px;line-height:1.7}
body.gnis-content-page .entry-content .gnis-contact-map h2{margin-top:0;padding-top:0;border:0;color:#fff}
body.gnis-content-page .entry-content .gnis-contact-map p{color:#c0d0d8}
.gnis-contact-map a{display:inline-flex;align-items:center;gap:10px;margin-top:14px;color:var(--gni-yellow)!important;font-size:13px;font-weight:800}
.gnis-contact-map a svg{width:18px;height:18px}
.gnis-contact-map iframe{width:100%;height:100%;min-height:380px;border:0;filter:saturate(.7) contrast(1.05)}

/* About */
.gnis-about-hero{grid-template-columns:minmax(0,820px) minmax(240px,390px);align-items:center}
.gnis-about-mark{display:flex!important;flex-direction:column;align-items:flex-end;color:#fff;line-height:.82;transform:rotate(-4deg)}
.gnis-about-mark span{font-size:clamp(34px,4vw,62px);font-weight:860;letter-spacing:-.06em}
.gnis-about-mark strong{color:var(--gni-yellow);font-size:clamp(50px,7vw,100px);font-weight:900;letter-spacing:-.08em}
.gnis-about-mark small{margin-top:17px;color:#c7d5dc;font-size:10px;font-weight:750;letter-spacing:.13em}
.gnis-info-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.gnis-info-actions a{display:inline-flex;min-height:50px;align-items:center;gap:10px;padding:11px 18px;border:1px solid rgba(255,255,255,.28);border-radius:9px;color:#fff!important;font-size:13px;font-weight:780;transition:transform .18s,background .18s}
.gnis-info-actions a:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.gnis-info-actions a.is-primary{border-color:var(--gni-yellow);background:var(--gni-yellow);color:var(--gni-ink)!important}
.gnis-info-actions svg{width:17px;height:17px}
.gnis-about-intro{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,8vw,130px);align-items:start;padding:clamp(60px,8vw,115px) clamp(20px,5vw,72px);border-bottom:1px solid #cad9df}
.gnis-about-intro h2{max-width:680px;color:var(--gni-ink);font-size:clamp(33px,4vw,56px);font-weight:730;letter-spacing:-.045em;line-height:1.08}
.gnis-about-intro>div:last-child{padding-top:35px}
.gnis-about-intro p{color:#526a77;font-size:16px;line-height:1.8}
.gnis-about-values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 0 18px;overflow:hidden;border:1px solid var(--gni-line);border-radius:20px;background:var(--gni-line)}
.gnis-about-values article{min-height:290px;padding:clamp(28px,3.4vw,48px);background:#fff}
.gnis-about-values article>span{display:block;margin-bottom:48px;color:#d0a400;font-size:12px;font-weight:850;letter-spacing:.1em}
.gnis-about-values h3{margin-bottom:13px;color:var(--gni-ink);font-size:21px;font-weight:740;letter-spacing:-.025em}
.gnis-about-values p{margin:0;color:#627783;font-size:14px;line-height:1.7}
.gnis-about-wizard{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:18px;padding:clamp(28px,4vw,52px);border-radius:20px;background:linear-gradient(110deg,#dcecf3,#f4f8fa);box-shadow:inset 0 0 0 1px #cfdee5}
.gnis-about-wizard>div{display:flex;align-items:center;gap:24px}
.gnis-about-wizard>div>svg{width:68px;height:68px;padding:16px;border-radius:18px;background:#fff;color:#0a7aa6;box-shadow:0 8px 22px rgba(15,49,69,.09)}
.gnis-about-wizard small{display:block;margin-bottom:5px;color:#0b7da9;font-size:10px;font-weight:820;letter-spacing:.1em}
.gnis-about-wizard h2{margin:0 0 6px;color:var(--gni-ink);font-size:clamp(24px,3vw,38px);font-weight:750;letter-spacing:-.035em}
.gnis-about-wizard p{margin:0;color:#607581;font-size:14px}
.gnis-about-wizard>a{display:inline-flex;min-height:52px;align-items:center;gap:10px;padding:12px 20px;border-radius:9px;background:#102f43;color:#fff!important;font-size:13px;font-weight:800;white-space:nowrap;transition:transform .18s,background .18s}
.gnis-about-wizard>a:hover{background:#1e4b63;transform:translateY(-2px)}
.gnis-about-wizard>a svg{width:18px;height:18px}
.gnis-about-company{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,130px);padding:clamp(38px,6vw,80px);border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--gni-line)}
.gnis-about-company h2{margin-bottom:12px;color:var(--gni-ink);font-size:clamp(32px,3.5vw,48px);font-weight:750;letter-spacing:-.04em}
.gnis-about-company p{color:#607581;font-size:15px;line-height:1.7}
.gnis-about-company dl{margin:0}
.gnis-about-company dl>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid #e3eaee}
.gnis-about-company dl>div:first-child{padding-top:0}
.gnis-about-company dl>div:last-child{border-bottom:0}
.gnis-about-company dt{color:#71858f;font-size:12px;font-weight:700}
.gnis-about-company dd{margin:0;color:var(--gni-ink);font-size:14px;font-weight:680;line-height:1.55}
.gnis-about-company dd a{color:#0b759f!important}

/* Policy pages */
.gnis-policy-hero{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:24px;align-items:center;margin:24px 0 18px;padding:clamp(30px,4vw,56px);border:1px solid var(--gni-line);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(15,49,69,.07)}
.gnis-policy-hero__icon{display:grid;width:70px;height:70px;place-items:center;border-radius:17px;background:#102f43;color:var(--gni-yellow)}
.gnis-policy-hero__icon svg{width:32px;height:32px}
.gnis-policy-hero .gnis-info-kicker{margin-bottom:10px}
.gnis-policy-hero h1{margin-bottom:8px;color:var(--gni-ink);font-size:clamp(30px,4vw,52px);font-weight:760;letter-spacing:-.045em;line-height:1.06}
.gnis-policy-hero p{max-width:760px;margin:0;color:#607581;font-size:14px;line-height:1.65}
.gnis-policy-hero>a{display:inline-flex;min-height:48px;align-items:center;gap:10px;padding:11px 17px;border-radius:9px;background:#eef4f6;color:#17445b!important;font-size:13px;font-weight:780;white-space:nowrap;transition:background .18s,transform .18s}
.gnis-policy-hero>a:hover{background:#dae8ee;transform:translateY(-2px)}
.gnis-policy-hero>a svg{width:17px;height:17px}
.gnis-policy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.gnis-policy-summary{position:sticky;top:18px;display:grid;gap:5px;padding:20px;border:1px solid var(--gni-line);border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(15,49,69,.05)}
.gnis-policy-summary>strong{margin-bottom:8px;color:var(--gni-ink);font-size:14px}
.gnis-policy-summary>a{padding:9px 10px;border-radius:7px;color:#526a77!important;font-size:13px;font-weight:650;transition:background .15s,color .15s}
.gnis-policy-summary>a:hover{background:#edf4f7;color:#0a739d!important}
.gnis-policy-summary>div{margin:12px 0 4px;padding:16px;border-radius:10px;background:#fff8d9}
.gnis-policy-summary>div b{display:block;margin-bottom:3px;color:#8c6900;font-size:21px}
.gnis-policy-summary>div span{color:#705f2d;font-size:11px;line-height:1.45}
.gnis-policy-summary>p{margin:12px 0 0;padding-top:14px;border-top:1px solid #e3eaee;color:#758993;font-size:11px;line-height:1.5}
.gnis-policy-summary>p a{color:#0b759f!important;font-weight:750}
.gnis-policy-document{min-width:0;padding:clamp(28px,5vw,66px);border:1px solid var(--gni-line);border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(15,49,69,.06)}
.gnis-policy-document>h3:first-child{margin-top:0}
body.gnis-content-page .gnis-policy-document h2,body.gnis-content-page .gnis-policy-document h3{scroll-margin-top:24px;border:0;padding:0;color:var(--gni-ink)}
body.gnis-content-page .gnis-policy-document h2{margin:42px 0 16px;font-size:26px}
body.gnis-content-page .gnis-policy-document h3{margin:38px 0 13px;font-size:20px;font-weight:760}
body.gnis-content-page .gnis-policy-document :is(p,li){color:#516976;font-size:14px;line-height:1.76}
.gnis-policy-document hr{height:1px;margin:30px 0;border:0;background:#e2eaee}
.gnis-policy-document ul{margin:12px 0 20px;padding-left:22px}
.gnis-policy-document li::marker{color:#d5a600}
.gnis-policy-document strong{color:#29495b}

@media(max-width:1050px){
 .gnis-info-hero{grid-template-columns:1fr;align-items:start;min-height:380px}
 .gnis-info-hero__action{justify-self:start}
 .gnis-contact-layout{grid-template-columns:1fr}
 .gnis-about-hero{grid-template-columns:1fr}
 .gnis-about-mark{display:none!important}
 .gnis-about-values{grid-template-columns:1fr 1fr}
 .gnis-policy-hero{grid-template-columns:70px minmax(0,1fr)}
 .gnis-policy-hero>a{grid-column:2;justify-self:start}
}
@media(max-width:800px){
 body.gnis-content-page:has(.gnis-info-page) #main{padding-bottom:40px}
 .gnis-info-page{width:calc(100% - 16px)}
 .gnis-info-hero{min-height:0;margin-top:8px;padding:34px 24px;border-radius:17px}
 .gnis-info-hero h1{font-size:clamp(38px,11vw,54px)}
 .gnis-info-hero p{font-size:15px}
 .gnis-info-nav{margin-bottom:10px;border-radius:10px}
 .gnis-contact-methods{grid-template-columns:1fr;gap:8px}
 .gnis-contact-methods>a{min-height:116px;padding:20px}
 .gnis-contact-copy,.gnis-contact-form-card{padding:25px 18px;border-radius:14px}
 .gnis-contact-form__grid{grid-template-columns:1fr;gap:14px}
 .gnis-contact-form__footer{align-items:stretch;flex-direction:column}
 body.gnis-content-page .gnis-contact-form__footer button{width:100%}
 .gnis-contact-map{grid-template-columns:1fr;border-radius:14px}
 .gnis-contact-map iframe{min-height:300px}
 .gnis-about-intro{grid-template-columns:1fr;gap:14px;padding:50px 16px}
 .gnis-about-intro>div:last-child{padding-top:0}
 .gnis-about-values{grid-template-columns:1fr}
 .gnis-about-values article{min-height:0;padding:30px 24px}
 .gnis-about-values article>span{margin-bottom:26px}
 .gnis-about-wizard{align-items:stretch;flex-direction:column;padding:28px 20px}
 .gnis-about-wizard>div{align-items:flex-start}
 .gnis-about-wizard>div>svg{width:52px;height:52px;padding:12px}
 .gnis-about-wizard>a{justify-content:center}
 .gnis-about-company{grid-template-columns:1fr;gap:25px;padding:32px 22px}
 .gnis-about-company dl>div{grid-template-columns:1fr;gap:4px}
 .gnis-policy-hero{grid-template-columns:50px minmax(0,1fr);gap:16px;margin-top:8px;padding:26px 20px;border-radius:15px}
 .gnis-policy-hero__icon{width:50px;height:50px;border-radius:12px}
 .gnis-policy-hero__icon svg{width:24px;height:24px}
 .gnis-policy-hero h1{font-size:31px}
 .gnis-policy-hero>a{grid-column:1/-1;justify-content:center}
 .gnis-policy-layout{grid-template-columns:1fr}
 .gnis-policy-summary{position:static;display:flex;gap:5px;padding:8px;overflow-x:auto}
 .gnis-policy-summary>strong,.gnis-policy-summary>div,.gnis-policy-summary>p{display:none}
 .gnis-policy-summary>a{white-space:nowrap}
 .gnis-policy-document{padding:28px 20px;border-radius:13px}
}
@media(max-width:480px){
 .gnis-info-page{width:calc(100% - 4px)}
 .gnis-info-hero{margin-top:2px;padding:30px 18px;border-radius:13px}
 .gnis-info-hero h1{font-size:38px}
 .gnis-info-kicker{margin-bottom:13px}
 .gnis-contact-methods>a{border-radius:11px}
 .gnis-contact-methods strong{font-size:15px}
 .gnis-contact-copy,.gnis-contact-form-card{padding:23px 14px}
 .gnis-contact-map>div{padding:30px 20px}
 .gnis-about-wizard>div{gap:14px}
 .gnis-about-wizard>div>svg{display:none}
}
