/*
Theme Name: Tropics Derma
Theme URI: https://tropicsderma.com/
Author: Tropics Derma Research & Training Institute
Author URI: https://tropicsderma.com/
Description: Custom theme for the Tropics Derma Research & Training Institute (TDRTI) — homepage, CRO Services, and Quality & Compliance pages. Navy/gold brand styling with Montserrat + Quicksand typography.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tropics-derma
*/

/* ============================================================
   SHARED BASE — loaded on every page
   Page-specific styles live in assets/css/home.css and
   assets/css/inner.css and are enqueued per template.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#0E3151;--navy-dark:#091f33;--navy-mid:#1a4a72;
  --gold:#FAC905;--gold-dark:#d4a800;
  --mint:#E1FFDC;--sky:#E1F4F7;
  --white:#ffffff;--off-white:#f8f9fb;
  --text-dark:#0a1e30;--text-mid:#2c4a63;--text-soft:#5a7a95;
  --fm:'Montserrat',sans-serif;--fb:'Quicksand',sans-serif;
}
html{scroll-behavior:smooth;}
body{font-family:var(--fb);background:var(--off-white);color:var(--text-dark);font-size:16px;line-height:1.7;overflow-x:hidden;}

/* Navigation */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0.8rem 4rem;background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-bottom:2px solid var(--gold);box-shadow:0 2px 16px rgba(14,49,81,0.07);}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-logo img{height:42px;width:auto;}
.nav-logo-text{font-family:var(--fm);font-size:0.78rem;font-weight:700;color:var(--navy);line-height:1.2;max-width:200px;}
.nav-links{display:flex;gap:1.3rem;align-items:center;}
.nav-links a{font-family:var(--fm);font-size:0.68rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-mid);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover{color:var(--navy);}
.nav-links a.active{color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:4px;}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;padding:0.5rem 1.3rem;border-radius:4px;font-weight:700!important;}

/* Hamburger toggle (mobile) */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:100%;height:2.5px;background:var(--navy);border-radius:2px;transition:transform 0.3s ease,opacity 0.3s ease;}
nav.open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
nav.open .nav-toggle span:nth-child(2){opacity:0;}
nav.open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* Shared section eyebrow */
.section-eyebrow{font-family:var(--fm);font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:0.7rem;}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:none;}

/* Footer */
footer{background:var(--navy-dark);padding:3rem 4rem 2rem;color:rgba(255,255,255,0.65);}
.footer-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2rem;}
.footer-col h4{font-family:var(--fm);font-size:0.8rem;font-weight:700;color:var(--white);margin-bottom:0.8rem;}
.footer-col a{display:block;font-size:0.82rem;color:rgba(255,255,255,0.6);text-decoration:none;margin-bottom:0.5rem;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:0.78rem;}
.footer-bottom a{color:rgba(255,255,255,0.5);text-decoration:none;margin-left:1.2rem;}

/* Generic fallback content wrapper (index.php) so non-template
   pages clear the fixed nav */
.td-fallback{max-width:780px;margin:0 auto;padding:9rem 1.5rem 4rem;}
.td-fallback h1{font-family:var(--fm);color:var(--navy);margin-bottom:1rem;}
.td-fallback a{color:var(--gold-dark);}

/* Shared responsive */
@media(max-width:900px){
  nav{padding:0.7rem 1.5rem;flex-wrap:wrap;}
  .nav-toggle{display:flex;}
  .nav-links{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;margin-top:0.5rem;}
  nav.open .nav-links{display:flex;}
  .nav-links a{padding:0.8rem 0.2rem;font-size:0.8rem;border-bottom:1px solid rgba(14,49,81,0.08);}
  .nav-links a.active{border-bottom:1px solid rgba(14,49,81,0.08);padding-bottom:0.8rem;}
  .nav-cta{display:inline-block;align-self:flex-start;margin-top:0.7rem;text-align:center;}
  .nav-logo-text{font-size:0.72rem;max-width:170px;}
  section{padding:3.5rem 1.5rem;}
  footer{padding:2.5rem 1.5rem 1.5rem;}
}

/* ============================================================
   INNER-PAGE STYLES (merged from assets/css/inner.css)
   ============================================================ */
/* Inner pages (CRO Services + Quality & Compliance) specific styles */

section{padding:5rem 4rem;}
.section-title{font-family:var(--fm);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:1rem;}
.section-body{font-size:1rem;color:var(--text-mid);line-height:1.8;max-width:620px;}

