/*
Theme Name: Icebike GP
Description: GeneratePress child theme for Icebike.org: bike guides, sizing, repair and cycling calculators.
Author: Icebike
Template: generatepress
Version: 1.2.0
Text Domain: icebike-gp
*/

/* ==========================================================================
   1. Fonts (self-hosted, SIL OFL: Inter, Barlow)
   ========================================================================== */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-var-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/barlow-700-latin.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/barlow-800-latin.woff2) format("woff2")}

/* ==========================================================================
   2. Tokens
   ========================================================================== */
:root{
  --ib-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ib-font-head:"Barlow","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --ib-ink:#132232;--ib-text:#26343f;--ib-muted:#5c6b78;
  --ib-blue:#1767ae;--ib-blue-2:#1e73be;--ib-ice:#89d2fd;--ib-ice-soft:#e7f4fd;
  --ib-navy:#0b2236;--ib-navy-2:#123552;
  --ib-line:#e1e8ee;--ib-line-2:#cdd8e1;--ib-surface:#f5f9fc;
  --ib-radius:12px;--ib-radius-sm:8px;
  --ib-shadow:0 1px 2px rgba(11,34,54,.06),0 8px 24px rgba(11,34,54,.06);
  --ib-wrap:1280px;--ib-gutter:24px;
}

/* ==========================================================================
   3. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--ib-text);font:400 18px/1.7 var(--ib-font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%;height:auto;vertical-align:middle}
figure{margin:1.6em 0}
a{color:var(--ib-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ib-navy-2);text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ib-ice);outline-offset:3px;border-radius:4px}
::selection{background:var(--ib-ice-soft)}
h1,h2,h3,h4,h5,h6{font-family:var(--ib-font-head);color:var(--ib-ink);font-weight:700;line-height:1.15;letter-spacing:-.005em;margin:0 0 .6em}
h1{font-size:clamp(2.1rem,4.2vw,3rem);font-weight:800;line-height:1.08}
h2{font-size:clamp(1.6rem,3vw,2.05rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.5rem)}
h4{font-size:1.2rem}h5,h6{font-size:1.05rem}
p{margin:0 0 1.2em}
ul,ol{margin:0 0 1.4em;padding-left:1.4em}
li{margin:0 0 .45em}
strong,b{font-weight:650;color:var(--ib-ink)}
hr{border:0;border-top:1px solid var(--ib-line);margin:2.2em 0}
button,input,select,textarea{font:inherit;color:inherit}
button,input[type=submit],input[type=button],.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--ib-radius-sm);background:var(--ib-blue);color:#fff;font-weight:650;font-size:16px;line-height:1.3;padding:11px 20px;cursor:pointer;text-decoration:none;transition:background .15s}
button:hover,input[type=submit]:hover,input[type=button]:hover,.button:hover{background:var(--ib-navy-2);color:#fff;text-decoration:none}
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-width:0;border:1px solid var(--ib-line-2);border-radius:var(--ib-radius-sm);padding:10px 13px;background:#fff;color:var(--ib-ink);font-size:16px}
input:focus,select:focus,textarea:focus{border-color:var(--ib-blue-2)}
textarea{width:100%}input[type=checkbox],input[type=radio]{margin-right:8px;accent-color:var(--ib-blue)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;padding:12px 18px;margin:0;top:8px;left:8px;background:#fff;z-index:10000}

/* ==========================================================================
   4. Layout
   ========================================================================== */
.grid-container,.site{max-width:var(--ib-wrap);margin-left:auto;margin-right:auto}
.site{padding:0 var(--ib-gutter)}.site-content{display:block}
.content-area{width:100%;min-width:0}.site-main{margin:40px 0 72px}
.inside-article{padding:0}
.editorial-article,.comments-area,.not-found{max-width:780px;margin:0 auto}
.ib-eyebrow,.eyebrow{margin:0 0 10px;font:700 13px/1.4 var(--ib-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ib-blue)}

/* ==========================================================================
   5. Header
   ========================================================================== */
