/* ============================================================
   DOABA COLLEGE OF EXCELLENCE (DCE PATIALA)
   Design system — "Academic Seal" direction
   Deep collegiate green + brass gold, letterhead/certificate
   motifs (double hairline rule, ledger stat strip, shield mark)
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --green-950:#0E2A1D;
  --green-900:#123524;
  --green-800:#17402C;
  --green-700:#1E4E36;
  --green-600:#2B6B48;
  --green-500:#3C8560;
  --green-100:#E6EDE7;
  --green-050:#F1F5F1;

  --gold-700:#8C6A1E;
  --gold-600:#A97F1F;
  --gold-500:#C79A3A;
  --gold-400:#D5B15C;
  --gold-300:#E3C878;
  --gold-100:#F5E9C8;

  --ivory:#F8F4E9;
  --paper:#FCFAF3;
  --white:#FFFFFF;

  --ink-900:#1B2119;
  --ink-700:#3A4238;
  --ink-500:#5C665B;
  --ink-300:#8B9587;

  --red-600:#A8341F;

  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --container:1180px;
  --radius:4px;
  --shadow-1:0 1px 3px rgba(14,42,29,0.08), 0 1px 2px rgba(14,42,29,0.06);
  --shadow-2:0 8px 24px rgba(14,42,29,0.12);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}
body{margin:0;font-family:var(--font-body);color:var(--ink-900);background:var(--ivory);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p,figure{margin:0;}
button{font-family:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;font-size:1rem;}

:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;}

.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

/* ---------- Type scale ---------- */
h1,.h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.08;letter-spacing:-0.01em;color:var(--green-950);}
h2,.h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;color:var(--green-950);}
h3,.h3{font-family:var(--font-display);font-weight:600;font-size:1.35rem;line-height:1.3;color:var(--green-950);}
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-700);}
.lede{font-size:1.1rem;color:var(--ink-700);line-height:1.7;}
.muted{color:var(--ink-500);}

/* ---------- Signature element: diploma double-rule ---------- */
.diploma-rule{height:7px;background-image:linear-gradient(var(--gold-500),var(--gold-500)),linear-gradient(var(--gold-500),var(--gold-500));background-size:100% 2px;background-position:top,bottom;background-repeat:no-repeat;}
.diploma-rule.on-dark{background-image:linear-gradient(var(--gold-400),var(--gold-400)),linear-gradient(var(--gold-400),var(--gold-400));}
.rule-thin{border:none;border-top:1px solid var(--gold-300);margin:0;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--radius);font-weight:600;font-size:0.95rem;letter-spacing:0.01em;border:1.5px solid transparent;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;white-space:nowrap;}
.btn-primary{background:var(--gold-500);color:var(--green-950);}
.btn-primary:hover{background:var(--gold-400);box-shadow:var(--shadow-2);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.55);}
.btn-outline:hover{background:rgba(255,255,255,0.12);border-color:var(--white);}
.btn-outline-dark{background:transparent;color:var(--green-800);border-color:var(--green-700);}
.btn-outline-dark:hover{background:var(--green-800);color:var(--white);}
.btn-block{width:100%;justify-content:center;}
.btn-sm{padding:9px 16px;font-size:0.85rem;}
.btn-lg{padding:16px 32px;font-size:1.02rem;}