.page-hero{background:var(--navy);padding:9rem 4rem 3.5rem;text-align:center;position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;top:-100px;right:-100px;width:340px;height:340px;border-radius:50%;background:rgba(250,201,5,0.06);}
.page-hero-eyebrow{font-family:var(--fm);font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;position:relative;z-index:1;}
.page-hero-title{font-family:var(--fm);font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:700;color:var(--white);max-width:760px;margin:0 auto 1rem;line-height:1.25;position:relative;z-index:1;}
.page-hero-sub{font-size:0.96rem;color:rgba(255,255,255,0.72);max-width:580px;margin:0 auto;line-height:1.8;position:relative;z-index:1;}

.services{background:var(--white);}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:rgba(14,49,81,0.1);margin-top:2.5rem;}
.service-card{background:var(--white);padding:2.5rem;}
.service-num{font-family:var(--fm);font-size:3.5rem;font-weight:700;color:rgba(14,49,81,0.07);line-height:1;margin-bottom:0.7rem;}
.service-title{font-family:var(--fm);font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:0.6rem;}
.service-accent{width:40px;height:3px;background:var(--gold);border-radius:2px;margin-bottom:1rem;}
.service-body{font-size:0.92rem;color:var(--text-mid);line-height:1.75;margin-bottom:1.2rem;}
.service-points{list-style:none;}
.service-points li{font-size:0.85rem;color:var(--text-mid);padding:0.4rem 0;border-bottom:1px solid rgba(14,49,81,0.08);display:flex;align-items:flex-start;gap:0.6rem;}
.service-points li::before{content:"→";color:var(--gold-dark);flex-shrink:0;font-weight:700;}

.therapeutic{background:var(--off-white);}
.ther-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;}
.ther-card{border:1.5px solid rgba(14,49,81,0.15);padding:2rem 1.8rem;border-radius:6px;background:var(--white);}
.ther-card.featured{background:var(--navy);border-color:var(--navy);}
.ther-icon{font-size:1.4rem;margin-bottom:0.8rem;}
.ther-title{font-family:var(--fm);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem;}
.ther-card.featured .ther-title{color:var(--white);}
.ther-badge{display:inline-block;font-family:var(--fm);font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.22rem 0.65rem;background:var(--gold);color:var(--navy);border-radius:3px;margin-bottom:0.8rem;}
.ther-body{font-size:0.85rem;color:var(--text-mid);line-height:1.65;}
.ther-card.featured .ther-body{color:rgba(255,255,255,0.75);}

.why-section{background:var(--off-white);}
.why-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-top:2rem;}
.why-reasons{display:flex;flex-direction:column;gap:0;}
.reason{padding:1.4rem 0;border-bottom:1px solid rgba(14,49,81,0.12);}
.reason:first-child{border-top:1px solid rgba(14,49,81,0.12);}
.reason-title{font-family:var(--fm);font-size:0.98rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem;}
.reason-body{font-size:0.86rem;color:var(--text-mid);line-height:1.7;}
.why-side-box{background:var(--white);border:1.5px solid rgba(14,49,81,0.15);padding:1.8rem;border-radius:6px;}
.why-side-box h4{font-family:var(--fm);font-size:0.65rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-soft);margin-bottom:1rem;}
.why-side-tags{display:flex;flex-wrap:wrap;gap:0.5rem;}
.why-side-tag{font-size:0.78rem;padding:0.3rem 0.85rem;background:var(--sky);border:1px solid rgba(14,49,81,0.15);border-radius:4px;color:var(--navy);font-weight:500;}

.process{background:var(--sky);}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1.5px solid rgba(14,49,81,0.15);border-radius:6px;overflow:hidden;margin-top:2.5rem;}
.process-step{padding:2.2rem 1.8rem;border-right:1.5px solid rgba(14,49,81,0.15);background:var(--white);}
.process-step:last-child{border-right:none;}
.step-num{font-family:var(--fm);font-size:2.5rem;font-weight:700;color:var(--gold);line-height:1;margin-bottom:0.7rem;}
.step-title{font-family:var(--fm);font-size:0.82rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem;letter-spacing:0.03em;}
.step-body{font-size:0.82rem;color:var(--text-mid);line-height:1.65;}

.compliance-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem;}
.compliance-box{background:var(--navy);padding:2.2rem;border-radius:6px;border-left:4px solid var(--gold);}
.compliance-box h3{font-family:var(--fm);font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:1rem;}
.compliance-list{list-style:none;}
.compliance-list li{font-size:0.85rem;color:rgba(255,255,255,0.8);padding:0.45rem 0;border-bottom:1px solid rgba(255,255,255,0.1);display:flex;gap:0.6rem;align-items:flex-start;}
.compliance-list li::before{content:"✓";color:var(--gold);flex-shrink:0;font-weight:700;}
.standards-card{background:var(--white);border:1.5px solid rgba(14,49,81,0.15);border-radius:6px;padding:1.8rem;margin-bottom:1.2rem;}
.standards-card h4{font-family:var(--fm);font-size:0.95rem;font-weight:700;color:var(--navy);margin-bottom:0.6rem;}
.standards-card p{font-size:0.85rem;color:var(--text-mid);line-height:1.7;}

