/*
Theme Name: FosterIdea Coral Reef Layers V3
Theme URI: https://fosteridea.com/
Author: FosterIdea
Description: Premium Business/Startup theme with descending solid depth layers, unique SVG wave transitions, reef-height pillar cards and curved resource imagery.
Version: 3.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: fosteridea
*/
:root{
 --aqua:#7FE3E8;
 --teal:#1FA8B0;
 --mid:#116C8A;
 --navy:#0A2E45;
 --deep:#08283C;
 --abyss:#061E2E;
 --coral:#FF6B57;
 --sand:#FFE7C2;
 --foam:#F4FEFF;
 --muted:#5E7884;
 --wrap:1260px;
 --display:ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;
 --body:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--abyss);color:var(--navy);font-family:var(--body);overflow-x:clip}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:clip;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fi-skip{position:absolute;left:12px;top:8px;z-index:9999;background:var(--coral);color:#fff;padding:10px 14px;transform:translateY(-180%)}
.fi-skip:focus{transform:none}

/* Header */
.fi-header{background:var(--foam);border-bottom:1px solid rgba(10,46,69,.10)}
.fi-head{max-width:var(--wrap);min-height:88px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:255px minmax(0,1fr) 242px;gap:22px;align-items:center}
.fi-brand img{width:238px;height:48px;object-fit:contain;object-position:left center}
.fi-nav ul{display:flex;align-items:center;justify-content:center;gap:4px;list-style:none;margin:0;padding:0}
.fi-nav a{display:flex;align-items:center;min-height:42px;padding:0 9px;font-size:12px;font-weight:800;white-space:nowrap;color:var(--navy)}
.fi-nav a:hover,.fi-nav .current-menu-item>a{color:var(--coral)}
.fi-search{height:44px;display:grid;grid-template-columns:minmax(0,1fr) 44px;border:2px solid rgba(10,46,69,.20);background:#fff;border-radius:999px;overflow:hidden}
.fi-search input{width:100%;min-width:0;height:40px;border:0;background:transparent;padding:0 13px;outline:0;color:var(--navy);font-size:12.5px}
.fi-search button{width:44px;height:40px;border:0;border-left:1px solid rgba(10,46,69,.10);background:var(--coral);color:#fff;font-weight:900}
.fi-trust{border-top:1px solid rgba(10,46,69,.06)}
.fi-trust-inner{max-width:var(--wrap);margin:0 auto;padding:8px 22px;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#527384}

.fi-layer-inner{max-width:var(--wrap);margin:0 auto;padding-left:22px;padding-right:22px}
.fi-kicker{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--coral)}
.fi-section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:34px}
.fi-section-head h2{font-family:var(--display);font-size:48px;line-height:.95;letter-spacing:-.04em;margin:6px 0 0;font-weight:700}
.fi-section-head p,.fi-section-head>a{margin:0;line-height:1.65}
.fi-section-head>a{justify-self:end;font-weight:800}

/* Waves */
.fi-wave{margin:0 calc(50% - 50vw);line-height:0;overflow:hidden;position:relative;z-index:5}
.fi-wave svg{display:block;width:100%;height:96px}
.fi-wave.compact svg{height:78px}
.fi-wave.footer-wave svg{height:90px}
.fi-wave path{shape-rendering:geometricPrecision}

/* HERO - Surface Aqua */
.fi-hero-layer{background:var(--aqua);color:var(--navy)}
.fi-hero{max-width:var(--wrap);margin:0 auto;min-height:680px;padding:68px 22px 78px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);gap:60px;align-items:center}
.fi-hero h1{font-family:var(--display);font-size:58px;line-height:.93;letter-spacing:-.045em;margin:10px 0 20px;font-weight:700;max-width:700px;color:var(--navy)}
.fi-hero p{font-size:18px;line-height:1.68;max-width:625px;margin:0 0 27px;color:#164D61}
.fi-actions{display:flex;gap:12px;flex-wrap:wrap}
.fi-btn{min-height:48px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.fi-btn.coral{background:var(--coral);color:#fff}
.fi-btn.outline{border:2px solid var(--navy);color:var(--navy);background:transparent}
.fi-btn:hover{transform:translateY(-1px)}

.fi-hero-visual{position:relative;background:rgba(244,254,255,.32);padding:10px 10px 24px;border-radius:42px 42px 56px 56px;overflow:hidden}
.fi-hero-visual img{width:100%;height:420px;object-fit:cover;border-radius:34px 34px 50px 50px}
.fi-hero-visual:after{
 content:"";position:absolute;left:-4%;right:-4%;bottom:-40px;height:96px;
 background:var(--aqua);border-radius:48% 52% 0 0 / 66% 56% 0 0;transform:rotate(-2.5deg)
}
.fi-hero-meta{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:11px 5px 0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#23566A}

/* STATS - Shallow Teal */
.fi-stats-layer{background:var(--teal);color:var(--foam);padding:44px 0 58px}
.fi-stats{max-width:var(--wrap);margin:0 auto;padding:0 22px;display:grid;grid-template-columns:repeat(4,1fr)}
.fi-stat{padding:18px;text-align:center;position:relative}
.fi-stat:not(:last-child):after{content:"";position:absolute;right:0;top:18%;bottom:18%;width:1px;background:rgba(244,254,255,.24)}
.fi-bubble{width:18px;height:18px;border-radius:50%;background:var(--coral);margin:0 auto 12px}
.fi-stat strong{display:block;font-family:var(--display);font-size:54px;line-height:.94;font-weight:700;color:var(--foam)}
.fi-stat:nth-child(3) strong{color:var(--sand)}
.fi-stat span{display:block;margin-top:8px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#EAFDFF}

/* PILLARS - Mid Ocean */
.fi-pillars-layer{background:var(--mid);color:var(--foam);padding:52px 0 92px}
.fi-pillars-layer .fi-section-head h2{color:var(--foam)}
.fi-pillars-layer .fi-section-head p{color:#D7F1F5}
.fi-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:end;padding-top:28px}
.fi-pillar{
 position:relative;background:var(--foam);color:var(--navy);min-height:328px;
 padding:74px 24px 28px;overflow:hidden
}
.fi-pillar:nth-child(1){transform:translateY(32px);border-radius:46px 24px 26px 26px}
.fi-pillar:nth-child(2){transform:translateY(4px);border-radius:26px 58px 26px 26px}
.fi-pillar:nth-child(3){transform:translateY(18px);border-radius:62px 30px 26px 26px}
.fi-pillar:nth-child(4){transform:translateY(40px);border-radius:28px 66px 26px 26px}
.fi-pillar:before{
 content:"";position:absolute;left:-10%;right:-10%;top:-48px;height:92px;background:rgba(17,108,138,.11);
 border-radius:46% 54% 44% 56% / 74% 62% 38% 26%
}
.fi-pillar-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font-family:var(--display);font-size:20px;font-weight:800;margin-bottom:22px}
.fi-pillar h3{font-family:var(--display);font-size:28px;line-height:1.04;margin:0 0 10px;font-weight:700;color:var(--navy)}
.fi-pillar p{margin:0;color:#526D7A;line-height:1.56}

/* RESOURCES - Deep Navy */
.fi-resources-layer{background:var(--navy);color:var(--foam);padding:56px 0 98px}
.fi-resources-layer .fi-section-head h2{color:var(--foam)}
.fi-resources-layer .fi-section-head p{color:#BDD4DD}
.fi-resources-layer .fi-section-head>a{color:var(--sand)}
.fi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}
.fi-card{position:relative;background:var(--foam);color:var(--navy);border-radius:20px;overflow:hidden;box-shadow:0 14px 28px rgba(0,0,0,.10)}
.fi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sand);z-index:5;transition:background .18s ease}
.fi-card:hover:before{background:var(--coral)}
.fi-media{position:relative;padding:10px 10px 0}
.fi-media img{width:100%;height:224px;object-fit:cover;border-radius:16px 16px 42px 16px}
.fi-media:after{
 content:"";position:absolute;left:10px;right:10px;bottom:-20px;height:38px;background:var(--foam);
 border-radius:52% 48% 0 0 / 74% 56% 0 0;transform:rotate(-1.7deg)
}
.fi-card-body{position:relative;z-index:2;padding:30px 20px 23px}
.fi-cat{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.fi-card h3{font-family:var(--display);font-size:24px;line-height:1.08;letter-spacing:-.03em;margin:8px 0 9px;font-weight:700;color:var(--navy)}
.fi-card p{margin:0;color:#607986;line-height:1.52}
.fi-card-meta{margin-top:12px;font-size:11px;color:#79909A}

/* STATEMENT - Deepest content */
.fi-band-layer{background:var(--deep);color:var(--foam);padding:76px 0 88px}
.fi-band{max-width:var(--wrap);margin:0 auto;padding:0 22px;display:grid;grid-template-columns:.24fr 1.76fr;gap:42px;align-items:start}
.fi-band-no{font-family:var(--display);font-size:66px;line-height:.9;font-weight:700;color:var(--coral)}
.fi-band strong{display:block;font-family:var(--display);font-size:50px;line-height:.99;letter-spacing:-.04em;font-weight:700;color:var(--sand);max-width:970px}
.fi-band span{display:block;margin-top:13px;max-width:780px;line-height:1.66;color:#C6DCE4}
.fi-band-line{width:118px;height:5px;background:var(--coral);border-radius:999px;margin-top:24px}
.fi-older{display:flex;justify-content:center;margin-top:46px}
.fi-older a{min-height:48px;padding:0 20px;border-radius:999px;background:var(--coral);color:#fff;display:inline-flex;align-items:center;font-weight:800}

/* ARTICLE */
.fi-article-shell{background:var(--mid);padding:48px 0 92px}
.fi-article{max-width:920px;margin:0 auto;padding:0 22px}
.fi-article-head,.fi-article-body{background:var(--foam);color:var(--navy);border-radius:22px}
.fi-article-head{padding:30px 32px;margin-bottom:20px}
.fi-breadcrumb{font-size:12px;color:var(--coral);margin-bottom:18px}
.fi-article h1{font-family:var(--display);font-size:50px;line-height:1.02;letter-spacing:-.04em;margin:6px 0 14px;font-weight:700}
.fi-meta{font-size:13px;color:#6D8792;display:flex;gap:10px;flex-wrap:wrap}
.fi-article-body{padding:30px 32px}
.fi-article-hero{margin:0 0 30px;background:#E5FAFB;padding:10px;border-radius:20px}
.fi-article-hero img{width:100%;height:470px;object-fit:cover;border-radius:16px}
.fi-keypoints{padding:18px 20px;border-left:4px solid var(--coral);background:#FFF7EA;margin-bottom:26px}
.fi-keypoints strong{display:block;color:var(--coral);margin-bottom:7px}
.entry-content{font-size:19px;line-height:1.8;color:var(--navy)}
.entry-content p{margin:0 0 1.5em;color:var(--navy)}
.entry-content h2{font-family:var(--display);font-size:32px;letter-spacing:-.025em;margin:2.2em 0 .7em;font-weight:700}
.entry-content h3{font-family:var(--display);font-size:26px;font-weight:700}
.entry-content a{color:var(--coral);text-decoration:underline;text-underline-offset:.14em}
.entry-content table{width:100%;border-collapse:collapse;font-size:16px}
.entry-content th,.entry-content td{padding:10px;border-bottom:1px solid #D3E4E8;text-align:left}
.entry-content .alignwide{width:min(1120px,calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.entry-content .alignfull{width:100%;max-width:100%}
.fi-inline-related{margin:26px 0;padding:18px;background:#ECFBFC;border-radius:16px}
.fi-inline-related-title{display:block;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.fi-inline-related ol{list-style:none;margin:0;padding:0}
.fi-inline-related li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid #D3E4E8}
.fi-inline-related li:first-child{border-top:0}
.fi-link-no{font-size:11px;font-weight:800;color:var(--mid)}
.fi-inline-related a{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.fi-author{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:22px 0;margin-top:34px;border-top:1px solid #D3E4E8}
.fi-author img{width:72px;height:72px;object-fit:cover;border-radius:50%}
.fi-related{margin-top:48px}
.fi-related h2{font-family:var(--display);font-size:34px;font-weight:700;color:var(--foam)}
.fi-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* LISTS */
.fi-list-shell{background:var(--mid);padding:44px 0 84px}
.fi-list{max-width:1000px;margin:0 auto;padding:0 22px}
.fi-list h1{font-family:var(--display);font-size:42px;font-weight:700;color:var(--foam)}
.fi-row{background:var(--foam);color:var(--navy);border-radius:18px;padding:18px 20px;margin-bottom:12px}
.fi-row h2{font-family:var(--display);font-size:24px;margin:0 0 6px;font-weight:700}
.fi-row p{margin:0;color:#607986}
.fi-row a:hover h2{color:var(--coral)}

/* FOOTER */
.fi-footer{background:var(--abyss);color:var(--foam);padding:60px 0 28px}
.fi-foot{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.fi-foot-top{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:end;padding-bottom:24px;border-bottom:1px solid rgba(244,254,255,.16)}
.fi-foot-brand img{width:245px;height:48px;object-fit:contain;object-position:left center}
.fi-foot-copy{max-width:640px;color:#C7DCE3;line-height:1.65;margin:14px 0 0}
.fi-foot-waves{display:grid;gap:7px}
.fi-foot-waves i{height:10px;border-radius:999px}
.fi-foot-waves i:nth-child(1){background:var(--aqua)}
.fi-foot-waves i:nth-child(2){background:var(--teal);width:82%}
.fi-foot-waves i:nth-child(3){background:var(--mid);width:64%}
.fi-foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:26px}
.fi-foot-grid strong{display:block;color:var(--sand);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.fi-foot-grid a{display:block;min-height:32px;color:var(--foam);font-size:15px}
.fi-foot-grid a:hover{color:var(--coral)}
.fi-copy{margin-top:24px;padding-top:15px;border-top:1px solid rgba(244,254,255,.08);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#91AEB9;font-size:11px}

:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1100px){
 .fi-head{grid-template-columns:205px 1fr 205px;gap:12px}.fi-brand img{width:195px}.fi-nav ul{gap:1px}.fi-nav a{padding:0 7px;font-size:10.9px}
 .fi-hero{grid-template-columns:1fr 1fr;gap:30px}
 .fi-pillars{grid-template-columns:1fr 1fr}
 .fi-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 .fi-head{grid-template-columns:1fr 215px;padding-top:8px;padding-bottom:8px}.fi-nav{grid-column:1/-1}.fi-nav ul{justify-content:flex-start;flex-wrap:wrap}
 .fi-hero{grid-template-columns:1fr}.fi-hero h1{font-size:48px}
 .fi-stats{grid-template-columns:1fr 1fr}
 .fi-section-head{grid-template-columns:1fr;gap:12px}.fi-section-head>a{justify-self:start}
 .fi-pillars{grid-template-columns:1fr 1fr}.fi-pillar:nth-child(n){transform:none}
 .fi-band{grid-template-columns:1fr}
 .fi-article{width:94%;padding-left:0;padding-right:0}.fi-article h1{font-size:38px}.fi-related-grid{grid-template-columns:1fr}
 .fi-foot-top{grid-template-columns:1fr}
 .fi-wave svg{height:52px}.fi-wave.compact svg{height:42px}.fi-wave.footer-wave svg{height:48px}
}
@media(max-width:560px){
 .fi-head{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.fi-search{width:100%}
 .fi-hero{padding:42px 14px 60px}.fi-hero h1{font-size:40px}
 .fi-stats,.fi-pillars,.fi-grid{grid-template-columns:1fr}
 .fi-band strong{font-size:36px}
 .fi-foot-grid{grid-template-columns:1fr 1fr}
 .entry-content .alignwide{width:100%;margin-left:0;transform:none}
}


/* Internal linking — spread related-reading groups */
.fi-inline-related{
 clear:both;
 margin:30px 0;
 padding:18px 20px;
 background:#ECFBFC;
 border-radius:16px;
 border-left:4px solid var(--coral);
}
.fi-inline-related-title{
 display:block;
 margin-bottom:9px;
 font-size:11px;
 font-weight:800;
 letter-spacing:.10em;
 text-transform:uppercase;
 color:var(--coral);
}
.fi-inline-related ol{list-style:none;margin:0;padding:0}
.fi-inline-related li{
 display:grid;
 grid-template-columns:34px minmax(0,1fr);
 gap:10px;
 align-items:start;
 padding:9px 0;
 border-top:1px solid #D3E4E8;
}
.fi-inline-related li:first-child{border-top:0}
.fi-inline-related .fi-link-no{
 font-size:11px;
 line-height:1.7;
 font-weight:800;
 color:var(--mid);
}
.fi-inline-related a{
 color:var(--navy);
 font-weight:700;
 text-decoration:none;
 overflow-wrap:anywhere;
}
.fi-inline-related a:hover{color:var(--coral);text-decoration:underline}