/* ---------- Site header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--paper);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;max-width:var(--container);margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:52px;width:auto;}
.brand-text{font-family:var(--font-display);line-height:1.15;}
.brand-text .name{display:block;font-weight:600;font-size:1.05rem;color:var(--green-950);}
.brand-text .sub{display:block;font-family:var(--font-body);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-700);font-weight:600;margin-top:2px;}

.main-nav{display:flex;align-items:center;gap:2px;}
.main-nav a{padding:10px 14px;font-size:0.92rem;font-weight:600;color:var(--ink-700);border-radius:3px;transition:color .15s ease,background .15s ease;}
.main-nav a:hover{
    background:var(--green-800);
    color:#fff;}
.main-nav a.nav-result:not(.active){
    color:var(--ink-700);}

.nav-toggle{display:none;background:none;border:1.5px solid var(--green-700);border-radius:4px;padding:8px 10px;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--green-800);margin:4px 0;}

@media (max-width:980px){
  .main-nav{position:fixed;inset:0 0 0 auto;width:min(320px,85vw);height:100vh;background:var(--green-950);flex-direction:column;align-items:stretch;gap:0;padding:90px 22px 22px;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;}
  .main-nav.open{transform:translateX(0);}
  .main-nav a{color:var(--ivory);padding:14px 6px;border-bottom:1px solid rgba(255,255,255,0.1);border-radius:0;}
  .main-nav a:hover{background:transparent;color:var(--gold-400);}
  .main-nav a.nav-cta{
    text-align:center;
    margin-top:14px;
    border-bottom:none;}
  .nav-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--green-950);color:var(--ivory);overflow:hidden;}
.hero::before{content:"";position:absolute;top:-10%;right:-8%;width:640px;height:640px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 220"><path d="M100 6 L188 34 V110 C188 160 150 196 100 214 C50 196 12 160 12 110 V34 Z" fill="none" stroke="white" stroke-width="1.4" opacity="0.5"/><path d="M100 34 L166 56 V110 C166 148 138 176 100 190 C62 176 34 148 34 110 V56 Z" fill="none" stroke="white" stroke-width="1" opacity="0.35"/></svg>') no-repeat center/contain;opacity:0.08;pointer-events:none;}
.hero-inner{position:relative;max-width:var(--container);margin:0 auto;padding:78px 24px 64px;display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;}
.hero h1{color:var(--white);}
.hero .lede{color:#CBD9CF;max-width:46ch;margin-top:18px;}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(199,154,58,0.14);border:1px solid rgba(199,154,58,0.4);color:var(--gold-300);font-size:0.78rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:7px 14px;border-radius:30px;margin-bottom:22px;}
.hero-figure{position:relative;}
.hero-figure .frame{border:1px solid var(--gold-400);padding:10px;background:rgba(255,255,255,0.03);}
.hero-figure img{width:100%;height:auto;object-fit:cover;}
.hero-figure .frame-cap{display:flex;justify-content:space-between;align-items:center;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-300);padding:10px 2px 0;}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;padding-top:48px;}
  .hero-figure{max-width:380px;}
}

/* ---------- Ledger stat strip (signature secondary element) ---------- */
.ledger{background:var(--green-900);}
.ledger-row{max-width:var(--container);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);}
.ledger-item{padding:26px 22px;border-left:1px solid rgba(227,200,120,0.22);text-align:left;}
.ledger-item:first-child{border-left:none;padding-left:0;}
.ledger-value{font-family:var(--font-display);font-size:1.9rem;color:var(--gold-300);font-weight:600;line-height:1;}
.ledger-label{margin-top:8px;font-size:0.78rem;letter-spacing:0.04em;color:#B9C7BE;}
@media (max-width:900px){
  .ledger-row{grid-template-columns:repeat(2,1fr);}
  .ledger-item{border-left:none;border-top:1px solid rgba(227,200,120,0.22);padding-left:0;}
  .ledger-item:nth-child(odd){padding-left:0;}
  .ledger-item:nth-child(-n+2){border-top:none;}
}

/* ---------- Sections ---------- */
.section{padding:80px 0;}
.section-tight{padding:56px 0;}
.section-alt{background:var(--green-050);}
.section-head{max-width:640px;margin-bottom:44px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head .eyebrow{display:block;margin-bottom:10px;}
.section-head h2{margin-top:4px;}
.section-head p{margin-top:14px;}
.section-foot{margin-top:40px;text-align:center;}

/* ---------- Grids & Cards ---------- */
.grid{display:grid;gap:26px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{background:var(--white);border:1px solid #E7E1CE;border-radius:var(--radius);padding:28px;transition:box-shadow .2s ease, transform .2s ease;}
.card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);}
.icon-badge{width:48px;height:48px;border-radius:50%;background:var(--green-100);display:flex;align-items:center;justify-content:center;color:var(--green-700);margin-bottom:16px;}
.icon-badge svg{width:24px;height:24px;}

.course-card{background:var(--white);border:1px solid #E7E1CE;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease, transform .2s ease;}
.course-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);}
.course-card-top{padding:24px 24px 0;}
.course-tag{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-700);background:var(--gold-100);padding:5px 10px;border-radius:20px;margin-bottom:14px;}
.course-card h3{margin-bottom:6px;}
.course-meta{font-size:0.85rem;color:var(--ink-500);margin-bottom:14px;}
.course-card p{color:var(--ink-700);font-size:0.94rem;}
.course-card-body{padding:0 24px 24px;flex:1;display:flex;flex-direction:column;}
.course-card-foot{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #F0EBDA;margin-top:18px;}

.notice-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #E7E1CE;}
.notice-item:last-child{border-bottom:none;}
.notice-date{flex-shrink:0;width:64px;text-align:center;font-family:var(--font-display);}
.notice-date .d{display:block;font-size:1.5rem;font-weight:600;color:var(--green-800);line-height:1;}
.notice-date .m{display:block;font-size:0.7rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-500);margin-top:2px;}
.notice-body h4{font-weight:600;font-size:1rem;color:var(--green-950);margin-bottom:4px;}
.notice-body p{font-size:0.88rem;color:var(--ink-500);}
.notice-body a{color:var(--gold-700);font-weight:600;font-size:0.85rem;}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gallery-grid figure{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:4/3;background:var(--green-100);}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.gallery-grid a:hover img{transform:scale(1.06);}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(to top,rgba(14,42,29,0.85),transparent);color:var(--white);font-size:0.78rem;opacity:0;transition:opacity .2s ease;}
.gallery-grid figure:hover figcaption{opacity:1;}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:620px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- About / split layouts ---------- */
.split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;}
.split.reverse{grid-template-columns:1.1fr 0.9fr;}
.split.reverse .split-figure{order:2;}
.split-figure .frame{border:6px solid var(--white);box-shadow:var(--shadow-2);position:relative;}
.split-figure .frame::after{content:"";position:absolute;inset:-6px;border:1px solid var(--gold-400);pointer-events:none;}
.split-figure img{width:100%;height:auto;}
@media (max-width:900px){.split,.split.reverse{grid-template-columns:1fr;gap:32px;}.split.reverse .split-figure{order:0;}}