.cta-section{background:var(--navy-dark);padding:5rem 4rem;text-align:center;}
.cta-title{font-family:var(--fm);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:var(--white);margin-bottom:1rem;}
.cta-sub{font-size:0.95rem;color:rgba(255,255,255,0.65);max-width:480px;margin:0 auto 2rem;}
.btn-gold{display:inline-block;background:var(--gold);color:var(--navy);padding:0.8rem 2rem;font-family:var(--fm);font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;border-radius:4px;}

/* Courses */
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem;}
.link-arrow{display:inline-block;font-family:var(--fm);font-size:0.72rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:3px;align-self:flex-start;}
.link-arrow:hover{color:var(--gold-dark);}
.program-card{background:var(--white);border:1.5px solid rgba(14,49,81,0.15);border-radius:8px;padding:2rem 1.8rem;display:flex;flex-direction:column;}
.program-card .service-accent{margin-bottom:1.1rem;}
.program-title{font-family:var(--fm);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.7rem;line-height:1.3;}
.program-body{font-size:0.88rem;color:var(--text-mid);line-height:1.7;margin-bottom:1.4rem;flex:1;}

@media(max-width:900px){
  section{padding:3.5rem 1.5rem;}
  .page-hero{padding:7rem 1.5rem 2.5rem;}
  .why-inner{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .ther-grid{grid-template-columns:1fr;}
  .compliance-grid{grid-template-columns:1fr;}
  .process-steps{grid-template-columns:1fr 1fr;}
  .process-step{border-right:none;border-bottom:1.5px solid rgba(14,49,81,0.15);}
  .card-grid-3{grid-template-columns:1fr;}
}

/* Background for the "What this means in practice" section (was inline) */
.quality-practice{background:var(--off-white);}

/* Clickable course title (links to the course detail page) */
.program-title a{color:inherit;text-decoration:none;}
.program-title a:hover{color:var(--gold-dark);}

/* Course detail page */
.course-detail{max-width:820px;margin:0 auto;}
.course-subhead{font-family:var(--fm);font-size:1.25rem;font-weight:700;color:var(--navy);margin:2.2rem 0 0.8rem;padding-left:0.9rem;border-left:4px solid var(--gold);}
.course-subhead:first-child{margin-top:0;}
.course-detail p{font-size:0.95rem;color:var(--text-mid);line-height:1.8;margin-bottom:1rem;}
.course-detail a{color:var(--gold-dark);text-decoration:none;font-weight:600;}
.course-list{list-style:none;margin:0.5rem 0 1.2rem;}
.course-list li{font-size:0.92rem;color:var(--text-mid);line-height:1.7;padding:0.45rem 0 0.45rem 1.7rem;position:relative;}
.course-list li::before{content:"\2192";position:absolute;left:0;color:var(--gold-dark);font-weight:700;}
.course-list li strong{color:var(--navy);}
.course-group{font-family:var(--fm);font-size:0.9rem;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:0.04em;margin:1.5rem 0 0.3rem;}
.course-cta-inline{margin-top:1.2rem;}
.course-detail a.btn-gold{color:var(--navy);}

/* ============================================================
   Gutenberg block compatibility
   Preserve the grid layouts when these sections are built from
   core blocks in the WordPress editor.
   ============================================================ */

section.wp-block-group,
.page-hero.wp-block-group{margin-block:0;}

/* Grids built with core/columns -> force grid over the default flex */
.services-grid.wp-block-columns,
.ther-grid.wp-block-columns,
.why-inner.wp-block-columns,
.process-steps.wp-block-columns,
.compliance-grid.wp-block-columns,
.card-grid-3.wp-block-columns{display:grid;}
.services-grid.wp-block-columns{grid-template-columns:1fr 1fr;gap:1.5px;}
.ther-grid.wp-block-columns{grid-template-columns:repeat(3,1fr);gap:1rem;}
.why-inner.wp-block-columns{grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.process-steps.wp-block-columns{grid-template-columns:repeat(4,1fr);gap:0;}
.compliance-grid.wp-block-columns{grid-template-columns:1fr 1fr;gap:1.5rem;}
.card-grid-3.wp-block-columns{grid-template-columns:repeat(3,1fr);gap:1.2rem;}

/* Columns wrappers: drop flex sizing/margins so the card fills the cell */
.services-grid > .wp-block-column,
.ther-grid > .wp-block-column,
.why-inner > .wp-block-column,
.process-steps > .wp-block-column,
.compliance-grid > .wp-block-column,
.card-grid-3 > .wp-block-column{margin:0;flex-basis:auto;min-width:0;display:flex;}
.services-grid > .wp-block-column > .service-card,
.ther-grid > .wp-block-column > .ther-card,
.compliance-grid > .wp-block-column > .compliance-box,
.process-steps > .wp-block-column > .process-step,
.card-grid-3 > .wp-block-column > .program-card{width:100%;}

/* Keep the process step dividers correct after wrapping in columns */
.process-steps > .wp-block-column:last-child > .process-step{border-right:none;}

/* Flex tag rows */
.why-side-tags.wp-block-group{gap:0.5rem;}
.why-side-tag{margin:0;}

/* Button / link paragraph wrappers */
.cta-btn-wrap,.link-arrow-wrap{margin:0;}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:2.5rem;margin-top:2.5rem;align-items:start;}
.contact-info-card{background:var(--navy);border-radius:10px;padding:2.4rem;border-left:4px solid var(--gold);}
.contact-info-card h3{font-family:var(--fm);font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:1.5rem;}
.contact-detail{margin-bottom:1.4rem;}
.contact-detail:last-child{margin-bottom:0;}
.contact-detail .label{font-family:var(--fm);font-size:0.62rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.3rem;}
.contact-detail a,.contact-detail span{font-size:0.96rem;color:rgba(255,255,255,0.9);text-decoration:none;}
.contact-detail a:hover{color:var(--gold);}
.contact-form{display:flex;flex-direction:column;gap:1.1rem;}
.contact-form .field{display:flex;flex-direction:column;}
.contact-form label{font-family:var(--fm);font-size:0.7rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-mid);margin-bottom:0.4rem;}
.contact-form input,.contact-form textarea{width:100%;padding:0.85rem 1rem;border:1.5px solid rgba(14,49,81,0.2);border-radius:6px;font-family:var(--fb);font-size:0.95rem;color:var(--text-dark);background:var(--white);}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(250,201,5,0.18);}
.contact-form textarea{min-height:150px;resize:vertical;}
.contact-form .hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden;}
.contact-form button{align-self:flex-start;background:var(--gold);color:var(--navy);border:none;cursor:pointer;padding:0.9rem 2.2rem;font-family:var(--fm);font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;border-radius:5px;transition:background 0.2s;}
.contact-form button:hover{background:var(--gold-dark);}
.form-alert{padding:0.9rem 1.2rem;border-radius:6px;font-size:0.9rem;margin-bottom:1.2rem;}
.form-alert.ok{background:var(--mint);border:1.5px solid #9fd590;color:#1e5a2e;}
.form-alert.bad{background:#fdecec;border:1.5px solid #e7a9a9;color:#8a2222;}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;}}

/* ===== News & Media (posts) ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem;}
.news-card{background:var(--white);border:1.5px solid rgba(14,49,81,0.12);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 14px rgba(14,49,81,0.05);}
.news-thumb{display:block;background:var(--sky);aspect-ratio:3/2;overflow:hidden;}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.news-thumb-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--fm);font-weight:700;font-size:1.3rem;letter-spacing:0.12em;color:rgba(14,49,81,0.25);}
.news-text{padding:1.4rem 1.5rem;display:flex;flex-direction:column;flex:1;}
.news-date{font-family:var(--fm);font-size:0.66rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:0.5rem;}
.news-title{font-family:var(--fm);font-size:0.98rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:0.6rem;}
.news-title a{color:inherit;text-decoration:none;}
.news-title a:hover{color:var(--gold-dark);}
.news-excerpt{font-size:0.84rem;color:var(--text-mid);line-height:1.65;margin-bottom:1rem;flex:1;}
.news-pagination{display:flex;justify-content:center;gap:0.4rem;margin-top:2.5rem;}
.news-pagination .page-numbers{font-family:var(--fm);font-size:0.8rem;font-weight:600;padding:0.4rem 0.8rem;border:1.5px solid rgba(14,49,81,0.15);border-radius:5px;color:var(--navy);text-decoration:none;}
.news-pagination .page-numbers.current{background:var(--gold);border-color:var(--gold);}

/* Single article */
.post-single{max-width:780px;margin:0 auto;}
.post-hero-img{margin:0 0 2rem;border-radius:8px;overflow:hidden;}
.post-hero-img img{width:100%;height:auto;display:block;}
.post-content{font-size:0.98rem;color:var(--text-mid);line-height:1.85;}
.post-content p{margin-bottom:1.2rem;}
.post-content h2,.post-content h3{font-family:var(--fm);color:var(--navy);margin:1.8rem 0 0.8rem;}
.post-content h2{font-size:1.4rem;}
.post-content h3{font-size:1.15rem;}
.post-content a{color:var(--gold-dark);font-weight:600;}
.post-content img{max-width:100%;height:auto;border-radius:6px;}
.post-content ul,.post-content ol{margin:0 0 1.2rem 1.2rem;}
.post-content blockquote{border-left:4px solid var(--gold);padding-left:1.3rem;margin:1.7rem 0;color:var(--navy);font-style:italic;font-size:1.05rem;line-height:1.6;}
.post-content blockquote cite{display:block;margin-top:0.7rem;font-style:normal;font-size:0.82rem;font-weight:600;color:var(--gold-dark);}
.post-back{margin-top:2.5rem;}

@media(max-width:900px){.news-grid{grid-template-columns:1fr;}}

/* ===== Research ===== */
.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem;}
.research-card{background:var(--white);border:1.5px solid rgba(14,49,81,0.15);border-radius:8px;padding:1.9rem;display:flex;flex-direction:column;}
.research-card .service-accent{margin-bottom:1.1rem;}
.research-title{font-family:var(--fm);font-size:1.02rem;font-weight:700;color:var(--navy);margin-bottom:0.8rem;line-height:1.35;}
.research-body{font-size:0.88rem;color:var(--text-mid);line-height:1.72;margin-bottom:1.3rem;flex:1;}
.research-video{position:relative;width:100%;padding-bottom:56.25%;height:0;border-radius:6px;overflow:hidden;margin-bottom:1.2rem;background:#000;}
.research-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.research-card .wp-block-embed{margin:0 0 1.2rem;}
.research-card .wp-block-embed iframe{border-radius:6px;display:block;width:100%;}
.research-grid.wp-block-group{display:grid;}
.research-grid > .research-card{margin:0;}
@media(max-width:900px){.research-grid{grid-template-columns:1fr;}}

/* ===== Partners ===== */
.partner-list{display:flex;flex-direction:column;gap:1.3rem;margin-top:2.5rem;}
.partner-card{display:grid;grid-template-columns:230px 1fr;background:var(--white);border:1.5px solid rgba(14,49,81,0.12);border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(14,49,81,0.05);}
.partner-logo-wrap{background:var(--off-white);display:flex;align-items:center;justify-content:center;padding:1.1rem;border-right:1px solid rgba(14,49,81,0.08);}
.partner-logo{max-height:160px;max-width:200px;width:auto;height:auto;object-fit:contain;display:block;}
.partner-text{padding:1.8rem 2rem;}
.partner-name{font-family:var(--fm);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.6rem;line-height:1.3;}
.partner-body{font-size:0.9rem;color:var(--text-mid);line-height:1.75;}
/* Gutenberg: keep the two card halves as grid columns */
.partner-card.wp-block-group{display:grid;}
.partner-card > .partner-logo-wrap,.partner-card > .partner-text{margin:0;}
.partner-logo.wp-block-image{margin:0;}
.partner-logo.wp-block-image img{max-height:160px;max-width:200px;width:auto;height:auto;object-fit:contain;}
@media(max-width:760px){
  .partner-card{grid-template-columns:1fr;}
  .partner-logo-wrap{border-right:none;border-bottom:1px solid rgba(14,49,81,0.08);min-height:128px;}
}

/* ===== Admissions ===== */
.process-steps.cols-3{grid-template-columns:repeat(3,1fr);}
.inst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem;}
.inst-card{background:var(--white);border:1.5px solid rgba(14,49,81,0.15);border-radius:8px;padding:1.8rem;display:flex;flex-direction:column;text-align:center;}
.inst-logo{height:72px;width:auto;max-width:150px;margin:0 auto 1.2rem;object-fit:contain;display:block;}
.inst-name{font-family:var(--fm);font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.7rem;}
.inst-body{font-size:0.84rem;color:var(--text-mid);line-height:1.7;margin-bottom:0.9rem;}
.inst-card .btn-gold{align-self:center;margin-top:auto;font-size:0.72rem;padding:0.6rem 1.5rem;}
.aid-box{background:var(--navy);border-left:4px solid var(--gold);border-radius:6px;padding:2.2rem;margin-top:2rem;}
.aid-box p{color:rgba(255,255,255,0.85);font-size:0.92rem;line-height:1.8;margin-bottom:0.8rem;}
.aid-box p:last-child{margin-bottom:0;}
.aid-box a{color:var(--gold);text-decoration:none;font-weight:600;}

/* Admissions — Gutenberg block compatibility */
.process-steps.cols-3.wp-block-columns{grid-template-columns:repeat(3,1fr);}
.inst-grid.wp-block-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.inst-grid > .wp-block-column{margin:0;flex-basis:auto;min-width:0;display:flex;}
.inst-grid > .wp-block-column > .inst-card{width:100%;}
.inst-logo.wp-block-image{margin:0 auto 1.2rem;}
.inst-logo.wp-block-image img{height:72px;width:auto;max-width:150px;object-fit:contain;}

@media(max-width:900px){
  .services-grid.wp-block-columns,
  .ther-grid.wp-block-columns,
  .why-inner.wp-block-columns,
  .compliance-grid.wp-block-columns,
  .card-grid-3.wp-block-columns{grid-template-columns:1fr;}
  .process-steps.wp-block-columns{grid-template-columns:1fr 1fr;}
  .process-steps.cols-3,
  .process-steps.cols-3.wp-block-columns,
  .inst-grid,
  .inst-grid.wp-block-columns{grid-template-columns:1fr;}
}

/* ============================================================
   HOMEPAGE STYLES (merged from assets/css/home.css)
   ============================================================ */
/* Homepage (front-page.php) specific styles */

section{padding:4.5rem 4rem;}
.section-title{font-family:var(--fm);font-size:clamp(1.7rem,2.8vw,2.2rem);font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:1rem;}
.section-body{font-size:0.98rem;color:var(--text-mid);line-height:1.85;max-width:680px;}

.hero{background:var(--navy);padding:9.5rem 4rem 4rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-100px;right:-100px;width:380px;height:380px;border-radius:50%;background:rgba(250,201,5,0.06);}
.hero::after{content:"";position:absolute;bottom:-100px;left:-100px;width:300px;height:300px;border-radius:50%;background:rgba(225,244,247,0.04);}
.hero-logo{width:84px;height:auto;margin:0 auto 1.6rem;display:block;position:relative;z-index:1;}
.hero-eyebrow{font-family:var(--fm);font-size:0.66rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;position:relative;z-index:1;}
.hero-title{font-family:var(--fm);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:700;line-height:1.25;color:var(--white);margin-bottom:1.2rem;max-width:780px;margin-left:auto;margin-right:auto;position:relative;z-index:1;}
.hero-title span{color:var(--gold);}
.hero-sub{font-size:0.96rem;color:rgba(255,255,255,0.74);line-height:1.85;max-width:680px;margin:0 auto;position:relative;z-index:1;}

.about{background:var(--white);}
.about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:3rem;align-items:start;margin-top:1rem;}
.about-img{width:100%;border-radius:8px;display:block;}

