:root{
  --navy:#003d71;
  --navy-deep:#002f57;
  --blue:#1678bd;
  --gold:#d3a12c;
  --gold-dark:#b48217;
  --ink:#17324b;
  --muted:#65758a;
  --soft:#f4f8fb;
  --white:#fff;
  --shadow:0 14px 38px rgba(25,55,82,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:"Inter",Arial,sans-serif;
  font-size:17px;
  line-height:1.58;
}
a{text-decoration:none}
h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;color:var(--navy-deep)}
img{max-width:100%}

.site-header{
  background:rgba(255,255,255,.98);
  box-shadow:0 2px 16px rgba(0,48,87,.08);
  z-index:1030;
}
.site-header .navbar{padding:.55rem 0}
.navbar-brand img{
  width:235px;
  max-height:86px;
  object-fit:contain;
  object-position:left center;
}
.navbar-nav .nav-link{
  color:var(--navy-deep);
  font-size:1.03rem;
  font-weight:700;
  padding:.85rem .7rem!important;
}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--blue)}
.navbar-nav .nav-link.active{position:relative}
.navbar-nav .nav-link.active:after{
  content:"";position:absolute;left:.7rem;right:.7rem;bottom:.45rem;height:3px;background:var(--gold);border-radius:5px
}
.navbar-toggler{border:0;color:var(--navy);font-size:2rem}
.navbar-toggler:focus{box-shadow:none}
.dropdown-menu{border:0;box-shadow:var(--shadow);font-size:1rem}
.dropdown-item{padding:.75rem 1rem}
.header-actions{display:flex;gap:.55rem}
.btn{
  border-radius:.48rem;
  font-weight:700;
  padding:.72rem 1.1rem;
}
.btn-lg{padding:.86rem 1.35rem;font-size:1.05rem}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.btn-light{color:var(--navy);border-color:#fff;background:#fff}
.btn-light:hover{background:#f6f6f6;color:var(--navy)}

.hero .carousel-item{min-height:520px;position:relative;background-size:cover;background-position:center}
.hero-slide-1{
  background-image:url("hero-etudes-seniors.png");
  background-position:center center!important;
}
.hero-slide-2{
  background-image:url("hero-voyage-seniors.png");
  background-position:center center!important;
}
.hero-slide-3{
  background-image:url("https://commons.wikimedia.org/wiki/Special:Redirect/file/Chartres%20Cathedral%20%2819165875583%29.jpg");
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,31,57,.86) 0%,rgba(0,31,57,.61) 45%,rgba(0,31,57,.15) 72%,rgba(0,31,57,.10) 100%);
}
.hero-content{
  min-height:520px;
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:2.5rem;
  padding-bottom:4rem;
}
.hero-copy{max-width:760px;color:#fff}
.hero-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.8rem;margin-bottom:1rem;color:#fff}
.hero h1,.hero h2{color:#fff;font-size:clamp(2.1rem,4vw,4rem);line-height:1.13;margin-bottom:1rem;text-shadow:0 3px 14px rgba(0,0,0,.28)}
.hero h1 span,.hero h2 span{color:#f5c64d}
.hero p{font-size:1.18rem;max-width:700px;margin-bottom:1.65rem}
.hero-buttons{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-note{font-family:"Libre Baskerville",Georgia,serif;color:white;font-style:italic;font-size:1.45rem;text-align:center;transform:rotate(-6deg);margin-right:3.5rem;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.carousel-control-prev,.carousel-control-next{width:7%}
.carousel-arrow{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:1.3rem;box-shadow:0 4px 14px rgba(0,0,0,.12)
}
.carousel-indicators [data-bs-target]{width:11px;height:11px;border-radius:50%;border:0;margin:0 5px}
.carousel-indicators .active{background-color:var(--gold)}

.quick-links{margin-top:-35px;position:relative;z-index:10;padding-bottom:2.2rem}
.quick-card{
  height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;
  background:#fff;border:1px solid #e8eef3;border-radius:.65rem;padding:1.25rem 1rem 1.35rem;color:var(--ink);box-shadow:var(--shadow);transition:.2s ease
}
.quick-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(25,55,82,.15)}
.quick-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:1.7rem;margin-bottom:.65rem}
.quick-icon.gold{background:#fff6df;color:var(--gold-dark)}
.quick-icon.blue{background:#e8f5ff;color:var(--blue)}
.quick-card h2{font-family:"Inter",Arial,sans-serif;font-size:1.25rem;font-weight:800;margin:.1rem 0 .2rem}
.quick-card p{font-size:.92rem;margin:0 0 .7rem;color:#4d6175}
.quick-more{font-size:.87rem;font-weight:700;color:var(--navy);margin-top:auto}

.section{padding:4.5rem 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.8rem}
.section-heading h2,.about-content h2,.member-section h2{font-size:clamp(1.9rem,3vw,2.75rem);margin:.1rem 0 .45rem}
.eyebrow{display:block;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.09em;font-size:.8rem;font-weight:800;margin-bottom:.25rem}
.text-link,.card-link{color:var(--navy);font-weight:800}
.text-link:hover,.card-link:hover{color:var(--blue)}

.news-section{padding-top:2.8rem}
.news-card{border:1px solid #e4eaf0;border-radius:.65rem;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(27,57,84,.07)}
.news-image{height:210px;background-size:cover;background-position:center;position:relative}
.conference-img{background-image:url("https://images.unsplash.com/photo-1540575467063-178a50c2df87?auto=format&fit=crop&w=1100&q=84")}
.course-img{background-image:url("https://images.unsplash.com/photo-1503676260728-1c00da094a0b?auto=format&fit=crop&w=1100&q=84")}
.outing-img{background-image:url("https://commons.wikimedia.org/wiki/Special:Redirect/file/Chartres%20cathedral.jpg")}
.news-label{position:absolute;bottom:0;left:0;background:#f5d46f;color:#6e4b00;font-size:.75rem;font-weight:800;padding:.42rem .75rem}
.news-body{padding:1.25rem}
.news-body h3{font-family:"Inter",Arial,sans-serif;font-size:1.25rem;font-weight:800;line-height:1.25;margin-bottom:.7rem}
.news-body p{color:#506275;font-size:.96rem}
.card-link{display:inline-block;margin-top:.2rem;font-size:.9rem}

.about-section{background:#fbfcfd}
.about-photo{
  height:100%;min-height:470px;position:relative;background:
  linear-gradient(0deg,rgba(0,48,87,.06),rgba(0,48,87,.06)),
  url("https://commons.wikimedia.org/wiki/Special:Redirect/file/Chartres%20Cathedral%20%2819165875583%29.jpg") center/cover no-repeat;
}
.quote-card{
  position:absolute;left:2rem;bottom:2rem;max-width:300px;background:rgba(255,255,255,.92);
  color:var(--navy);padding:1.2rem 1.4rem;border-left:4px solid var(--gold);font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-size:1.07rem
}
.about-content{padding:4.3rem clamp(2rem,6vw,6rem);max-width:980px}
.about-content>p{font-size:1.08rem;color:#506275}
.about-points{margin-top:1.8rem}
.about-point{text-align:center;padding:.5rem}
.about-point i{width:55px;height:55px;border-radius:50%;margin:0 auto .55rem;display:grid;place-items:center;background:#fff3d4;color:var(--gold-dark);font-size:1.4rem}
.about-point strong,.about-point span{display:block}
.about-point strong{color:var(--navy);font-size:.95rem}
.about-point span{font-size:.85rem;color:#5e7184}

.member-section{padding:5rem 0;background:linear-gradient(100deg,#fff 0,#fff 45%,#eef7fd 100%)}
.member-section .lead{font-size:1.08rem;color:#4e6275}
.member-list{list-style:none;padding:0;margin:1.6rem 0 2rem}
.member-list li{margin:.72rem 0;font-size:1rem}
.member-list i{color:var(--gold);margin-right:.65rem}
.dashboard-wrap{position:relative;min-height:390px;display:grid;place-items:center}
.dashboard-card{
  background:#fff;border:10px solid #182433;border-bottom-width:24px;border-radius:15px;
  width:min(560px,88%);box-shadow:0 25px 50px rgba(0,47,87,.2);overflow:hidden
}
.dash-top{display:flex;align-items:center;gap:1rem;border-bottom:1px solid #e8eef3;padding:1rem 1.1rem;color:var(--navy);font-weight:800}
.dash-top img{width:110px;height:52px;object-fit:contain}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.4rem}
.dash-grid div{background:#f4f8fb;border-radius:.55rem;padding:1.15rem;display:flex;align-items:center;gap:.7rem;font-weight:700;color:var(--navy)}
.dash-grid i{font-size:1.35rem;color:var(--blue)}
.member-note{position:absolute;right:0;top:5px;color:var(--navy);font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-size:1.05rem;transform:rotate(-6deg)}

.themes-section{padding-top:4rem}
.theme-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.8rem}
.theme-item{background:#f5f8fb;border-radius:.7rem;padding:1rem .55rem;color:var(--navy);text-align:center;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;transition:.2s}
.theme-item:hover{background:#e9f3fa;transform:translateY(-3px)}
.theme-item i{font-size:1.8rem;color:var(--gold-dark)}
.theme-item span{font-size:.82rem;font-weight:800;line-height:1.2}

.newsletter{background:var(--navy);padding:1.3rem 0;color:#fff}
.newsletter-title{display:flex;gap:1rem;align-items:center}
.newsletter-title>i{font-size:2.4rem}
.newsletter-title strong,.newsletter-title span{display:block}
.newsletter-title strong{font-size:1.1rem}
.newsletter-title span{font-size:.83rem;opacity:.85}
.newsletter-form{display:flex;gap:.7rem}
.newsletter-form .form-control{font-size:.95rem}

.site-footer{background:#f7f9fb;padding:3rem 0 1rem;color:#41576b}
.footer-logo{width:250px;max-height:100px;object-fit:contain;object-position:left center}
.site-footer h2{font-family:"Inter",Arial,sans-serif;font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.85rem}
.site-footer p{font-size:.9rem;margin-bottom:.5rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.35rem}
.site-footer a{color:#435a70}
.site-footer a:hover{color:var(--blue)}
.footer-cta .btn{color:var(--navy);border-color:var(--navy)}
.footer-bottom{margin-top:2.2rem;padding-top:1.1rem;border-top:1px solid #dfe6ec;display:flex;justify-content:space-between;gap:1rem;font-size:.78rem}

@media (max-width:1199.98px){
  .navbar-brand img{width:215px}
  .navbar-collapse{padding:1rem 0 1.4rem}
  .header-actions{margin-top:.8rem}
  .theme-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:991.98px){
  body{font-size:16px}
  .hero .carousel-item,.hero-content{min-height:540px}
  .hero h1,.hero h2{font-size:2.55rem}
  .quick-links{margin-top:-28px}
  .about-photo{min-height:360px}
  .member-note{display:none}
}
@media (max-width:767.98px){
  .navbar-brand img{width:190px}
  .site-header .navbar{padding:.35rem 0}
  .header-actions{flex-direction:column}
  .header-actions .btn{width:100%}
  .hero .carousel-item,.hero-content{min-height:560px}
  .hero-overlay{background:linear-gradient(90deg,rgba(0,31,57,.88),rgba(0,31,57,.64))}
  .hero-content{padding-left:1.3rem;padding-right:1.3rem}
  .hero-copy{padding-right:0}
  .hero p{font-size:1.02rem}
  .hero-buttons .btn{width:100%}
  .quick-links{margin-top:-18px}
  .quick-card{padding:1rem .65rem}
  .quick-card p{display:none}
  .quick-icon{width:52px;height:52px}
  .quick-card h2{font-size:1.04rem}
  .quick-more{font-size:.75rem}
  .section{padding:3.3rem 0}
  .section-heading{align-items:flex-start;flex-direction:column;gap:.5rem}
  .news-image{height:230px}
  .about-content{padding:3rem 1.35rem}
  .member-section{padding:3.7rem 0}
  .dashboard-wrap{min-height:300px}
  .dash-grid{gap:.55rem;padding:.8rem}
  .dash-grid div{font-size:.78rem;padding:.8rem;flex-direction:column;text-align:center}
  .theme-grid{grid-template-columns:repeat(2,1fr)}
  .newsletter-form{flex-direction:column}
  .footer-bottom{flex-direction:column}
}
@media (max-width:480px){
  .navbar-brand img{width:165px}
  .hero h1,.hero h2{font-size:2.1rem}
  .hero .carousel-item,.hero-content{min-height:590px}
  .carousel-control-prev,.carousel-control-next{display:none}
  .quick-card h2{font-size:.95rem}
  .quick-more{display:none}
}
