
/* Christian Impact Media clean theme stylesheet.
   Rebuilt from the approved static page and final V12 measured output.
   No Divi or Elementor selectors are used. */

:root{
  --cim-content:1184px;
  --cim-page-gutter:clamp(48px,7vw,160px);
  --cream:#F6EED9;
  --soft-white:#F8F5ED;
  --paper:#FBF7EE;
  --paper2:#FFF9ED;
  --navy:#061F44;
  --hero-navy:#061F44;
  --deep-navy:#010C18;
  --midnight:#010C18;
  --teal:#1BA3A6;
  --teal-dark:#0F6B74;
  --gold:#D4A031;
  --lavender:#8B6EC7;
  --sky:#5CA3DC;
  --sage:#C7E2B3;
  --charcoal:#242428;
  --line:rgba(6,31,68,.14);
  --line-strong:rgba(6,31,68,.22);
  --line-dark:rgba(246,238,217,.16);
  --text:#061F44;
  --muted:#516173;
  --white:#fff;
  --container:1184px;
}

html{font-size:100%;}
body{min-width:320px;}
body,button,input,textarea,select{font-family:"Noto Sans",Montserrat,Arial,sans-serif;}
h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin-top:0;}
button,input{font:inherit;}
button{cursor:pointer;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px;}
.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;top:8px;left:8px;padding:12px 16px;background:#fff;color:#061f44;z-index:100000;}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:8px;}

