/*
Theme Name: ExcellentoPolis Retro Sunburst Print V2
Theme URI: https://excellentopolis.com/
Author: ExcellentoPolis
Description: Premium Business/Startup theme inspired by 1970s print advertising with bottom-center sunbursts, arc-set pillar cards and retro poster resource panels.
Version: 2.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: excellentopolis
*/
:root{
 --orange:#D2601A;
 --mustard:#E6B325;
 --avocado:#6B8E23;
 --cocoa:#4A2C15;
 --cream:#FDF3E3;
 --brick:#A63A22;
 --muted:#745D49;
 --wrap:1260px;
 --slab:Rockwell,"Roboto Slab","Arial Black",Georgia,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(--cream);color:var(--cocoa);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}
.ex-skip{position:absolute;left:12px;top:8px;z-index:9999;background:var(--mustard);color:var(--cocoa);padding:10px 14px;transform:translateY(-180%)}
.ex-skip:focus{transform:none}

/* ===== Header ===== */
.ex-header{background:var(--cream);border-bottom:6px solid var(--cocoa)}
.ex-head{
 max-width:var(--wrap);min-height:86px;margin:0 auto;padding:0 22px;
 display:grid;grid-template-columns:255px minmax(0,1fr) 240px;gap:22px;align-items:center
}
.ex-brand img{width:238px;height:48px;object-fit:contain;object-position:left center}
.ex-nav ul{display:flex;align-items:center;justify-content:center;gap:4px;list-style:none;margin:0;padding:0}
.ex-nav a{
 display:flex;align-items:center;min-height:42px;padding:0 9px;
 font-family:var(--slab);font-size:11.5px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;
 border-bottom:4px solid transparent
}
.ex-nav a:hover,.ex-nav .current-menu-item>a{color:var(--brick);border-bottom-color:var(--mustard)}
.ex-search{
 height:44px;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;
 border:3px solid var(--cocoa);border-radius:999px;background:#fff;overflow:hidden
}
.ex-search input{width:100%;min-width:0;height:38px;border:0;background:transparent;padding:0 13px;outline:0;color:var(--cocoa);font-size:12.5px}
.ex-search button{width:41px;height:38px;border:0;border-left:3px solid var(--cocoa);background:var(--mustard);color:var(--cocoa);font-weight:900}
.ex-trust{border-top:1px solid #E3D4C0}
.ex-trust-inner{max-width:var(--wrap);margin:0 auto;padding:8px 22px;text-align:center;font-family:var(--slab);font-size:10.5px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:#735D4B}

.ex-main{max-width:var(--wrap);margin:0 auto;padding:0 22px 96px}
.ex-kicker{font-family:var(--slab);font-size:11px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:var(--brick)}
.ex-section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:34px}
.ex-section-head h2{font-family:var(--slab);font-size:48px;line-height:.94;letter-spacing:-.035em;margin:6px 0 0;font-weight:800}
.ex-section-head p,.ex-section-head>a{margin:0;color:var(--muted);line-height:1.65}
.ex-section-head>a{justify-self:end;color:var(--brick);font-weight:800}

/* ===== HERO — sunburst area 1 ===== */
.ex-hero-wrap{margin:0 calc(50% - 50vw);position:relative;overflow:hidden}
.ex-hero{
 position:relative;isolation:isolate;background:var(--orange);color:var(--cream);
 min-height:730px;padding:72px max(24px,calc((100vw - var(--wrap))/2 + 22px)) 120px;
 display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:58px;align-items:center
}
.ex-hero-rays{
 position:absolute;left:50%;bottom:-520px;width:1220px;height:1220px;transform:translateX(-50%);
 border-radius:50%;z-index:0;pointer-events:none;
 background:repeating-conic-gradient(
  from 252deg,
  rgba(230,179,37,.98) 0deg 7deg,
  rgba(210,96,26,0) 7deg 14deg,
  rgba(230,179,37,.72) 14deg 19deg,
  rgba(210,96,26,0) 19deg 29deg
 )
}
.ex-hero-fade{
 position:absolute;left:0;right:0;bottom:0;height:165px;z-index:1;pointer-events:none;
 background:linear-gradient(to top,var(--orange) 0%,rgba(210,96,26,.84) 46%,rgba(210,96,26,0) 100%)
}
.ex-hero-copy{position:relative;z-index:3;text-align:center;max-width:720px;margin:0 auto}
.ex-hero h1{
 font-family:var(--slab);font-size:60px;line-height:.91;letter-spacing:-.04em;
 margin:12px 0 20px;font-weight:800;color:var(--cream)
}
.ex-hero p{font-size:18px;line-height:1.66;max-width:650px;margin:0 auto 27px;color:#FFF0DD}
.ex-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.ex-btn{
 min-height:48px;padding:0 21px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
 border:3px solid var(--cocoa);font-family:var(--slab);font-weight:800
}
.ex-btn.mustard{background:var(--mustard);color:var(--cocoa)}
.ex-btn.cream{background:var(--cream);color:var(--cocoa)}
.ex-btn:hover{transform:translateY(-2px)}
.ex-hero-visual{
 position:relative;z-index:3;background:var(--cream);border:4px solid var(--cocoa);
 border-radius:96px 96px 18px 18px;padding:10px 10px 12px;box-shadow:12px 12px 0 rgba(74,44,21,.20)
}
.ex-hero-visual img{
 width:100%;height:400px;object-fit:cover;border-radius:82px 82px 9px 9px;
 filter:sepia(.18) saturate(1.08) contrast(1.02)
}
.ex-hero-meta{display:flex;justify-content:space-between;gap:12px;padding:11px 4px 0;font-family:var(--slab);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* ===== Record strip ===== */
.ex-record-wrap{position:relative;z-index:7;margin:-58px 60px 84px}
.ex-record{
 background:var(--cream);border:4px solid var(--cocoa);border-radius:18px;
 display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden
}
.ex-stat{padding:28px 18px;text-align:center;position:relative}
.ex-stat:not(:last-child):after{content:"";position:absolute;right:0;top:17%;bottom:17%;width:3px;background:var(--cocoa)}
.ex-half-sun{width:58px;height:32px;margin:0 auto 10px;position:relative;overflow:hidden}
.ex-half-sun:before{content:"";position:absolute;left:7px;right:7px;bottom:-18px;height:44px;border-radius:50%;background:var(--mustard);border:3px solid var(--cocoa)}
.ex-half-sun b{display:none}
.ex-stat strong{display:block;font-family:var(--slab);font-size:56px;line-height:.92;font-weight:800}
.ex-stat span{display:block;margin-top:8px;font-family:var(--slab);font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#705845}

/* ===== Core Pillars on an arc ===== */
.ex-pillars-stage{padding:26px 4px 32px;margin-bottom:78px}
.ex-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:start}
.ex-pillar{
 position:relative;min-height:310px;background:var(--cream);border:3px solid var(--cocoa);border-radius:18px;
 padding:72px 24px 28px
}
.ex-pillar:nth-child(1),.ex-pillar:nth-child(4){transform:translateY(30px)}
.ex-pillar:nth-child(2),.ex-pillar:nth-child(3){transform:translateY(-10px)}
.ex-pillar:before{
 content:"";position:absolute;left:50%;top:-36px;width:86px;height:46px;transform:translateX(-50%);
 background:var(--mustard);border:3px solid var(--cocoa);border-bottom:0;border-radius:86px 86px 0 0
}
.ex-pillar-index{font-family:var(--slab);font-size:11px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:var(--brick);margin-bottom:18px}
.ex-pillar h3{font-family:var(--slab);font-size:28px;line-height:1.04;margin:0 0 10px;font-weight:800}
.ex-pillar p{margin:0;color:var(--muted);line-height:1.55}
.ex-pillar:hover{background:#FFF8EA}

/* ===== Cocoa divider ===== */
.ex-divider{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;margin:58px 0}
.ex-divider:before,.ex-divider:after{content:"";height:6px;background:var(--cocoa)}
.ex-divider i{
 width:56px;height:56px;margin:auto;border-radius:50%;border:3px solid var(--cocoa);
 background:repeating-conic-gradient(var(--mustard) 0 8deg,var(--orange) 8deg 16deg)
}

/* ===== Retro poster grid ===== */
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 26px}
.ex-card{
 background:var(--cream);border:3px solid var(--cocoa);border-bottom-width:6px;border-radius:18px;overflow:hidden
}
.ex-media{position:relative;padding:10px 10px 0}
.ex-media-frame{
 position:relative;overflow:hidden;
 border-radius:50% 50% 12px 12px/28% 28% 12px 12px
}
.ex-media-frame img{width:100%;height:232px;object-fit:cover;filter:saturate(.84) contrast(1.05)}
.ex-media-frame:after{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(230,179,37,.34),rgba(210,96,26,.36));
 mix-blend-mode:multiply
}
.ex-cat{
 position:absolute;left:22px;bottom:16px;z-index:3;
 background:var(--cream);color:var(--brick);border:3px solid var(--cocoa);border-radius:999px;
 padding:7px 11px;font-family:var(--slab);font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase
}
.ex-card-body{padding:20px 20px 22px}
.ex-card h3{font-family:var(--slab);font-size:25px;line-height:1.07;letter-spacing:-.02em;margin:0 0 9px;font-weight:800}
.ex-card p{margin:0;color:var(--muted);line-height:1.5}
.ex-card-meta{margin-top:12px;font-size:11px;color:#826A58}
.ex-card:hover h3{color:var(--brick)}

/* ===== AVOCADO BAND — sunburst area 2 ===== */
.ex-band-wrap{margin:88px calc(50% - 50vw) 60px;position:relative;overflow:hidden}
.ex-band{
 position:relative;isolation:isolate;background:var(--avocado);color:var(--cream);
 padding:64px max(24px,calc((100vw - var(--wrap))/2 + 22px));overflow:hidden
}
.ex-band-rays{
 position:absolute;left:50%;top:50%;width:1120px;height:1120px;transform:translate(-50%,-50%);
 border-radius:50%;z-index:0;
 background:repeating-conic-gradient(rgba(253,243,227,.08) 0 9deg,transparent 9deg 20deg)
}
.ex-band-grid{position:relative;z-index:2;display:grid;grid-template-columns:.25fr 1.75fr;gap:40px;align-items:start}
.ex-band-no{font-family:var(--slab);font-size:66px;line-height:.9;font-weight:800;color:var(--cream)}
.ex-band strong{display:block;font-family:var(--slab);font-size:49px;line-height:.99;letter-spacing:-.03em;font-weight:800;max-width:950px;color:var(--cream)}
.ex-band span{display:block;margin-top:12px;max-width:760px;line-height:1.65;color:#F5EEDA}
.ex-older{display:flex;justify-content:center;margin-top:42px}
.ex-older a{
 min-height:48px;padding:0 20px;border:3px solid var(--cocoa);border-radius:999px;background:var(--mustard);color:var(--cocoa);
 display:inline-flex;align-items:center;font-family:var(--slab);font-weight:800
}

/* ===== Article ===== */
.ex-article{max-width:920px;margin:0 auto;padding:48px 22px 90px}
.ex-breadcrumb{font-size:12px;color:var(--brick);margin-bottom:18px}
.ex-article h1{font-family:var(--slab);font-size:50px;line-height:1.02;letter-spacing:-.03em;margin:0 0 14px;font-weight:800}
.ex-meta{font-size:13px;color:#796150;display:flex;gap:10px;flex-wrap:wrap}
.ex-article-hero{margin:28px 0 36px;border:4px solid var(--cocoa);border-radius:92px 92px 14px 14px;padding:8px;background:var(--cream)}
.ex-article-hero img{width:100%;height:470px;object-fit:cover;border-radius:78px 78px 8px 8px}
.ex-keypoints{padding:18px 20px;border:3px solid var(--cocoa);background:#FFF7E7;margin-bottom:26px}
.ex-keypoints strong{display:block;color:var(--brick);margin-bottom:7px;font-family:var(--slab)}
.entry-content{font-size:19px;line-height:1.8}
.entry-content p{margin:0 0 1.5em}
.entry-content h2{font-family:var(--slab);font-size:32px;letter-spacing:-.02em;margin:2.2em 0 .7em;font-weight:800}
.entry-content h3{font-family:var(--slab);font-size:26px;font-weight:800}
.entry-content a{color:var(--brick);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 #DCCAB3;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%}
.ex-inline-related{margin:26px 0;padding:18px;border:3px solid var(--cocoa);background:#FFF8EA}
.ex-inline-related-title{display:block;margin-bottom:10px;font-family:var(--slab);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brick)}
.ex-inline-related ol{list-style:none;margin:0;padding:0}
.ex-inline-related li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid #DDC9AF}
.ex-inline-related li:first-child{border-top:0}
.ex-link-no{font-family:var(--slab);font-size:11px;font-weight:800;color:var(--brick)}
.ex-inline-related a{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.ex-author{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:22px 0;margin-top:34px;border-top:6px solid var(--cocoa);border-bottom:1px solid #DCCAB3}
.ex-author img{width:72px;height:72px;object-fit:cover;border-radius:50%;border:3px solid var(--cocoa)}
.ex-related{margin-top:48px}
.ex-related h2{font-family:var(--slab);font-size:34px;font-weight:800}
.ex-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ===== Lists ===== */
.ex-list{max-width:1000px;margin:0 auto;padding:44px 22px 82px}
.ex-list h1{font-family:var(--slab);font-size:42px;font-weight:800}
.ex-row{border-top:3px solid var(--cocoa);padding:18px 0}
.ex-row h2{font-family:var(--slab);font-size:24px;margin:0 0 6px;font-weight:800}
.ex-row p{margin:0;color:var(--muted)}
.ex-row a:hover h2{color:var(--brick)}

/* ===== FOOTER — sunburst area 3 ===== */
.ex-footer{position:relative;isolation:isolate;background:var(--cocoa);color:var(--cream);padding:64px 0 24px;overflow:hidden;border-top:8px solid var(--mustard)}
.ex-footer-rays-left,.ex-footer-rays-right{
 position:absolute;bottom:-190px;width:430px;height:430px;border-radius:50%;z-index:0;
 background:repeating-conic-gradient(rgba(230,179,37,.36) 0 9deg,transparent 9deg 20deg)
}
.ex-footer-rays-left{left:-165px}
.ex-footer-rays-right{right:-165px}
.ex-foot{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.ex-foot-top{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:end;padding-bottom:24px;border-bottom:1px solid rgba(253,243,227,.20)}
.ex-foot-brand img{width:245px;height:48px;object-fit:contain;object-position:left center}
.ex-foot-copy{max-width:640px;color:#E8D7C0;line-height:1.65;margin:14px 0 0}
.ex-foot-suns{display:flex;gap:12px;justify-content:flex-end}
.ex-foot-suns i{width:54px;height:28px;display:block;position:relative;overflow:hidden}
.ex-foot-suns i:before{content:"";position:absolute;left:7px;right:7px;bottom:-17px;height:40px;border-radius:50%;background:var(--mustard)}
.ex-foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:26px}
.ex-foot-grid strong{display:block;color:var(--mustard);font-family:var(--slab);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.ex-foot-grid a{display:block;min-height:32px;color:var(--cream);font-size:15px}
.ex-foot-grid a:hover{color:#FFD875}
.ex-copy{margin-top:24px;padding-top:15px;border-top:1px solid rgba(253,243,227,.10);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#CDBA9F;font-size:11px}

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

@media(max-width:1100px){
 .ex-head{grid-template-columns:205px 1fr 205px;gap:12px}.ex-brand img{width:195px}.ex-nav ul{gap:1px}.ex-nav a{padding:0 7px;font-size:10.8px}
 .ex-hero{grid-template-columns:1fr 1fr;gap:30px;padding-top:52px}
 .ex-pillars{grid-template-columns:1fr 1fr}
 .ex-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 .ex-head{grid-template-columns:1fr 215px;padding-top:8px;padding-bottom:8px}.ex-nav{grid-column:1/-1}.ex-nav ul{justify-content:flex-start;flex-wrap:wrap}
 .ex-hero{grid-template-columns:1fr}.ex-hero h1{font-size:48px}.ex-hero-copy{text-align:left}.ex-actions{justify-content:flex-start}
 .ex-record-wrap{margin:-34px 24px 72px}.ex-record{grid-template-columns:1fr 1fr}
 .ex-section-head{grid-template-columns:1fr;gap:12px}.ex-section-head>a{justify-self:start}
 .ex-pillars{grid-template-columns:1fr 1fr}.ex-pillar:nth-child(n){transform:none}
 .ex-band-grid{grid-template-columns:1fr}
 .ex-article{width:94%;padding-left:0;padding-right:0}.ex-article h1{font-size:38px}.ex-related-grid{grid-template-columns:1fr}
 .ex-foot-top{grid-template-columns:1fr}.ex-foot-suns{justify-content:flex-start}
}
@media(max-width:560px){
 .ex-main{padding-left:14px;padding-right:14px}
 .ex-head{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.ex-search{width:100%}
 .ex-hero{padding:42px 20px 96px}.ex-hero h1{font-size:40px}
 .ex-record{grid-template-columns:1fr 1fr}.ex-stat strong{font-size:42px}
 .ex-pillars,.ex-grid{grid-template-columns:1fr}
 .ex-divider{grid-template-columns:1fr 56px 1fr}
 .ex-band strong{font-size:36px}
 .ex-foot-grid{grid-template-columns:1fr 1fr}
 .entry-content .alignwide{width:100%;margin-left:0;transform:none}
}