.founder{background:var(--off-white);}
.founder-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:3rem;align-items:start;}
.founder-img{width:100%;border-radius:8px;display:block;}
.founder-name{font-family:var(--fm);font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:0.3rem;}
.founder-role{font-size:0.82rem;color:var(--gold-dark);font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.04em;}
.founder-link{display:inline-block;margin-top:1rem;font-family:var(--fm);font-size:0.74rem;font-weight:700;color:var(--navy);text-decoration:none;letter-spacing:0.05em;text-transform:uppercase;border-bottom:2px solid var(--gold);padding-bottom:3px;}

.vm-section{background:var(--white);}
.vm-single{background:var(--off-white);border-left:4px solid var(--gold);border-radius:6px;padding:2.2rem 2.5rem;max-width:780px;}
.vm-single h3{font-family:var(--fm);font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.8rem;}
.vm-single p{font-size:0.95rem;color:var(--text-mid);line-height:1.8;}

.values{background:var(--off-white);}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem;}
.value-card{background:var(--white);border:1.5px solid rgba(14,49,81,0.12);border-radius:6px;padding:1.6rem;}
.value-card h4{font-family:var(--fm);font-size:0.92rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem;}
.value-card p{font-size:0.82rem;color:var(--text-mid);line-height:1.7;}