.site-header{background:#fff;border-bottom:1px solid var(--ib-line)}
.inside-header{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px var(--ib-gutter)}
.site-logo{flex:0 0 auto;display:block;line-height:0}.site-logo img{display:block;width:150px;height:auto}
.main-navigation{display:flex;align-items:center;gap:2px;margin-left:12px;margin-right:auto}
.main-navigation a{padding:8px 12px;border-radius:var(--ib-radius-sm);color:var(--ib-ink);font-size:15.5px;font-weight:600;text-decoration:none}
.main-navigation a:hover{background:var(--ib-surface);color:var(--ib-blue)}
.header-search{width:240px}
.search-form{display:flex;gap:6px;align-items:stretch;margin:0}
.search-form input{width:100%;min-width:0;font-size:15px}.search-form button{padding:9px 14px;font-size:15px}
.mobile-navigation{display:none}
.mobile-navigation summary{list-style:none;display:flex;align-items:center;gap:8px;padding:8px 4px;font-weight:600;cursor:pointer;color:var(--ib-ink)}
.mobile-navigation summary::-webkit-details-marker{display:none}
.ib-burger,.ib-burger::before,.ib-burger::after{display:inline-block;width:18px;height:2px;background:currentColor;position:relative}
.ib-burger::before,.ib-burger::after{content:"";position:absolute;left:0}.ib-burger::before{top:-6px}.ib-burger::after{top:6px}

/* ==========================================================================
   6. Article
   ========================================================================== */
.breadcrumbs{margin:0 0 18px;font-size:13.5px;line-height:1.5;color:var(--ib-muted)}
.breadcrumbs a{color:var(--ib-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--ib-blue);text-decoration:underline}
.entry-header{margin-bottom:24px}
.entry-title{margin-bottom:16px}
.entry-meta{font-size:14.5px;color:var(--ib-muted);line-height:1.6}
.entry-meta a{color:var(--ib-ink);font-weight:600;text-decoration:none}.entry-meta a:hover{color:var(--ib-blue)}
.updated-date{display:inline-block;margin-left:14px;padding-left:14px;border-left:1px solid var(--ib-line-2)}
.featured-image{margin:0 0 32px}.featured-image img{display:block;width:100%;height:auto;border-radius:var(--ib-radius)}

.entry-content{display:flow-root;font-size:18px;line-height:1.75}
.entry-content>:first-child,.entry-content .elementor-widget-container>:first-child{margin-top:0}
.entry-content h2{margin-top:1.9em;padding-top:.2em}
.entry-content h3{margin-top:1.6em}
.entry-content h4{margin-top:1.4em}
.entry-content p,.entry-content li{color:var(--ib-text)}
.entry-content a:not(.button):not(.su-button):not([class*=ib-pc]){font-weight:500}
.entry-content img{border-radius:var(--ib-radius-sm)}
/* Lists */
.entry-content ul:not([class]){list-style:none;padding-left:0}
.entry-content ul:not([class])>li{position:relative;padding-left:1.55em}
.entry-content ul:not([class])>li::before{content:"";position:absolute;left:.35em;top:.72em;width:.42em;height:.42em;border-radius:50%;background:var(--ib-blue-2);box-shadow:0 0 0 3px var(--ib-ice-soft)}
.entry-content ol:not([class]){padding-left:0;list-style:none;counter-reset:ib-ol}
.entry-content ol:not([class])>li{position:relative;padding-left:2.2em;counter-increment:ib-ol}
.entry-content ol:not([class])>li::before{content:counter(ib-ol);position:absolute;left:0;top:.18em;width:1.55em;height:1.55em;border-radius:50%;background:var(--ib-ice-soft);color:var(--ib-blue);font:700 .78em/1.55em var(--ib-font);text-align:center}
.entry-content li>ul,.entry-content li>ol{margin:.5em 0 .3em}
/* Quotes, code, captions */
.entry-content blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:4px solid var(--ib-blue-2);font-size:1.12em;line-height:1.6;color:var(--ib-ink)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content pre{overflow:auto;padding:16px;background:var(--ib-surface);border-radius:var(--ib-radius-sm);font-size:15px}
.entry-content code{font-size:.9em;background:var(--ib-surface);padding:.1em .35em;border-radius:4px}
.wp-caption{max-width:100%}.wp-caption-text,figcaption{color:var(--ib-muted);font-size:14.5px;line-height:1.5;margin-top:10px;text-align:center}
.aligncenter{display:block;margin-left:auto;margin-right:auto}.alignleft{float:left;margin:4px 26px 18px 0}.alignright{float:right;margin:4px 0 18px 26px}
.entry-content iframe,.entry-content video,.entry-content embed{max-width:100%}

/* Tables (core, TablePress, Shortcodes Ultimate). Selectors are doubled up to beat su-table's own !important rules. */
.entry-content table:not([class]),.entry-content .su-table table,.entry-content .tablepress{width:100%;border-collapse:separate;border-spacing:0;margin:1.8em 0;font-size:15px;line-height:1.5;border:1px solid var(--ib-line-2)!important;border-radius:var(--ib-radius-sm);overflow:hidden;background:#fff}
.entry-content table:not([class]) th,.entry-content table:not([class]) td,.entry-content .su-table table th,.entry-content .su-table table td,.entry-content .tablepress th,.entry-content .tablepress td{padding:11px 13px!important;text-align:left;vertical-align:top;border:0!important;border-bottom:1px solid var(--ib-line)!important;background:transparent!important}
.entry-content table:not([class]) thead th,.entry-content .su-table table thead th,.entry-content .tablepress thead th,.entry-content table:not([class]) tr:first-child th{background:var(--ib-navy)!important;color:#fff!important;font-weight:650;font-size:14px;letter-spacing:.01em}
.entry-content table:not([class]) tbody tr:nth-child(even) td,.entry-content .su-table table tbody tr:nth-child(even) td,.entry-content .tablepress .even td{background:var(--ib-surface)!important}
.entry-content table:not([class]) tbody tr:last-child td,.entry-content .su-table table tbody tr:last-child td{border-bottom:0!important}
.entry-content table:not([class]) td:first-child,.entry-content .su-table table td:first-child{font-weight:600;color:var(--ib-ink)}
.entry-content .su-table{margin:0!important;background:none!important;border:0!important}.entry-content .su-table table{margin:1.8em 0!important}
/* Content components */
.shortbox,.su-box,.su-note{clear:both;margin:1.8em 0!important;padding:20px 22px!important;border:1px solid var(--ib-line)!important;border-left:4px solid var(--ib-blue-2)!important;border-radius:var(--ib-radius-sm)!important;background:var(--ib-surface)!important;box-shadow:none!important}
.shortbox p:last-child,.su-note p:last-child{margin-bottom:0}
.su-box-title{background:none!important;color:var(--ib-ink)!important;font:700 18px/1.3 var(--ib-font-head)!important;padding:0 0 8px!important;border:0!important}
.su-box-content{padding:0!important;background:none!important}
.su-note-inner{background:none!important;border:0!important;padding:0!important;color:var(--ib-text)!important}
.disc{font-size:14px;color:var(--ib-muted);padding:12px 16px;margin:0 0 26px;background:var(--ib-surface);border-radius:var(--ib-radius-sm)}
.faqs{clear:both;margin:2em 0;border-top:1px solid var(--ib-line)}
.faqs h4{position:relative;margin:0;padding:20px 0 8px 36px;font-size:1.2rem}
.faqs h4::before{content:"Q";position:absolute;left:0;top:19px;width:26px;height:26px;border-radius:50%;background:var(--ib-blue);color:#fff;font:700 14px/26px var(--ib-font);text-align:center}
.faqs h4+*{padding-left:36px}.faqs p{margin-bottom:.8em}
.threecol_one,.threecol_one_last,.threecol_two_last,.fourcol_one,.fourcol_one_last{float:left;position:relative;margin-bottom:20px}
.threecol_one,.threecol_one_last{width:30.666%}.threecol_one,.fourcol_one{margin-right:4%}.threecol_two_last{width:65.333%}.fourcol_one,.fourcol_one_last{width:22%}
.threecol_one_last,.threecol_two_last,.fourcol_one_last{margin-right:0}
/* Table of contents plugin */
#ez-toc-container{background:var(--ib-surface)!important;border:1px solid var(--ib-line)!important;border-radius:var(--ib-radius)!important;padding:18px 22px!important;box-shadow:none!important;margin:1.6em 0!important;width:100%!important}
#ez-toc-container .ez-toc-title{font:700 17px/1.3 var(--ib-font-head)!important;color:var(--ib-ink)!important}
#ez-toc-container ul li{padding-left:0!important}#ez-toc-container ul li::before{display:none!important}
#ez-toc-container a{font-size:15.5px;font-weight:500;text-decoration:none!important;color:var(--ib-blue)!important}

/* Author box, related */
.author-box{display:flex;align-items:flex-start;gap:18px;margin-top:44px;padding:24px;background:var(--ib-surface);border:1px solid var(--ib-line);border-radius:var(--ib-radius)}
.author-box img,.archive-author img{border-radius:50%;flex:0 0 72px;width:72px;height:72px;object-fit:cover}
.author-box h2{font-size:21px;margin:0 0 6px}.author-box h2 a{color:var(--ib-ink);text-decoration:none}
.author-box p{font-size:16px;line-height:1.6;margin-bottom:10px;color:var(--ib-text)}.author-box>div>a:last-child{font-size:15px;font-weight:600}
.related-posts{margin-top:52px}.related-posts h2{font-size:1.6rem;margin-bottom:20px}

/* Pagination, comments */
.pagination,.page-links{margin-top:40px}.nav-links{display:flex;flex-wrap:wrap;gap:8px}
.page-numbers{min-width:42px;text-align:center;border:1px solid var(--ib-line-2);border-radius:var(--ib-radius-sm);padding:8px 14px;font-weight:600;text-decoration:none;color:var(--ib-ink)}
.page-numbers:hover{border-color:var(--ib-blue);color:var(--ib-blue)}.page-numbers.current{background:var(--ib-blue);border-color:var(--ib-blue);color:#fff}
.comments-area{padding-top:44px}.comment-list{padding:0;list-style:none}.comment-list .children{padding-left:24px;list-style:none}
.comment-list li::before{display:none}
.comment-body{border-bottom:1px solid var(--ib-line);padding:20px 0;font-size:16px}.comment-author img{border-radius:50%;margin-right:10px}
.comment-metadata{font-size:13px;margin:8px 0}.comment-metadata a{color:var(--ib-muted)}.comment-content p:last-child{margin-bottom:0}
.comment-reply-title{font-size:24px;margin-top:32px}.comment-form label{display:block;font-size:15px}.comment-form input:not([type=checkbox]):not([type=submit]){width:100%}

/* ==========================================================================
   7. Single post + sidebar (Mediavine targets .leftside .elementor-widget-wrap)
   ========================================================================== */
.single-post .site{max-width:var(--ib-wrap)}
.ib-single-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:44px;align-items:stretch}
.ib-single-layout .editorial-article,.ib-single-layout .comments-area{max-width:780px;margin:0}
.ib-sidebar{min-width:0;margin:40px 0 72px;padding-left:28px;border-left:1px solid var(--ib-line)}
.ib-sidebar .elementor-widget-wrap{display:flex;flex-direction:column;gap:34px;height:100%}
/* Mediavine rewrites the wrapper's display, so spacing must not depend on flex gap */
.ib-sidebar .ib-widget{display:block;margin:0 0 34px}.ib-sidebar .ib-widget:last-child{margin-bottom:0}
.ib-widget-title{font:700 14px/1.3 var(--ib-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ib-ink);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--ib-ink)}
.ib-side-list{list-style:none;margin:0;padding:0}.ib-side-list li{margin:0;padding:11px 0;border-bottom:1px solid var(--ib-line);font-size:15.5px;line-height:1.45}
.ib-side-list a,.ib-side-cards a{text-decoration:none;color:var(--ib-ink);font-weight:600}.ib-side-list a:hover,.ib-side-cards a:hover span{color:var(--ib-blue)}
.ib-side-cards{list-style:none;margin:0;padding:0;display:grid;gap:14px}.ib-side-cards li{margin:0}
.ib-side-cards a{display:flex;gap:12px;align-items:center;font-size:15px;line-height:1.35}
.ib-side-cards img{width:68px;height:68px;object-fit:cover;border-radius:var(--ib-radius-sm);flex:0 0 68px}

/* ==========================================================================
   8. Cards and grids
   ========================================================================== */
.ib-grid{display:grid;gap:28px}
.ib-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ib-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ib-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ib-card{margin:0;min-width:0}
.ib-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ib-ink)}
.ib-card__media{display:block;aspect-ratio:3/2;border-radius:var(--ib-radius);overflow:hidden;background:linear-gradient(135deg,var(--ib-surface),var(--ib-ice-soft))}
.ib-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.ib-card__link:hover img{transform:scale(1.035)}
.ib-card__body{padding:14px 2px 0}
.ib-kicker{display:block;font:700 12px/1.3 var(--ib-font);letter-spacing:.09em;text-transform:uppercase;color:var(--ib-blue);margin-bottom:7px}
.ib-card__title{font-family:var(--ib-font-head);font-size:1.22rem;line-height:1.25;font-weight:700;margin:0;color:var(--ib-ink)}
.ib-card__link:hover .ib-card__title{color:var(--ib-blue)}
.ib-card--text .ib-card__link{padding:22px 22px 24px;border:1px solid var(--ib-line);border-radius:var(--ib-radius);background:var(--ib-surface);transition:border-color .2s}
.ib-card--text .ib-card__link:hover{border-color:var(--ib-blue-2)}
.ib-card--text .ib-card__body{padding:0}
.ib-card--text .ib-card__body::before{content:"";display:block;width:34px;height:4px;border-radius:2px;background:var(--ib-blue-2);margin-bottom:16px}
.ib-card--large .ib-card__media{aspect-ratio:16/9}.ib-card--large .ib-card__title{font-size:clamp(1.4rem,2.3vw,1.85rem);line-height:1.15;font-weight:800}

/* ==========================================================================
   9. Homepage
   ========================================================================== */
.home .site-main{margin-top:24px}
.ib-hero{position:relative;border-radius:16px;overflow:hidden;color:#fff;background:radial-gradient(120% 140% at 85% 20%,var(--ib-blue-2) 0%,var(--ib-navy-2) 45%,var(--ib-navy) 100%);min-height:460px;display:flex;align-items:center}
.ib-hero--image{background:linear-gradient(90deg,var(--ib-navy) 0%,rgba(11,34,54,.93) 32%,rgba(11,34,54,.55) 60%,rgba(11,34,54,.12) 100%),var(--ib-hero) center/cover no-repeat,var(--ib-navy)}
.ib-hero__inner{padding:60px 60px 64px;max-width:720px;width:100%;min-width:0}
.ib-hero .ib-eyebrow{color:var(--ib-ice)}
.ib-hero h1{color:#fff;font-size:clamp(2.4rem,4.8vw,3.9rem);line-height:1.02;letter-spacing:-.01em;margin:0 0 18px}
.ib-hero__lede{font-size:19px;line-height:1.6;color:#d6e4ef;margin:0 0 28px;max-width:580px}
.ib-hero__search{display:flex;max-width:600px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.ib-hero__search input{flex:1;border:0!important;font-size:17px;padding:12px 14px!important;background:transparent!important}
.ib-hero__search input:focus{outline:none}.ib-hero__search:focus-within{outline:3px solid var(--ib-ice);outline-offset:3px}
.ib-hero__search button{border-radius:9px;padding:12px 24px;font-size:16px}
.ib-hero__quick{margin:18px 0 0;font-size:14px;display:flex;flex-wrap:nowrap;gap:8px;align-items:center;width:max-content;max-width:none}
.ib-hero__quick a,.ib-hero__quick span{flex:0 0 auto;white-space:nowrap}
.ib-hero__quick span{color:#a9c4d9;font-weight:600;margin-right:4px}
.ib-hero__quick a{color:#fff;font-weight:500;text-decoration:none;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 13px;background:rgba(255,255,255,.08)}
.ib-hero__quick a:hover{background:rgba(255,255,255,.18);color:#fff}
.ib-stats{list-style:none;margin:-36px 36px 0;padding:22px 10px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--ib-radius);box-shadow:var(--ib-shadow);border:1px solid var(--ib-line)}
.ib-stats li{margin:0;padding:2px 22px;border-left:1px solid var(--ib-line);display:flex;flex-direction:column;gap:2px}.ib-stats li:first-child{border-left:0}
.ib-stats li::before{display:none}
.ib-stats strong{font:800 32px/1.05 var(--ib-font-head);color:var(--ib-navy)}.ib-stats span{font-size:14px;color:var(--ib-muted)}
.ib-section{margin:76px 0 0}
.ib-section__head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 20px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--ib-line)}
.ib-section__head h2{margin:0;font-size:clamp(1.7rem,2.8vw,2.2rem);font-weight:800}
.ib-section__head p{margin:0 0 3px;color:var(--ib-muted);font-size:16px;flex:1 1 280px}
.ib-more{margin-left:auto;font-size:15px;font-weight:650;text-decoration:none;white-space:nowrap}.ib-more:hover{text-decoration:underline}
.ib-band{background:var(--ib-surface);border:1px solid var(--ib-line);border-radius:16px;padding:38px}
.ib-band .ib-section__head{border-bottom-color:var(--ib-line-2)}
/* Pillars */
.ib-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ib-pillar{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--ib-radius);overflow:hidden;color:#fff;text-decoration:none;background:var(--ib-navy-2);isolation:isolate}
.ib-pillar__media{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .55s ease;z-index:-2}
.ib-pillar::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,34,54,0) 30%,rgba(11,34,54,.88) 100%);z-index:-1}
.ib-pillar:hover .ib-pillar__media{transform:scale(1.05)}
.ib-pillar__text{position:absolute;left:20px;right:20px;bottom:16px;display:flex;flex-direction:column;gap:2px}
.ib-pillar__text strong{font:800 24px/1.1 var(--ib-font-head);color:#fff}
.ib-pillar__text span{font-size:14px;color:#d6e4ef;line-height:1.4}
.ib-pillar:hover{color:#fff}
/* Most read */
.ib-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.ib-feature__list{list-style:none;margin:0;padding:0}
.ib-feature__list li{display:flex;gap:16px;align-items:flex-start;margin:0;padding:14px 0;border-bottom:1px solid var(--ib-line)}
.ib-feature__list li::before{display:none}
.ib-feature__list li:first-child{padding-top:2px}
.ib-rank{flex:0 0 32px;font:800 28px/1 var(--ib-font-head);color:var(--ib-ice)}
.ib-feature__list a{font:700 1.15rem/1.3 var(--ib-font-head);color:var(--ib-ink);text-decoration:none}.ib-feature__list a:hover{color:var(--ib-blue)}
/* Calculators */
.ib-calcs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ib-calcs li{margin:0}.ib-calcs li::before{display:none}
.ib-calcs a{display:flex;align-items:center;gap:12px;height:100%;padding:14px 16px;background:#fff;border:1px solid var(--ib-line);border-radius:10px;font-size:15px;font-weight:650;line-height:1.3;color:var(--ib-ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.ib-calcs a:hover{border-color:var(--ib-blue-2);box-shadow:var(--ib-shadow);color:var(--ib-blue);transform:translateY(-1px)}
.ib-calcs__icon{flex:0 0 36px;height:36px;border-radius:9px;background:var(--ib-ice-soft);position:relative}
.ib-calcs__icon::before{content:"";position:absolute;inset:8px;background:var(--ib-blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm1 3v4h10V5H7zm0 7v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v6h2v-6h-2zm-8 4v2h2v-2H7zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm1 3v4h10V5H7zm0 7v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v6h2v-6h-2zm-8 4v2h2v-2H7zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E") center/contain no-repeat}
.ib-calcs-all{margin-top:20px}.ib-calcs-all summary{cursor:pointer;font-weight:650;color:var(--ib-blue);display:inline-block}
.ib-calcs-all ul{columns:3;column-gap:30px;margin:16px 0 0;padding:0;list-style:none}.ib-calcs-all li{break-inside:avoid;font-size:15px;margin:0 0 8px}.ib-calcs-all li::before{display:none}
/* Trust */
.ib-trust{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:52px;padding:44px;border-radius:16px;background:var(--ib-navy);color:#c9d9e6}
.ib-trust h2{color:#fff;font-size:clamp(1.7rem,2.8vw,2.2rem);font-weight:800}
.ib-trust p{font-size:17px;line-height:1.7}.ib-trust .ib-more{color:var(--ib-ice);margin-left:0}
.ib-trust__authors h3{font:700 13px/1.3 var(--ib-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ib-ice);margin:0 0 18px}
.ib-authors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ib-authors li{margin:0}.ib-authors li::before{display:none}
.ib-authors a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:600;font-size:16px}
.ib-authors img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.25)}
.ib-authors a:hover span{text-decoration:underline}
/* Legacy helpers used by the 404 template */
.guide-links{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.guide-links li,.calculator-links li{margin:0;border-bottom:1px solid var(--ib-line)}.guide-links li::before,.calculator-links li::before{display:none}
.guide-links a{display:block;padding:12px 0;font-size:17px;font-weight:600;text-decoration:none}
.calculator-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;padding:0;margin:20px 0 0}
.calculator-links a{display:block;padding:10px 0;font-size:15.5px;text-decoration:none}
.not-found .search-form{max-width:520px;margin:26px 0}

/* ==========================================================================
   10. Hubs and archives
   ========================================================================== */
.ib-hub-hero{margin:0 0 36px;padding:36px 40px;border-radius:16px;background:linear-gradient(135deg,var(--ib-surface),var(--ib-ice-soft));border:1px solid var(--ib-line)}
.ib-hub-hero h1{margin:0 0 12px;font-size:clamp(2.2rem,4.4vw,3.1rem)}
.ib-hub-hero__desc{max-width:820px;font-size:17px;color:var(--ib-text)}.ib-hub-hero__desc p:last-child{margin-bottom:0}
.ib-hub-hero .breadcrumbs{margin-bottom:12px}.ib-hub-hero .search-form{max-width:560px;margin-top:16px}
.ib-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ib-chip{padding:7px 15px;border-radius:999px;background:#fff;border:1px solid var(--ib-line-2);font-size:14px;font-weight:600;color:var(--ib-ink);text-decoration:none}
.ib-chip:hover{border-color:var(--ib-blue);color:var(--ib-blue)}
.ib-chip.is-current{background:var(--ib-navy);border-color:var(--ib-navy);color:#fff}
.ib-hub-featured{margin-bottom:40px}
.archive-author{display:flex;gap:24px;align-items:flex-start}.archive-author img{flex-basis:96px;width:96px;height:96px}
.archive-author p{font-size:17px}.archive-author h1{margin-bottom:12px}
.no-results{max-width:640px}

/* ==========================================================================
   11. Footer
   ========================================================================== */
.ib-footer{margin-top:88px;background:var(--ib-navy);color:#b7c9d8}
.ib-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr;gap:40px;padding:60px var(--ib-gutter) 44px}
.ib-footer__brand img{filter:brightness(0) invert(1);width:150px;height:auto}
.ib-footer__brand p{margin:16px 0 0;font-size:15px;line-height:1.6;color:#b7c9d8;max-width:300px}
.ib-footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.ib-footer__col h2{font:700 13px/1.3 var(--ib-font);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;color:#fff}
.ib-footer__col a{display:block;padding:5px 0;font-size:15px;line-height:1.4;font-weight:500;color:#d6e4ef;text-decoration:none}
.ib-footer__col a:hover{color:#fff;text-decoration:underline}
.ib-footer__bar{border-top:1px solid rgba(255,255,255,.12);padding:18px var(--ib-gutter)}
.ib-footer__bar p{margin:0;font-size:13.5px;color:#8fa6b8}

/* ==========================================================================
   12. Responsive
   ========================================================================== */
@media(max-width:1180px){.header-search{display:none}}
@media(max-width:1024px){
  .ib-pillars,.ib-grid--4,.ib-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ib-calcs{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-calcs-all ul{columns:2}
  .ib-feature,.ib-trust{grid-template-columns:1fr}.ib-trust{gap:32px}
  .ib-footer__grid{grid-template-columns:1fr 1fr}
  .ib-stats{grid-template-columns:repeat(2,1fr);row-gap:16px}.ib-stats li:nth-child(3){border-left:0}
}
@media(max-width:900px){
  .ib-hero__quick{width:auto;max-width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .ib-hero__quick::-webkit-scrollbar{display:none}
}
@media(max-width:1000px){
  .desktop-navigation{display:none}
  .inside-header{position:relative;justify-content:space-between;padding:12px 20px}
  .mobile-navigation{display:block;margin-left:auto}
  .mobile-navigation nav{position:absolute;left:0;right:0;top:100%;z-index:30;padding:14px 20px 18px;background:#fff;border-bottom:1px solid var(--ib-line);box-shadow:0 10px 16px rgba(0,0,0,.06);display:flex;flex-direction:column}
  .mobile-navigation nav>a{padding:12px 0;border-bottom:1px solid var(--ib-line);text-decoration:none;font-weight:600;color:var(--ib-ink)}
  .mobile-navigation .search-form{margin:4px 0 8px}
}
@media(max-width:991px){
  .ib-single-layout{display:block}
  .ib-sidebar{border-left:0;padding-left:0;margin-top:0;border-top:1px solid var(--ib-line);padding-top:28px}
  .ib-single-layout .editorial-article{margin:0 auto}
}
@media(max-width:700px){
  :root{--ib-gutter:18px}
  .entry-content table:not([class]),.entry-content .su-table table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body,.entry-content{font-size:17px}
  .site-main{margin:24px 0 52px}
  .updated-date{display:block;margin:4px 0 0;padding:0;border:0}
  .ib-hero{min-height:0;border-radius:var(--ib-radius)}.ib-hero__inner{padding:34px 22px 38px}
  .ib-hero__lede{font-size:17px}.ib-hero__search button{padding:12px 16px}
  .ib-stats{margin:14px 0 0}.ib-stats strong{font-size:26px}.ib-stats li{padding:2px 14px}
  .ib-section{margin-top:52px}
  .ib-band,.ib-trust,.ib-hub-hero{padding:24px 20px;border-radius:var(--ib-radius)}
  .ib-pillars{grid-template-columns:1fr 1fr;gap:10px}.ib-pillar{aspect-ratio:1/1}
  .ib-pillar__text{left:12px;right:12px;bottom:12px}.ib-pillar__text strong{font-size:18px}.ib-pillar__text span{display:none}
  .ib-grid--4,.ib-grid--3,.ib-grid--2{grid-template-columns:1fr}
  .ib-calcs{grid-template-columns:1fr}.ib-calcs-all ul{columns:1}
  .ib-authors{grid-template-columns:1fr}
  .ib-footer__grid{grid-template-columns:1fr 1fr;gap:28px;padding:40px var(--ib-gutter) 28px}.ib-footer__brand{grid-column:1/-1}
  .ib-more{margin-left:0}
  .guide-links,.calculator-links{grid-template-columns:1fr}
  .author-box{padding:20px;gap:14px}.author-box img{width:56px;height:56px;flex-basis:56px}
  .archive-author{gap:16px}.archive-author img{width:64px;height:64px;flex-basis:64px}
  .alignleft,.alignright{float:none;display:block;margin:20px auto}
  .threecol_one,.threecol_one_last,.threecol_two_last,.fourcol_one,.fourcol_one_last{float:none;width:100%;margin:0 0 20px}
  .entry-content table:not([class]) th,.entry-content table:not([class]) td{padding:10px!important}
}