.pull-quote{font-family:var(--font-display);font-size:1.3rem;color:var(--green-900);border-left:3px solid var(--gold-500);padding-left:20px;margin:24px 0;font-style:italic;}

/* ---------- Timeline (admission steps) ---------- */
.steps{counter-reset:step;display:grid;gap:0;}
.step{display:grid;grid-template-columns:56px 1fr;gap:18px;padding-bottom:36px;position:relative;}
.step:not(:last-child)::before{content:"";position:absolute;left:27px;top:56px;bottom:0;width:1px;background:var(--gold-300);}
.step-num{counter-increment:step;width:54px;height:54px;border-radius:50%;background:var(--green-800);color:var(--gold-300);font-family:var(--font-display);font-weight:600;font-size:1.15rem;display:flex;align-items:center;justify-content:center;}
.step-num::before{content:counter(step, decimal-leading-zero);}
.step h3{margin-bottom:6px;}
.step p{color:var(--ink-700);}

/* ---------- Forms ---------- */
.form-card{background:var(--white);border:1px solid #E7E1CE;border-radius:var(--radius);padding:36px;box-shadow:var(--shadow-1);}
.form-row{margin-bottom:20px;}
.form-row label{display:block;font-size:0.85rem;font-weight:600;color:var(--ink-700);margin-bottom:7px;}
.form-row .req{color:var(--red-600);}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:12px 14px;border:1.5px solid #D9D2B8;border-radius:4px;background:var(--paper);color:var(--ink-900);transition:border-color .15s ease;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--green-600);outline:none;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media (max-width:620px){.form-grid{grid-template-columns:1fr;}}
.form-note{font-size:0.82rem;color:var(--ink-500);margin-top:14px;}
.alert{padding:16px 18px;border-radius:4px;margin-bottom:24px;font-size:0.92rem;font-weight:500;}
.alert-success{background:#E6F1E9;color:var(--green-800);border:1px solid #BFE0C8;}
.alert-error{background:#FBEAE7;color:var(--red-600);border:1px solid #F0C6BE;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--green-800);color:var(--white);border-radius:6px;padding:52px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta-band h2{color:var(--white);}
.cta-band p{color:#CBD9CF;margin-top:10px;max-width:48ch;}
@media (max-width:700px){.cta-band{padding:36px;flex-direction:column;text-align:center;}}

/* ---------- Footer ---------- */
.site-footer{background:var(--green-950);color:#C9D3CB;}
.footer-top{max-width:var(--container);margin:0 auto;padding:60px 24px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.footer-brand img{height:64px;width:auto;margin-bottom:14px;}
.footer-brand p{font-size:0.9rem;line-height:1.7;color:#AAB8AD;max-width:32ch;}
.footer-col h4{font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-400);margin-bottom:16px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col a{font-size:0.9rem;color:#C9D3CB;}
.footer-col a:hover{color:var(--gold-300);}
.footer-contact li{display:flex;gap:10px;font-size:0.9rem;margin-bottom:14px;color:#C9D3CB;}
.footer-contact svg{flex-shrink:0;width:18px;height:18px;color:var(--gold-400);margin-top:2px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);}
.footer-bottom-inner{max-width:var(--container);margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:0.8rem;color:#8FA093;}
.social-row{display:flex;gap:10px;margin-top:18px;}
.social-row a{width:36px;height:36px;border:1px solid rgba(255,255,255,0.18);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.social-row a:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--green-950);}
.social-row svg{width:16px;height:16px;}
@media (max-width:900px){.footer-top{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-top{grid-template-columns:1fr;}}

/* ---------- Breadcrumb / page header (inner pages) ---------- */
.page-hero{background:var(--green-950);color:var(--white);padding:56px 0 46px;position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;top:-30%;right:-6%;width:420px;height:420px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 220"><path d="M100 6 L188 34 V110 C188 160 150 196 100 214 C50 196 12 160 12 110 V34 Z" fill="none" stroke="white" stroke-width="1.4" opacity="0.5"/></svg>') no-repeat center/contain;opacity:0.07;}
.page-hero .crumb{font-size:0.8rem;color:var(--gold-300);letter-spacing:0.04em;margin-bottom:12px;position:relative;}
.page-hero .crumb a{color:var(--gold-300);}
.page-hero .crumb a:hover{text-decoration:underline;}
.page-hero h1{position:relative;color:var(--white);font-size:clamp(1.9rem,3.6vw,2.8rem);}
.page-hero p{position:relative;color:#CBD9CF;margin-top:12px;max-width:60ch;}

/* ---------- Result page ---------- */
.result-card{background:var(--white);border:1px solid #E7E1CE;border-radius:8px;padding:48px;text-align:center;max-width:680px;margin:0 auto;box-shadow:var(--shadow-1);}
.result-icon{width:64px;height:64px;margin:0 auto 20px;color:var(--gold-600);}
.official-box{display:flex;align-items:center;gap:14px;background:var(--green-050);border:1px solid #D8E3DA;border-radius:6px;padding:16px 18px;text-align:left;margin-top:26px;}
.official-box svg{flex-shrink:0;width:22px;height:22px;color:var(--green-700);margin-top:2px;}
.official-box p{font-size:0.86rem;color:var(--ink-700);}

/* ---------- Utility ---------- */
.mt-0{margin-top:0;}
.text-center{text-align:center;}
.badge-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.badge-list span{font-size:0.8rem;font-weight:600;color:var(--green-800);background:var(--green-100);padding:7px 14px;border-radius:20px;}
.map-embed{border:1px solid #E7E1CE;border-radius:6px;overflow:hidden;}
.map-embed iframe{width:100%;height:340px;border:0;display:block;}


/* Premium Courses */
.course-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}
.course-card{
background:#fff;
border-radius:16px;
padding:28px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
border-top:4px solid #b8891d;
transition:.3s;
}
.course-card:hover{
transform:translateY(-8px);
box-shadow:0 16px 40px rgba(0,0,0,.14);
}
.course-card h3{margin-bottom:12px;}
.course-card ul{padding-left:18px;margin:20px 0;}
.course-card li{margin-bottom:8px;}