.stats-section{background:var(--navy);padding:4rem 4rem;}
.stats-header{text-align:center;margin-bottom:2.5rem;}
.stats-eyebrow{font-family:var(--fm);font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.7rem;}
.stats-title{font-family:var(--fm);font-size:1.6rem;font-weight:700;color:var(--white);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5px;background:rgba(255,255,255,0.1);max-width:1100px;margin:0 auto;}
.stat-card{background:var(--navy-dark);padding:2rem 1.5rem;text-align:center;}
.stat-num{font-family:var(--fm);font-size:2.6rem;font-weight:700;color:var(--gold);line-height:1;margin-bottom:0.6rem;}
.stat-label{font-size:0.84rem;color:rgba(255,255,255,0.75);line-height:1.5;}

.credibility{background:var(--sky);padding:2rem 2.5rem;text-align:center;}
.cred-label{font-family:var(--fm);font-size:0.62rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-soft);margin-bottom:1rem;}
.cred-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:0.6rem;}
.cred-pill{font-size:0.78rem;font-weight:500;padding:0.38rem 1rem;background:var(--white);border:1.5px solid rgba(14,49,81,0.15);border-radius:100px;color:var(--navy);}

.team-section{background:var(--white);}
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2rem;}
.team-card{background:var(--off-white);border:1.5px solid rgba(14,49,81,0.12);border-radius:8px;padding:1.5rem 1.2rem;text-align:center;}
.team-card.placeholder{border-style:dashed;background:var(--white);}
.team-photo{width:72px;height:72px;border-radius:50%;background:var(--sky);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:1.4rem;font-weight:700;color:var(--navy);overflow:hidden;}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-card.placeholder .team-photo{background:rgba(14,49,81,0.06);color:rgba(14,49,81,0.3);font-size:1.8rem;}
.team-name{font-family:var(--fm);font-size:0.86rem;font-weight:700;color:var(--navy);margin-bottom:0.2rem;}
.team-card.placeholder .team-name{color:rgba(14,49,81,0.35);}
.team-title{font-size:0.72rem;color:var(--gold-dark);font-weight:600;margin-bottom:0.7rem;}
.team-card.placeholder .team-title{color:rgba(212,168,0,0.5);}
.team-bio{font-size:0.74rem;color:var(--text-mid);line-height:1.6;text-align:left;}
.team-card.placeholder .team-bio{color:rgba(44,74,99,0.4);text-align:center;}

