:root{--ip-navy:#1E3A5F;--ip-graphite:#2C2E3A;--ip-cream:#F5F4EE;--ip-gray:#C7C9D1;--ip-gold:#A8895C;--ip-white:#FFFFFF;--ip-text:#2C2E3A;--ip-muted:#5A5C68;--ip-line:#D8D6CE;--ip-shadow:0 1px 0 rgba(30,58,95,.08);--ip-font-head:"Spectral",Georgia,serif;--ip-font-body:"Inter",system-ui,sans-serif;--ip-max:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ip-font-body);font-size:16px;line-height:1.7;color:var(--ip-text);background:var(--ip-cream);-webkit-font-smoothing:antialiased}
a{color:var(--ip-navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ip-gold)}
h1,h2,h3,h4,h5{font-family:var(--ip-font-head);font-weight:600;color:var(--ip-graphite);line-height:1.25;letter-spacing:-.01em}
h1{font-size:2.4rem;margin-bottom:1rem}
h2{font-size:1.7rem;margin:2.4rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--ip-line)}
h3{font-size:1.25rem;margin:1.6rem 0 .6rem}
p{margin-bottom:1.1rem}
img{max-width:100%;height:auto;display:block}
.ip-container{max-width:var(--ip-max);margin:0 auto;padding:0 24px}
.ip-skip{position:absolute;left:-9999px}
.ip-skip:focus{left:1rem;top:1rem;background:var(--ip-navy);color:var(--ip-white);padding:.5rem 1rem;z-index:9999}
.ip-header{background:var(--ip-white);border-bottom:1px solid var(--ip-line);position:sticky;top:0;z-index:100}
.ip-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:var(--ip-max);margin:0 auto;gap:24px}
.ip-logo{font-family:var(--ip-font-head);font-size:1.15rem;font-weight:700;color:var(--ip-navy);text-decoration:none;letter-spacing:-.01em}
.ip-logo small{display:block;font-family:var(--ip-font-body);font-size:.7rem;font-weight:400;color:var(--ip-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
.ip-menu{display:flex;list-style:none;gap:28px;align-items:center;margin:0}
.ip-menu a{color:var(--ip-graphite);text-decoration:none;font-size:.95rem;font-weight:500;padding:8px 0;position:relative}
.ip-menu a:hover,.ip-menu a:focus{color:var(--ip-navy)}
.ip-menu .ip-has-mega{position:static}
.ip-mega{position:absolute;left:0;right:0;top:100%;background:var(--ip-white);border-top:1px solid var(--ip-line);border-bottom:1px solid var(--ip-line);padding:36px 24px;display:none;box-shadow:0 12px 24px rgba(30,58,95,.08)}
.ip-mega.is-open{display:block}
.ip-mega-grid{max-width:var(--ip-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ip-mega-group h4{font-family:var(--ip-font-body);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ip-gold);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--ip-line)}
.ip-mega-group ul{list-style:none}
.ip-mega-group li{margin-bottom:10px}
.ip-mega-group a{font-size:.9rem;color:var(--ip-graphite);font-weight:400;line-height:1.4;display:block}
.ip-cta{background:var(--ip-navy);color:var(--ip-white)!important;padding:10px 18px!important;text-decoration:none;font-size:.88rem;font-weight:500;border:1px solid var(--ip-navy)}
.ip-cta:hover{background:var(--ip-graphite);border-color:var(--ip-graphite);color:var(--ip-white)!important}
.ip-burger{display:none;background:none;border:1px solid var(--ip-line);width:44px;height:44px;cursor:pointer;color:var(--ip-graphite);font-size:1.4rem;align-items:center;justify-content:center}
.ip-hero{background:var(--ip-graphite);color:var(--ip-cream);padding:0;position:relative;overflow:hidden}
.ip-hero-inner{max-width:var(--ip-max);margin:0 auto;padding:72px 24px;text-align:center;position:relative;z-index:2}
.ip-hero-eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ip-gold);margin-bottom:18px;font-weight:600}
.ip-hero h1{color:var(--ip-cream);font-size:2.6rem;max-width:820px;margin:0 auto 18px}
.ip-hero-sub{font-size:1.05rem;max-width:680px;margin:0 auto 28px;color:var(--ip-gray)}
.ip-hero-toc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:880px;margin:36px auto 0;padding:24px;border-top:1px solid rgba(245,244,238,.18);border-bottom:1px solid rgba(245,244,238,.18)}
.ip-hero-toc li{list-style:none;font-size:.82rem;color:var(--ip-gray);text-align:left}
.ip-hero-toc li span{display:block;font-family:var(--ip-font-head);font-size:1.4rem;color:var(--ip-gold);margin-bottom:4px}
.ip-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#1E3A5F 0%,#2C2E3A 100%);opacity:.92;z-index:1}
.ip-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ip-btn{display:inline-block;padding:13px 26px;font-size:.92rem;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:var(--ip-font-body)}
.ip-btn-primary{background:var(--ip-gold);color:var(--ip-graphite);border-color:var(--ip-gold)}
.ip-btn-primary:hover{background:var(--ip-cream);color:var(--ip-graphite)}
.ip-btn-ghost{background:transparent;color:var(--ip-cream);border-color:var(--ip-cream)}
.ip-btn-ghost:hover{background:var(--ip-cream);color:var(--ip-graphite)}
.ip-section{padding:72px 0}
.ip-section-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ip-gold);font-weight:600;margin-bottom:10px}
.ip-section-title{font-size:1.9rem;margin-bottom:14px;border-bottom:none;padding-bottom:0}
.ip-section-lead{font-size:1.02rem;color:var(--ip-muted);max-width:760px;margin-bottom:40px}
.ip-editorial{background:var(--ip-white);border-top:1px solid var(--ip-line);border-bottom:1px solid var(--ip-line)}
.ip-editorial-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.ip-editorial-meta{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ip-gold);font-weight:600;margin-bottom:14px}
.ip-editorial figure{margin:0;border:1px solid var(--ip-line)}
.ip-editorial figcaption{padding:14px 18px;background:var(--ip-cream);font-size:.82rem;color:var(--ip-muted)}
.ip-advantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ip-line);border-left:1px solid var(--ip-line)}
.ip-adv-item{padding:32px 28px;border-right:1px solid var(--ip-line);border-bottom:1px solid var(--ip-line);background:var(--ip-white)}
.ip-adv-num{font-family:var(--ip-font-head);font-size:1.6rem;color:var(--ip-gold);font-weight:700;margin-bottom:14px;display:block}
.ip-adv-item h3{font-size:1.1rem;margin:0 0 10px}
.ip-adv-item p{font-size:.92rem;color:var(--ip-muted);margin:0}
.ip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ip-card{background:var(--ip-white);border:1px solid var(--ip-line);display:flex;flex-direction:column;transition:transform .2s ease}
.ip-card:hover{transform:translateY(-2px)}
.ip-card-img{aspect-ratio:4/3;background:var(--ip-gray);position:relative;overflow:hidden}
.ip-card-img::before{content:attr(data-num);position:absolute;top:14px;left:14px;background:var(--ip-graphite);color:var(--ip-cream);font-family:var(--ip-font-head);font-size:.78rem;padding:4px 10px;letter-spacing:.08em;z-index:2}
.ip-card-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column}
.ip-card-cat{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ip-gold);font-weight:600;margin-bottom:8px}
.ip-card h3{font-size:1.1rem;margin:0 0 12px;line-height:1.3}
.ip-card h3 a{color:var(--ip-graphite);text-decoration:none}
.ip-card h3 a:hover{color:var(--ip-navy)}
.ip-card-excerpt{font-size:.9rem;color:var(--ip-muted);margin-bottom:18px;flex:1}
.ip-card-meta{font-size:.78rem;color:var(--ip-muted);padding-top:14px;border-top:1px solid var(--ip-line);display:flex;justify-content:space-between}
.ip-method{background:var(--ip-white);border:1px solid var(--ip-line);padding:48px}
.ip-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ip-method-item{position:relative;padding-top:48px}
.ip-method-item::before{content:attr(data-step);position:absolute;top:0;left:0;font-family:var(--ip-font-head);font-size:2rem;color:var(--ip-gold);font-weight:700}
.ip-method-item h3{font-size:1.05rem;margin:0 0 10px}
.ip-method-item p{font-size:.9rem;color:var(--ip-muted);margin:0}
.ip-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ip-testi-card{background:var(--ip-white);border:1px solid var(--ip-line);padding:28px 26px;position:relative}
.ip-testi-badge{width:48px;height:48px;border-radius:50%;background:var(--ip-navy);color:var(--ip-cream);font-family:var(--ip-font-head);font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;margin-bottom:18px;letter-spacing:.04em}
.ip-testi-card blockquote{font-size:.95rem;color:var(--ip-graphite);line-height:1.6;margin:0 0 14px;font-style:italic}
.ip-testi-card cite{font-size:.82rem;color:var(--ip-muted);font-style:normal;font-weight:500}
.ip-testi-disclaimer{font-size:.78rem;color:var(--ip-muted);margin-top:28px;text-align:center;font-style:italic}
.ip-closing{background:var(--ip-graphite);color:var(--ip-cream);padding:80px 0;text-align:center}
.ip-closing h2{color:var(--ip-cream);border:none;font-size:2rem;margin-bottom:14px}
.ip-closing p{color:var(--ip-gray);max-width:600px;margin:0 auto 28px}
.ip-footer{background:var(--ip-graphite);color:var(--ip-gray);padding:64px 0 0;border-top:1px solid rgba(245,244,238,.1)}
.ip-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:48px;padding-bottom:48px}
.ip-footer h4{font-family:var(--ip-font-body);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ip-gold);margin-bottom:18px;font-weight:600}
.ip-footer ul{list-style:none}
.ip-footer li{margin-bottom:10px;font-size:.9rem}
.ip-footer a{color:var(--ip-gray);text-decoration:none}
.ip-footer a:hover{color:var(--ip-cream)}
.ip-footer-contact p{font-size:.9rem;color:var(--ip-gray);margin-bottom:8px}
.ip-footer-bottom{border-top:1px solid rgba(245,244,238,.1);padding:22px 0;text-align:center;font-size:.82rem;color:var(--ip-gray)}
.ip-article{max-width:780px;margin:0 auto;padding:48px 24px}
.ip-article-eyebrow{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ip-gold);margin-bottom:16px;font-weight:600}
.ip-article-meta{font-size:.86rem;color:var(--ip-muted);margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--ip-line)}
.ip-article-lead{font-size:1.1rem;color:var(--ip-graphite);line-height:1.65;margin-bottom:32px;font-family:var(--ip-font-head);font-weight:400}
.ip-article figure{margin:28px 0;border:1px solid var(--ip-line)}
.ip-article figcaption{padding:12px 16px;background:var(--ip-white);font-size:.82rem;color:var(--ip-muted)}
.ip-article h2{counter-increment:section}
.ip-article h2::before{content:"0" counter(section);display:block;font-family:var(--ip-font-head);font-size:.85rem;color:var(--ip-gold);letter-spacing:.1em;margin-bottom:6px}
.ip-article{counter-reset:section}
.ip-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:48px 0;padding-top:32px;border-top:1px solid var(--ip-line)}
.ip-prevnext a{border:1px solid var(--ip-line);padding:20px 22px;text-decoration:none;background:var(--ip-white);display:block}
.ip-prevnext a:hover{border-color:var(--ip-navy)}
.ip-prevnext small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ip-gold);margin-bottom:6px;font-weight:600}
.ip-prevnext .ip-pn-next{text-align:right}
.ip-prevnext strong{display:block;font-family:var(--ip-font-head);font-weight:600;color:var(--ip-graphite);font-size:1rem;line-height:1.35}
.ip-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}
.ip-contact-card{background:var(--ip-white);border:1px solid var(--ip-line);padding:32px 26px;text-align:center}
.ip-contact-card i{font-size:1.6rem;color:var(--ip-gold);margin-bottom:14px;display:block}
.ip-contact-card h3{font-size:1rem;margin-bottom:10px}
.ip-contact-card p{font-size:.92rem;color:var(--ip-muted);margin:0}
.ip-contact-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.ip-form{background:var(--ip-white);border:1px solid var(--ip-line);padding:36px}
.ip-form label{display:block;font-size:.85rem;font-weight:500;color:var(--ip-graphite);margin:0 0 8px;letter-spacing:.02em}
.ip-form input,.ip-form textarea{width:100%;padding:13px 14px;border:1px solid var(--ip-line);font-family:var(--ip-font-body);font-size:16px;background:var(--ip-cream);color:var(--ip-text);margin-bottom:18px;min-height:44px}
.ip-form input:focus,.ip-form textarea:focus{outline:2px solid var(--ip-gold);outline-offset:0;border-color:var(--ip-gold)}
.ip-form textarea{min-height:140px;resize:vertical}
.ip-map{border:1px solid var(--ip-line);overflow:hidden;background:var(--ip-gray);min-height:380px}
.ip-map iframe{display:block;width:100%;height:420px;border:0}
.ip-cookie-bar{position:fixed;left:0;right:0;bottom:0;background:var(--ip-graphite);color:var(--ip-cream);padding:18px 24px;z-index:9000;border-top:3px solid var(--ip-gold);display:none}
.ip-cookie-bar.is-open{display:block}
.ip-cookie-inner{max-width:var(--ip-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.ip-cookie-text{flex:1;font-size:.88rem;min-width:260px}
.ip-cookie-text a{color:var(--ip-gold)}
.ip-cookie-buttons{display:flex;gap:10px;flex-wrap:wrap}
.ip-cookie-btn{padding:10px 18px;font-size:.85rem;border:1px solid var(--ip-cream);background:transparent;color:var(--ip-cream);cursor:pointer;font-family:var(--ip-font-body);min-height:44px}
.ip-cookie-btn.is-primary{background:var(--ip-gold);border-color:var(--ip-gold);color:var(--ip-graphite);font-weight:500}
.ip-cookie-btn:hover{background:var(--ip-cream);color:var(--ip-graphite)}
.ip-modal{position:fixed;inset:0;background:rgba(44,46,58,.7);z-index:9500;display:none;align-items:center;justify-content:center;padding:24px}
.ip-modal.is-open{display:flex}
.ip-modal-box{background:var(--ip-white);max-width:560px;width:100%;padding:36px;border:1px solid var(--ip-line);max-height:88vh;overflow-y:auto}
.ip-modal-box h3{margin:0 0 16px;font-size:1.3rem}
.ip-pref-group{border:1px solid var(--ip-line);padding:16px;margin-bottom:14px;background:var(--ip-cream)}
.ip-pref-group label{display:flex;align-items:center;gap:10px;font-weight:500;margin-bottom:6px;cursor:pointer}
.ip-pref-group p{font-size:.85rem;color:var(--ip-muted);margin:0 0 0 26px}
.ip-pref-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.ip-faq{margin:20px 0}
.ip-faq-item{border-bottom:1px solid var(--ip-line)}
.ip-faq-q{width:100%;text-align:left;background:none;border:0;padding:18px 0;font-size:1rem;font-family:var(--ip-font-head);font-weight:600;color:var(--ip-graphite);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.ip-faq-a{padding:0 0 18px;display:none;font-size:.94rem;color:var(--ip-muted)}
.ip-faq-item.is-open .ip-faq-a{display:block}
.ip-page-hero{background:var(--ip-white);border-bottom:1px solid var(--ip-line);padding:60px 0 48px}
.ip-page-hero .ip-section-eyebrow{margin-bottom:12px}
.ip-page-hero h1{margin-bottom:14px}
.ip-page-hero p{font-size:1.02rem;color:var(--ip-muted);max-width:680px;margin:0}
.ip-legal-toc{background:var(--ip-white);border:1px solid var(--ip-line);padding:24px 28px;margin-bottom:32px}
.ip-legal-toc ol{margin:0;padding-left:22px}
.ip-legal-toc li{font-size:.9rem;margin-bottom:6px}
@media (max-width:1024px){
.ip-grid,.ip-advantages-grid,.ip-testi-grid,.ip-contact-cards,.ip-method-grid{grid-template-columns:repeat(2,1fr)}
.ip-mega-grid{grid-template-columns:repeat(2,1fr)}
.ip-hero-toc{grid-template-columns:repeat(2,1fr)}
.ip-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
h1{font-size:1.9rem}
h2{font-size:1.4rem}
.ip-hero h1{font-size:1.9rem}
.ip-section{padding:56px 0}
.ip-burger{display:flex}
.ip-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ip-white);flex-direction:column;border-bottom:1px solid var(--ip-line);padding:18px 24px;gap:0;align-items:stretch}
.ip-menu.is-open{display:flex}
.ip-menu li{border-bottom:1px solid var(--ip-line)}
.ip-menu li:last-child{border-bottom:none}
.ip-menu a{padding:14px 0;display:block}
.ip-mega{position:static;display:none;padding:14px 0 0;border:0;box-shadow:none}
.ip-mega.is-open{display:block}
.ip-mega-grid{grid-template-columns:1fr;gap:14px}
.ip-mega-group{border-top:1px solid var(--ip-line);padding-top:12px}
.ip-cta{display:inline-block;margin-top:8px}
.ip-grid,.ip-advantages-grid,.ip-testi-grid,.ip-contact-cards,.ip-method-grid,.ip-footer-grid,.ip-editorial-grid,.ip-contact-split,.ip-prevnext{grid-template-columns:1fr;gap:20px}
.ip-method{padding:32px 22px}
.ip-hero-toc{grid-template-columns:1fr;gap:14px}
.ip-prevnext .ip-pn-next{text-align:left}
.ip-form{padding:24px}
.ip-modal-box{padding:24px}
.ip-pref-actions{flex-direction:column}
.ip-cookie-buttons{flex-direction:column;width:100%}
.ip-cookie-btn{width:100%}
}
@media (max-width:480px){
.ip-container{padding:0 18px}
.ip-hero-inner{padding:54px 18px}
.ip-section{padding:44px 0}
h1{font-size:1.6rem}
.ip-hero h1{font-size:1.6rem}
.ip-section-title{font-size:1.5rem}
}

/* UX image separation: hero and cards show media without overlay labels. */
.ip-hero{background:var(--ip-white);color:var(--ip-text);border-bottom:1px solid var(--ip-line)}
.ip-hero-bg{display:none}
.ip-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:32px;text-align:left;align-items:center}
.ip-hero-eyebrow,.ip-hero h1,.ip-hero-sub,.ip-hero-actions{grid-column:1}
.ip-hero h1{color:var(--ip-graphite)}
.ip-hero-sub,.ip-hero-toc li{color:var(--ip-muted)}
.ip-hero-actions{justify-content:flex-start}
.ip-hero-toc{grid-column:1 / -1}
.ip-hero-media{grid-column:2;grid-row:1 / span 4;margin:0;border:1px solid var(--ip-line);background:var(--ip-cream);box-shadow:0 16px 36px rgba(30,58,95,.12)}
.ip-hero-media img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.ip-hero-media figcaption{padding:10px 14px;color:var(--ip-muted);font-size:.82rem}
.ip-btn-ghost{color:var(--ip-navy);border-color:var(--ip-navy)}
.ip-btn-ghost:hover{background:var(--ip-navy);color:#fff}
.ip-card-img::before{display:none}
.ip-card-img img{width:100%;height:100%;object-fit:cover}
.ip-card-cat{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ip-card-num{font-family:var(--ip-font-head);font-size:.74rem;color:var(--ip-gold);border:1px solid var(--ip-line);padding:2px 7px;background:var(--ip-cream)}
@media (max-width:800px){
  .ip-hero-inner{grid-template-columns:1fr;text-align:left}
  .ip-hero-eyebrow,.ip-hero h1,.ip-hero-sub,.ip-hero-actions,.ip-hero-media{grid-column:1}
  .ip-hero-media{grid-row:auto;order:2}
  .ip-hero-toc{grid-column:1}
}

/* Mobile containment for the hero grid and article cards. */
html,body{overflow-x:hidden}
.ip-hero-inner>*,.ip-card{min-width:0;max-width:100%}
.ip-hero h1,.ip-hero-sub,.ip-card h3{overflow-wrap:anywhere}
@media (max-width:560px){
  .ip-hero-inner>*,.ip-card{width:100%;max-width:min(100%,310px,calc(100vw - 48px));justify-self:start}
  .ip-hero h1,.ip-hero-sub{max-width:270px;margin-left:0;margin-right:0;overflow-wrap:break-word}
}