.site{width:100%;background:linear-gradient(180deg,#fffaf0 0%,var(--paper) 100%);}
.site-header .container{height:100%;}
.logo-top{line-height:0;}
.logo-top .custom-logo-link,.logo-top .logo-link{display:block;width:100%;height:100%;}
.logo-top img,.logo-top .custom-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;}

.nav{display:flex;align-items:center;justify-content:flex-end;flex:1 1 auto;width:auto;max-width:none;min-width:0;}
.nav-list{display:flex;align-items:center;gap:clamp(16px,1.8vw,28px);list-style:none;margin:0;padding:0;}
.nav-list li{margin:0;padding:0;}
.nav a{display:inline-flex;align-items:center;text-decoration:none;line-height:1;}
.nav-list .current-menu-item>a,.nav-list .current_page_item>a{color:var(--teal);border-bottom:2px solid var(--teal);padding-bottom:11px;}
.nav-login{margin-left:clamp(16px,1.8vw,28px);}
.nav-toggle{display:none;align-items:center;justify-content:center;border:1px solid rgba(6,31,68,.18);border-radius:8px;padding:12px 16px;background:transparent;color:var(--teal-dark);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;white-space:nowrap;}

.kicker-gold{color:var(--gold)!important;}
.kicker-teal{color:var(--teal)!important;}
.pdr-buttons{margin-top:38px;}
.footer .bottom a{display:inline;margin:0;color:inherit;font-size:inherit;}
.email input{min-width:0;flex:1;border:0;background:transparent;color:#fff;padding:0 18px;outline:0;}
.email input::placeholder{color:rgba(255,255,255,.46);}
.email button{cursor:pointer;}

/* Fonts are enqueued by WordPress in inc/theme-setup.php. */
*{box-sizing:border-box;}
html{background:var(--soft-white); overflow-x:hidden; scroll-behavior:smooth;}
body{margin:0; width:100%; max-width:none; overflow-x:hidden; background:var(--paper); color:var(--text); font-family:BodySans, "Noto Sans", Montserrat, Arial, sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
img{max-width:100%; display:block;}
a{color:inherit;}
.page{width:100%; background:linear-gradient(180deg,#fffaf0 0%, var(--paper) 100%);}
.container{width:min(calc(100% - clamp(48px, 7vw, 160px)), var(--container)); margin-inline:auto; position:relative;}
.header{height:124px; background:rgba(255,249,237,.98); display:flex; align-items:center; border-bottom:1px solid rgba(212,160,49,.18); position:relative; z-index:10;}
.header .container{display:flex; align-items:center; justify-content:space-between; gap:32px;}
.logo-top{width:clamp(260px, 27vw, 360px); height:68px; object-fit:contain; object-position:left center; flex:0 0 auto;}
.nav{display:flex; align-items:center; gap:clamp(20px, 2.2vw, 34px); font-size:11.5px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--text); white-space:nowrap;}
.nav a{text-decoration:none; line-height:1;}
.nav a.active{color:var(--teal); border-bottom:2px solid var(--teal); padding-bottom:11px;}
.nav .cta{background:var(--deep-navy); color:#fff; padding:17px 22px; border-radius:8px; letter-spacing:.14em; box-shadow:0 10px 28px rgba(1,12,24,.13); min-width:88px; text-align:center;}
.hero{height:760px; min-height:620px; position:relative; background:var(--deep-navy); overflow:hidden; color:#fff;}
.hero-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center right; filter:saturate(.95) brightness(.95);}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(90deg, rgba(1,12,24,.98) 0%, rgba(1,12,24,.92) 34%, rgba(1,12,24,.58) 62%, rgba(1,12,24,.22) 100%);}
.hero .container{height:100%; display:flex; align-items:center;}
.hero-copy{width:min(610px, 56vw); position:relative; z-index:2; transform:translateY(-20px);}
.eyebrow,.kicker{font-size:13px; line-height:1; letter-spacing:.26em; text-transform:uppercase; color:var(--teal-dark); font-weight:800; margin:0 0 22px;}
.hero .eyebrow{font-size:15px; color:var(--gold); margin-bottom:28px;}
h1,h2,h3{font-family:"Playfair Display", "Noto Serif Display", "Playfair Display", Georgia, serif; font-weight:400; letter-spacing:-.028em; margin:0;}
h1{font-size:clamp(62px, 6vw, 82px); line-height:1.02; color:white; max-width:640px;}
h1 .gold{color:var(--gold); display:block;}
.rule-gold{width:62px; height:3px; background:var(--gold); margin:34px 0 30px; border-radius:10px;}
.hero p{font-size:20px; line-height:1.72; max-width:545px; margin:0 0 38px; color:rgba(255,255,255,.9);}
.buttons{display:flex; gap:22px; align-items:center; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:12px; text-decoration:none; font-size:12.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; border-radius:8px; padding:18px 26px; line-height:1;}
.btn.primary{background:var(--teal-dark); color:white; box-shadow:0 14px 30px rgba(0,0,0,.16);}
.btn.secondary{border:1px solid var(--gold); color:white; background:rgba(1,12,24,.18);}
.section{position:relative;}
.promise{height:auto; padding:72px 0 62px; background:linear-gradient(180deg,#fffaf0 0%,#fbf4e7 100%); text-align:center; border-bottom:1px solid rgba(6,31,68,.08);}
.promise .star{font-size:24px; color:var(--gold); margin-bottom:20px;}
.promise h2{font-family:BodySans, "Noto Sans", Montserrat, Arial, sans-serif; font-size:clamp(18px, 2vw, 28px); letter-spacing:.18em; text-transform:uppercase; color:var(--teal-dark); font-weight:800; line-height:1.55; max-width:980px; margin-inline:auto;}
.promise p{margin:15px auto 0; max-width:720px; font-size:17px; line-height:1.75; color:#49576b;}
.pillars{padding:84px 0 110px; background:#fff8ed;}
.pillars-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.pillar{min-height:250px; padding:42px 24px 40px; text-align:center; border-right:1px solid var(--line);}
.pillar:last-child{border-right:none;}
.pillar-icon{height:72px; margin:0 auto 25px; object-fit:contain; object-position:center;}
.pillar h3{font-family:BodySans, "Noto Sans", Montserrat, Arial, sans-serif; font-size:15px; line-height:1; letter-spacing:.18em; text-transform:uppercase; font-weight:800; margin-bottom:16px; color:var(--navy);}
.pillar p{font-size:15px; line-height:1.6; color:#49576b; margin:0 auto; max-width:175px;}
.split{padding:136px 0; background:var(--paper);}
.split .container{display:grid; grid-template-columns:minmax(360px, 430px) minmax(0,1fr); gap:clamp(64px, 7vw, 106px); align-items:center;}
.split h2,.feature h2,.engine h2,.portfolio h2,.audience h2,.pdr h2,.roadmap h2,.cta-section h2{font-size:clamp(44px, 4.6vw, 62px); line-height:1.08; color:var(--navy); max-width:790px;}
.split p,.feature p,.engine p,.portfolio p,.audience p,.pdr p,.roadmap p,.cta-section p{font-size:18px; line-height:1.78; color:#4c5d70; max-width:600px; margin:26px 0 0;}
.mini-list{display:grid; gap:18px; margin-top:36px;}
.mini{display:flex; gap:16px; align-items:flex-start; font-size:16px; line-height:1.58; color:#172e49;}
.tick{width:28px; height:28px; border-radius:50%; background:rgba(27,163,166,.14); color:var(--teal-dark); display:grid; place-items:center; flex:0 0 28px; font-weight:900;}
.media-grid{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:225px 225px; gap:24px; align-items:stretch;}
.photo-card{border-radius:16px; overflow:hidden; box-shadow:0 28px 80px rgba(6,31,68,.12); background:#ddd; min-height:0;}
.photo-card img{width:100%; height:100%; object-fit:cover; display:block;}
.photo-card.tall{grid-row:1 / span 2;}
.photo-card.statement{background:linear-gradient(145deg,#061f44,#010c18); padding:44px; color:white; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:0 30px 90px rgba(1,12,24,.18);}
.photo-card.statement .kicker{color:var(--gold); margin-bottom:24px;}
.photo-card.statement h3{font-size:38px; line-height:1.08; color:white;}
.feature{padding:148px 0; background:linear-gradient(145deg,#061f44 0%,#010c18 88%); color:white; overflow:hidden;}
.feature:before{content:""; position:absolute; right:-180px; top:58px; width:640px; height:640px; border-radius:50%; box-shadow:0 0 0 1px rgba(212,160,49,.16),0 0 0 76px rgba(212,160,49,.09),0 0 0 152px rgba(27,163,166,.07),0 0 0 228px rgba(246,238,217,.05);}
.feature .container{display:grid; grid-template-columns:minmax(420px, 530px) minmax(420px, 1fr); gap:clamp(64px,7vw,104px); align-items:center;}
.feature h2,.pdr h2,.cta-section h2{color:white;}
.feature p,.pdr p,.cta-section p{color:rgba(255,255,255,.82);}
.tm{font-size:.38em; letter-spacing:.02em; vertical-align:super; margin-left:.03em;}
.feature-points{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:38px;}
.feature-point{padding:20px 22px; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(255,255,255,.04); font-size:15px; line-height:1.5; color:rgba(255,255,255,.86);}
.universe-card{height:560px; border-radius:28px; border:1px solid rgba(255,255,255,.16); position:relative; overflow:hidden; box-shadow:0 42px 120px rgba(0,0,0,.36); background:#010c18;}
.universe-card img{width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.95) contrast(1.02);}
.universe-card:after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(1,12,24,.04),rgba(1,12,24,.32) 58%,rgba(1,12,24,.82));}
.universe-card .label{position:absolute; left:38px; top:36px; z-index:2; font-size:12px; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); font-weight:800;}
.universe-card .title{position:absolute; left:38px; bottom:62px; z-index:2; font-family:"Playfair Display", "Noto Serif Display", Georgia,serif; font-size:46px; line-height:1; color:white; letter-spacing:-.03em;}
.universe-card .sub{position:absolute; left:38px; bottom:32px; z-index:2; color:var(--teal); font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:800;}
.engine{padding:132px 0; background:linear-gradient(180deg,#fbf4e7 0%,#fffaf0 100%);}
.section-intro{max-width:910px; margin-bottom:72px;}
.section-intro p{max-width:760px; margin-top:24px;}
.flow{display:grid; grid-template-columns:repeat(6,1fr); gap:18px;}
.step{min-height:236px; border:1px solid rgba(6,31,68,.14); background:rgba(255,255,255,.48); border-radius:18px; padding:30px 22px; position:relative;}
.step:after{content:""; position:absolute; right:-18px; top:50%; width:18px; height:1px; background:rgba(212,160,49,.72);}
.step:last-child:after{display:none;}
.num{font-size:16px; letter-spacing:.18em; color:var(--gold); font-weight:900; margin-bottom:36px;}
.step h3{font-family:BodySans, "Noto Sans", Montserrat, Arial, sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.14em; font-size:16px; line-height:1.18; color:var(--navy); margin-bottom:18px;}
.step p{font-size:15px; line-height:1.6; margin:0; color:#536477;}
.portfolio{padding:132px 0; background:#fffaf0;}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
.project-card{border:1px solid rgba(6,31,68,.14); background:#fff; border-radius:22px; overflow:hidden; min-height:560px; display:flex; flex-direction:column; box-shadow:0 24px 80px rgba(6,31,68,.08);}
.project-img{height:250px; overflow:hidden; position:relative; background:#061f44;}
.project-img img{width:100%; height:100%; object-fit:cover; display:block;}
.project-body{padding:46px 40px 42px; flex:1; display:flex; flex-direction:column;}
.project-body h3{font-size:32px; line-height:1.12; color:var(--navy); margin-bottom:22px;}
.project-body p{font-size:17px; line-height:1.65; color:#526274; margin:0 0 34px;}
.link{margin-top:auto; text-decoration:none; color:var(--teal-dark); font-size:12px; text-transform:uppercase; letter-spacing:.2em; font-weight:900;}
.audience{padding:126px 0; background:linear-gradient(180deg,#fbf4e7,#fffaf0);}
.audience-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:58px;}
.aud-card{padding:34px 30px; border-top:2px solid var(--gold); background:rgba(255,255,255,.5); min-height:224px;}
.aud-card h3{font-size:28px; line-height:1.1; color:var(--navy); margin-bottom:18px;}
.aud-card p{font-size:15px; line-height:1.68; margin:0; color:#526274;}
.pdr{padding:142px 0; background:linear-gradient(135deg,#061f44 0%,#010c18 100%); overflow:hidden;}
.pdr .container{display:grid; grid-template-columns:minmax(340px, 400px) minmax(0,1fr); gap:clamp(64px,7vw,104px); align-items:start;}
.pdr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.pdr-card{min-height:335px; padding:36px 30px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(255,255,255,.04);}
.pdr-icon{height:64px; margin-bottom:30px; object-fit:contain; object-position:left center;}
.pdr-card h3{font-family:BodySans, "Noto Sans", Montserrat,sans-serif; font-size:15px; letter-spacing:.18em; text-transform:uppercase; font-weight:800; color:#fff; margin:0 0 18px;}
.pdr-card p{font-size:15px; line-height:1.72; margin:0; color:rgba(255,255,255,.76);}
.roadmap{padding:130px 0; background:#fffaf0;}
.roadmap-line{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:70px; border-top:1px solid rgba(6,31,68,.16);}
.mile{padding:42px 32px 0; position:relative;}
.mile:before{content:""; position:absolute; top:-8px; left:32px; width:16px; height:16px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 8px rgba(212,160,49,.15);}
.mile h3{font-size:28px; line-height:1.1; color:var(--navy); margin-bottom:18px;}
.mile p{font-size:15px; line-height:1.7; color:#526274; margin:0;}
.cta-section{padding:132px 0; background:#010c18; color:white; overflow:hidden;}
.cta-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.56) saturate(.9);}
.cta-overlay{position:absolute; inset:0; background:linear-gradient(90deg,rgba(1,12,24,.98),rgba(1,12,24,.72));}
.cta-section .container{display:flex; align-items:flex-end; justify-content:space-between; gap:56px; position:relative; z-index:2;}
.cta-section p{max-width:600px;}
.footer{padding:78px 0 54px; background:#010C18; color:white;}
.footer .container{display:grid; grid-template-columns:minmax(280px, 330px) repeat(2, minmax(140px,1fr)) minmax(260px,300px); gap:72px; align-items:start;}
.footer-logo{width:250px; height:auto; display:block; margin-bottom:26px; background:#010C18;}
.footer p{font-size:14.5px; line-height:1.7; color:rgba(255,255,255,.68); margin:0;}
.footer h4{font-family:BodySans, "Noto Sans", Montserrat, Arial, sans-serif; font-size:12px; font-style:normal; text-transform:uppercase; letter-spacing:.18em; color:var(--teal); margin:0 0 20px; font-weight:900;}
.footer a{display:block; text-decoration:none; color:rgba(255,255,255,.72); font-size:14px; margin:0 0 12px;}
.email{display:flex; margin-top:22px; border:1px solid rgba(255,255,255,.18); border-radius:7px; overflow:hidden; height:48px;}
.email div{flex:1; color:rgba(255,255,255,.46); display:flex; align-items:center; padding-left:18px; font-size:13px;}
.email button{width:54px; border:none; background:var(--teal-dark); color:#fff; font-size:20px;}
.bottom{grid-column:1 / -1; border-top:1px solid rgba(255,255,255,.14); padding-top:28px; margin-top:18px; display:flex; justify-content:space-between; color:rgba(255,255,255,.5); font-size:12px;}
@media(max-width:1280px){
  :root{--container:1120px;}
  .container{width:min(calc(100% - 72px), var(--container));}
  .header{height:112px;}
  .logo-top{width:275px; height:58px;}
  .nav{gap:22px; font-size:10.5px; letter-spacing:.13em;}
  .nav .cta{padding:16px 18px; min-width:78px;}
  .hero{height:680px;}
  .hero-copy{width:560px;}
  h1{font-size:68px;}
  .hero p{font-size:18px; max-width:510px;}
  .flow{gap:14px;}
  .step{padding:26px 18px;}
  .step h3{font-size:14px;}
  .project-card{min-height:540px;}
}
@media(max-width:1100px){
  .container{width:min(calc(100% - 56px), 940px);}
  .nav{display:none;}
  .hero-copy{width:min(600px, 70vw);}
  .split .container,.feature .container,.pdr .container{grid-template-columns:1fr;}
  .media-grid{max-width:760px;}
  .flow{grid-template-columns:repeat(3,1fr);}
  .step:nth-child(3):after,.step:nth-child(6):after{display:none;}
  .cards,.audience-grid{grid-template-columns:1fr 1fr;}
  .footer .container{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 36px), 620px);}
  .header{height:96px;}
  .logo-top{width:250px;}
  .hero{height:auto; padding:110px 0 96px;}
  .hero-img{opacity:.72; object-position:62% center;}
  .hero-overlay{background:linear-gradient(90deg,rgba(1,12,24,.98),rgba(1,12,24,.78));}
  .hero .container{display:block;}
  .hero-copy{width:100%; transform:none;}
  h1{font-size:54px;}
  .hero p{font-size:17px;}
  .buttons{gap:14px;}
  .btn{width:100%; padding:17px 20px;}
  .promise{padding:58px 0;}
  .pillars-grid{grid-template-columns:1fr;}
  .pillar{border-right:none; border-bottom:1px solid var(--line);}
  .split,.feature,.engine,.portfolio,.audience,.pdr,.roadmap,.cta-section{padding:86px 0;}
  .split h2,.feature h2,.engine h2,.portfolio h2,.audience h2,.pdr h2,.roadmap h2,.cta-section h2{font-size:40px;}
  .media-grid{grid-template-columns:1fr; grid-template-rows:auto;}
  .photo-card,.photo-card.tall{height:320px; grid-row:auto;}
  .feature-points,.cards,.audience-grid,.pdr-grid,.flow,.roadmap-line{grid-template-columns:1fr;}
  .step:after{display:none;}
  .project-card{min-height:0;}
  .cta-section .container{display:block;}
  .cta-section .buttons{margin-top:36px;}
  .footer .container{grid-template-columns:1fr; gap:40px;}
  .bottom{display:block; line-height:2;}
}

/* === v3 refinements === */
.header{height:136px;}
.logo-top{width:clamp(390px, 40vw, 540px); height:102px; object-fit:contain; object-position:left center;}
.nav{gap:clamp(16px,1.8vw,28px); font-size:11px; letter-spacing:.14em;}
.nav .cta{min-width:72px; padding:16px 18px;}
.hero-img{object-position:74% center; filter:saturate(.98) brightness(.96) contrast(1.04);}
.pillar-icon{height:86px; width:auto; margin:0 auto 28px;}
.pillar{min-height:274px; padding:46px 24px 42px;}
.pillar p{max-width:190px;}
#what-we-do h2{font-size:clamp(40px, 4.05vw, 56px); max-width:560px;}
#what-we-do .photo-card img{filter:saturate(1.02) contrast(1.02);}
.project-img img{object-position:center center; filter:saturate(1.02) contrast(1.03);}
.project-card:nth-child(1) .project-img img{object-position:center 34%;}
.project-card:nth-child(2) .project-img img{object-position:center center;}
.project-card:nth-child(3) .project-img img{object-position:center 55%;}
.pdr-icon{height:80px; width:80px; margin-bottom:26px; object-fit:contain; object-position:left top; display:block;}
.cta-img{object-position:center center; filter:brightness(.54) saturate(.94);}
.cta-section .container{display:block; max-width:1160px;}
.cta-section .buttons{display:flex; flex-direction:row; gap:16px; margin-top:34px; align-items:center; flex-wrap:wrap;}
.footer .container{grid-template-columns:minmax(420px, 520px) repeat(2, minmax(140px,1fr)) minmax(260px,300px); gap:62px;}
.footer-logo{width:500px; max-width:100%; margin-bottom:24px;}
@media(max-width:1280px){
  .header{height:126px;}
  .logo-top{width:clamp(330px, 36vw, 470px); height:88px;}
  .nav{gap:18px; font-size:10.5px;}
  .pillar-icon{height:78px;}
  .footer .container{grid-template-columns:minmax(320px, 420px) repeat(2, minmax(120px,1fr)) minmax(220px,260px); gap:48px;}
  .footer-logo{width:420px;}
}
@media(max-width:1100px){
  .header{height:116px;}
  .logo-top{width:360px; height:78px;}
  .nav{gap:14px; font-size:10px; letter-spacing:.11em;}
  #what-we-do h2{font-size:clamp(36px,4vw,50px);}
}
@media(max-width:1024px){
  .header{height:112px;}
  .logo-top{width:335px; height:72px;}
  .nav{font-size:9.5px; gap:12px;}
}
@media(max-width:760px){
  .header{height:96px;}
  .logo-top{width:270px; height:60px;}
  .pillar-icon{height:70px;}
  .pdr-icon{height:72px; width:72px;}
  .footer-logo{width:360px;}
}

/* Final clean-theme adaptations. */
.header{min-height:136px;}
.hero-img{object-position:74% center;}
.pillar-icon{width:auto;}
.feature:before{box-shadow:0 0 0 1px rgba(212,160,49,.16),0 0 0 76px rgba(212,160,49,.09),0 0 0 152px rgba(27,163,166,.07),0 0 0 228px rgba(246,238,217,.05);}
.pdr-card p{color:rgba(255,255,255,.76);}
.footer-grid{display:grid;}

.internal-hero{padding:108px 0 96px;background:linear-gradient(145deg,#061f44 0%,#010c18 88%);color:#fff;position:relative;overflow:hidden;}
.internal-hero:after{content:"";position:absolute;right:-180px;top:-240px;width:560px;height:560px;border-radius:50%;box-shadow:0 0 0 1px rgba(212,160,49,.16),0 0 0 80px rgba(27,163,166,.07),0 0 0 160px rgba(246,238,217,.04);}
.internal-hero .container{position:relative;z-index:1;}
.internal-hero h1{font-size:clamp(52px,5vw,72px);line-height:1.04;max-width:850px;}
.internal-hero p{max-width:720px;margin:28px 0 0;font-size:19px;line-height:1.75;color:rgba(255,255,255,.82);}
.page-main{padding:110px 0 130px;background:#fffaf0;}
.page-content{max-width:900px;}
.page-content>*{max-width:760px;}
.page-content>.alignwide{max-width:1184px;}
.page-content>.alignfull{max-width:none;}
.page-content h2{font-size:clamp(38px,4vw,56px);line-height:1.1;color:var(--navy);margin:72px 0 24px;}
.page-content h3{font-size:32px;line-height:1.15;color:var(--navy);margin:52px 0 18px;}
.page-content p,.page-content li{font-size:18px;line-height:1.78;color:#4c5d70;}
.page-content a{color:var(--teal-dark);}
.page-content img{border-radius:16px;}
.cim-pattern-section{padding:96px 0;}
.cim-pattern-section.is-dark{background:#010c18;color:#fff;}
.cim-pattern-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.cim-pattern-card{padding:34px 30px;border:1px solid rgba(6,31,68,.14);border-top:2px solid var(--gold);background:rgba(255,255,255,.62);}

@media(max-width:1280px){
  .nav-list{gap:18px;}
  .nav-login{margin-left:18px;}
}
@media(max-width:1100px){
  .nav-toggle{display:inline-flex;flex:0 0 auto;}
  .nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;width:100%;padding:22px 28px 26px;background:rgba(255,249,237,.99);border-bottom:1px solid rgba(212,160,49,.18);box-shadow:0 20px 40px rgba(1,12,24,.10);z-index:30;}
  .nav.is-open{display:flex;align-items:stretch;flex-direction:column;}
  .nav-list{width:100%;flex-direction:column;align-items:stretch;gap:0;}
  .nav-list a{display:block;padding:14px 0;border-bottom:1px solid rgba(6,31,68,.10);}
  .nav-list .current-menu-item>a,.nav-list .current_page_item>a{padding-bottom:14px;border-bottom:2px solid var(--teal);}
  .nav-login{display:flex!important;margin:18px 0 0!important;padding:16px 18px!important;justify-content:center;}
  .cim-pattern-cards{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .header .container{gap:5px;}
  .logo-top{flex:0 1 calc(100% - 84px);width:calc(100% - 84px);max-width:270px;}
  .nav-toggle{flex:0 0 auto;}
  .hero-overlay{background:linear-gradient(90deg,rgba(1,12,24,.98) 0%,rgba(1,12,24,.86) 62%,rgba(1,12,24,.68) 100%);}
  .hero .buttons,.cta-section .buttons{display:grid;grid-template-columns:1fr;width:100%;}
  .pillars{padding:84px 0 110px;}
  .pillar{min-height:274px;}
  .split .container,.feature .container,.pdr .container{row-gap:64px;}
  .pdr-card{height:335px;min-height:335px;overflow:hidden;}
  .roadmap-line{display:block;width:100%;border-top:0;}
  .roadmap-line>.mile{position:relative;width:100%;padding:0 0 54px 56px;}
  .roadmap-line>.mile:last-child{padding-bottom:0;}
  .roadmap-line>.mile:before{top:7px;left:8px;}
  .roadmap-line>.mile:not(:last-child):after{content:"";position:absolute;top:15px;left:15.5px;bottom:-15px;width:1px;background:rgba(6,31,68,.18);z-index:1;}
  .roadmap-line>.mile:before{z-index:2;}
  .footer .bottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px;line-height:1.7;}
  .internal-hero{padding:82px 0 74px;}
  .internal-hero h1{font-size:46px;}
  .page-main{padding:76px 0 92px;}
  .cim-pattern-cards{grid-template-columns:1fr;}
}

/* Responsive min-height and footer-grid corrections from the final V12 checks. */
@media(max-width:1280px){
  .header{min-height:126px;}
}
@media(max-width:1100px){
  .header{min-height:116px;}
  .footer .container{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:48px;}
}
@media(max-width:1024px){
  .header{min-height:112px;}
}
@media(max-width:760px){
  .header{min-height:96px;}
  .footer .container{grid-template-columns:minmax(0,1fr);column-gap:0;row-gap:40px;}
}
/* Header navigation correction: the nav wrapper and Login link both supplied
   horizontal spacing. Remove the wrapper gap at every desktop width; the
   nav-list controls item spacing and .nav-login controls the final separation. */
.site-header .container > .nav{
  row-gap:0 !important;
  column-gap:0 !important;
  gap:0 !important;
}

/* v0.1.4 large-desktop header balance.
   Keep the 1230px header untouched, but prevent the logo, navigation type,
   and menu-item spacing from expanding too aggressively above 1280px. */
@media (min-width:1281px){
  .logo-top{
    width:520px;
    height:98px;
  }
  .nav{
    font-size:10.5px;
    letter-spacing:.13em;
  }
  .nav-list{
    gap:22px;
  }
  .nav-login{
    margin-left:22px;
  }
}