.cta-section{background:var(--navy-dark);padding:5rem 4rem;text-align:center;position:relative;overflow:hidden;}
.cta-section::before{content:"";position:absolute;top:-120px;left:-120px;width:320px;height:320px;border-radius:50%;background:rgba(250,201,5,0.05);}
.cta-eyebrow{font-family:var(--fm);font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;position:relative;z-index:1;}
.cta-title{font-family:var(--fm);font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:700;color:var(--white);margin-bottom:1.1rem;max-width:680px;margin-left:auto;margin-right:auto;line-height:1.3;position:relative;z-index:1;}
.cta-sub{font-size:0.96rem;color:rgba(255,255,255,0.68);max-width:560px;margin:0 auto 2.2rem;line-height:1.8;position:relative;z-index:1;}
.cta-btn{display:inline-block;background:var(--gold);color:var(--navy);padding:0.9rem 2.4rem;font-family:var(--fm);font-size:0.8rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;border-radius:4px;position:relative;z-index:1;transition:background 0.2s;}
.cta-btn:hover{background:var(--gold-dark);}
.cta-btn-outline{display:inline-block;border:2px solid rgba(255,255,255,0.4);color:var(--white);padding:0.9rem 2.4rem;font-family:var(--fm);font-size:0.8rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;border-radius:4px;position:relative;z-index:1;transition:border-color 0.2s;}
.cta-btn-outline:hover{border-color:var(--white);}
.cta-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;position:relative;z-index:1;}

@media(max-width:900px){
  section{padding:3.5rem 1.5rem;}
  .hero{padding:7rem 1.5rem 3rem;}
  .about-grid{grid-template-columns:1fr;}
  .founder-grid{grid-template-columns:1fr;}
  .vm-single{padding:1.6rem 1.8rem;}
  .values-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr;}
}

/* ============================================================
   Gutenberg block compatibility
   When these sections are built from core blocks in the WordPress
   editor, neutralise the default block wrappers so the original
   grid layout is preserved.
   ============================================================ */

/* Section groups carry the section padding themselves */
.wp-block-group.hero,
section.wp-block-group{margin-block:0;}

/* Two-column grids built with core/columns */
.about-grid.wp-block-columns,
.founder-grid.wp-block-columns,
.stats-grid.wp-block-columns{display:grid;align-items:start;}
.about-grid.wp-block-columns{grid-template-columns:1.1fr 0.9fr;gap:3rem;}
.founder-grid.wp-block-columns{grid-template-columns:0.85fr 1.15fr;gap:3rem;}
.stats-grid.wp-block-columns{grid-template-columns:repeat(4,1fr);gap:1.5px;align-items:stretch;}
.about-grid.wp-block-columns > .wp-block-column,
.founder-grid.wp-block-columns > .wp-block-column,
.stats-grid.wp-block-columns > .wp-block-column{margin:0;flex-basis:auto;}
.stats-grid.wp-block-columns > .wp-block-column{display:flex;}
.stats-grid .stat-card{width:100%;}

/* Images inside the block wrappers */
.about-img.wp-block-image,
.founder-img.wp-block-image{margin:0;width:100%;}
.about-img img,.founder-img img{width:100%;border-radius:8px;display:block;}
.team-photo.wp-block-image{margin:0;}

/* Card grids built as a group of card groups */
.values-grid.wp-block-group{display:grid;}
.team-grid.wp-block-group{display:grid;}
.values-grid.wp-block-group > .value-card,
.team-grid.wp-block-group > .team-card{margin:0;}

/* Pills row */
.cred-pills.wp-block-group{gap:0.6rem;}
.cred-pill{margin:0;}

/* CTA button wrappers (paragraphs) keep buttons inline + centered */
.cta-btn-wrap{margin-bottom:0;}

/* Tidy default heading/paragraph block margins inside our sections */
.hero .wp-block-heading,
.vm-single .wp-block-heading,
.value-card .wp-block-heading{margin:0 0 0.5rem;}
.vm-single .wp-block-heading{margin-bottom:0.8rem;}


/* ============================================================
   LAYOUT HARDENING
   Force the grid layouts with !important so no plugin or core
   block style can override them and collapse the page into a
   single column.
   ============================================================ */
.about-grid{display:grid!important;grid-template-columns:1.1fr 0.9fr!important;}
.founder-grid{display:grid!important;grid-template-columns:0.85fr 1.15fr!important;}
.stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;}
.values-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;}
.team-grid{display:grid!important;grid-template-columns:repeat(5,1fr)!important;}
.services-grid{display:grid!important;grid-template-columns:1fr 1fr!important;}
.ther-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;}
.why-inner{display:grid!important;grid-template-columns:1fr 1fr!important;}
.process-steps{display:grid!important;grid-template-columns:repeat(4,1fr)!important;}
.process-steps.cols-3{grid-template-columns:repeat(3,1fr)!important;}
.compliance-grid{display:grid!important;grid-template-columns:1fr 1fr!important;}
.card-grid-3{display:grid!important;grid-template-columns:repeat(3,1fr)!important;}
.inst-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;}
.research-grid{display:grid!important;grid-template-columns:1fr 1fr!important;}
.news-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;}
.partner-list{display:flex!important;flex-direction:column!important;}
.partner-card{display:grid!important;grid-template-columns:230px 1fr!important;}
.contact-grid{display:grid!important;grid-template-columns:0.85fr 1.15fr!important;}
.cred-pills{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;}
.wp-block-columns.about-grid>.wp-block-column,
.wp-block-columns.founder-grid>.wp-block-column,
.wp-block-columns.stats-grid>.wp-block-column,
.wp-block-columns.services-grid>.wp-block-column,
.wp-block-columns.ther-grid>.wp-block-column,
.wp-block-columns.why-inner>.wp-block-column,
.wp-block-columns.process-steps>.wp-block-column,
.wp-block-columns.compliance-grid>.wp-block-column,
.wp-block-columns.card-grid-3>.wp-block-column,
.wp-block-columns.inst-grid>.wp-block-column{margin:0!important;flex-basis:auto!important;min-width:0!important;}
@media(max-width:900px){
  .about-grid,.founder-grid,.values-grid,.team-grid,.services-grid,.ther-grid,.why-inner,.compliance-grid,.card-grid-3,.inst-grid,.research-grid,.news-grid,.process-steps.cols-3{grid-template-columns:1fr!important;}
  .stats-grid,.process-steps{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:760px){
  .partner-card,.contact-grid{grid-template-columns:1fr!important;}
}

/* Group inner-container fix: let grid cards be real grid items */
.values-grid>.wp-block-group__inner-container,.team-grid>.wp-block-group__inner-container,.partner-list>.wp-block-group__inner-container,.partner-card>.wp-block-group__inner-container,.research-grid>.wp-block-group__inner-container,.contact-grid>.wp-block-group__inner-container,.cred-pills>.wp-block-group__inner-container,.why-side-tags>.wp-block-group__inner-container{display:contents!important;}

/* Top-align about/founder text columns (override WP vertical-center) */
.about-grid>.wp-block-column,.founder-grid>.wp-block-column{align-self:start!important;}
