
/* ==========================================================
   DR SARAH BOUKRI — CLEAN REBUILD
   No global page collisions: every page is namespaced.
========================================================== */
:root{
  --navy:#07122f;
  --navy2:#14214a;
  --gold:#c9972f;
  --cream:#f7f1e6;
  --paper:#fbfaf7;
  --white:#fff;
  --text:#1d2638;
  --muted:#657086;
  --line:rgba(201,151,47,.28);
  --soft-line:rgba(7,18,47,.08);
  --shadow:0 22px 70px rgba(7,18,47,.10);
  --radius:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--text);line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-weight:500;line-height:1.06}
p{color:var(--muted)}
.sb-container{max-width:1180px;margin:0 auto;padding:0 24px}
.sb-eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;font-size:12px;margin-bottom:16px}
.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:999px;border:1px solid var(--navy);font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:.25s ease;cursor:pointer;background:transparent}
.sb-btn:hover{transform:translateY(-2px)}
.sb-btn--primary{background:var(--navy);color:white;box-shadow:0 14px 34px rgba(7,18,47,.18)}
.sb-btn--light{background:white;color:var(--navy);border-color:white}
.sb-section{padding:86px 0}
.sb-section-head{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:end;margin-bottom:38px}
.sb-section-head h2{font-size:clamp(36px,4vw,58px)}
.sb-section-head p{max-width:560px}
.sb-card{background:white;border:1px solid var(--soft-line);border-radius:var(--radius);padding:30px;box-shadow:0 14px 44px rgba(7,18,47,.055);transition:.28s ease}
.sb-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(7,18,47,.10);border-color:var(--line)}
.sb-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sb-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sb-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.sb-reveal.in{opacity:1;transform:none}

/* Header */
.sb-header{position:sticky;top:0;z-index:100;background:rgba(251,250,247,.91);backdrop-filter:blur(18px);border-bottom:1px solid var(--soft-line)}
.sb-nav{max-width:1180px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sb-brand{display:flex;align-items:center;gap:14px;color:var(--navy);letter-spacing:.16em;text-transform:uppercase;font-size:15px}
.sb-brand-mark{width:48px;height:48px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px;line-height:1;color:var(--navy)}
.sb-brand-mark span{color:var(--gold)}
.sb-menu{display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.sb-menu a{position:relative}
.sb-menu a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--gold);transition:.25s}
.sb-menu a:hover:after{width:100%}
.sb-lang{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--gold);font-size:12px}

/* Footer */
.sb-footer{padding:28px 24px;text-align:center;background:white;color:var(--muted);font-size:13px;border-top:1px solid var(--soft-line)}

/* Shared inner hero */
.inner-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fbfaf7 0%,#f5eddf 100%);padding:92px 0 100px}
.inner-hero:before{content:"";position:absolute;right:12%;top:70px;width:210px;height:210px;border:1px solid rgba(201,151,47,.45);border-radius:50%;animation:spin 16s linear infinite}
.inner-hero:after{content:"DR SARAH BOUKRI";position:absolute;right:-30px;bottom:10px;font-family:Georgia,serif;font-size:86px;letter-spacing:.12em;color:rgba(7,18,47,.045);white-space:nowrap}
.inner-hero .sb-container{position:relative;z-index:2}
.inner-hero h1{font-size:clamp(50px,6vw,84px);max-width:880px}
.inner-hero p{font-size:18px;max-width:760px;margin-top:22px}
@keyframes spin{to{transform:rotate(360deg)}}

/* HOME */
.home-page{background:
 radial-gradient(circle at 15% 14%, rgba(201,151,47,.09), transparent 28%),
 radial-gradient(circle at 90% 10%, rgba(7,18,47,.06), transparent 28%),
 var(--paper)}
.home-hero{padding:74px 0 50px;position:relative;overflow:hidden}
.home-hero__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.home-hero h1{font-size:clamp(50px,6vw,86px);line-height:.98;background:linear-gradient(110deg,#07122f,#07122f 58%,#c9972f 78%,#07122f);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s ease-in-out infinite}
.home-hero__lead{font-size:18px;margin:28px 0;max-width:650px}
.home-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px}
.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.home-stat{border-top:1px solid var(--line);padding-top:14px}
.home-stat strong{display:block;font-family:Georgia,serif;font-size:30px;color:var(--navy)}
.home-stat span{font-size:13px;color:var(--muted)}
.home-portrait{position:relative}
.home-portrait:before{content:"";position:absolute;right:-20px;top:-20px;width:190px;height:190px;border:1px solid var(--gold);border-radius:50%;animation:float 4.5s ease-in-out infinite}
.home-portrait__frame{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5;background:#ddd}
.home-portrait__frame img{width:100%;height:100%;object-fit:cover;transition:1s ease}
.home-portrait__frame:hover img{transform:scale(1.04)}
.home-badge{position:absolute;left:-20px;bottom:34px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);padding:22px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);max-width:240px;animation:badge 4s ease-in-out infinite}
.home-badge h3{font-size:26px}
.home-badge p{font-size:13px;line-height:1.55}
.home-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:70px}
.home-metric{background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 16px 48px rgba(7,18,47,.06)}
.home-metric strong{font-family:Georgia,serif;color:var(--navy);font-size:28px;display:block}
.home-premium{background:linear-gradient(135deg,var(--navy),var(--navy2));color:white;position:relative;overflow:hidden}
.home-premium:before{content:"";position:absolute;right:-100px;top:-150px;width:420px;height:420px;border-radius:50%;background:rgba(201,151,47,.18)}
.home-premium .sb-container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding-top:84px;padding-bottom:84px}
.home-premium h2{color:white;font-size:clamp(38px,4vw,58px)}
.home-premium p{color:rgba(255,255,255,.75);margin-top:20px}
.home-signature{background:rgba(255,255,255,.08);border:1px solid rgba(201,151,47,.28);border-radius:30px;padding:30px;backdrop-filter:blur(14px)}
.home-signature div{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78)}
.home-signature div:last-child{border-bottom:0}
.home-signature strong{color:white}
.home-editorial{display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:center}
.home-editorial__photo{height:720px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.home-editorial__photo img{width:100%;height:100%;object-fit:cover}
.home-editorial__feature{background:var(--navy);color:white}
.home-editorial__feature h2{color:white;font-size:44px}
.home-editorial__feature p{color:rgba(255,255,255,.74);margin-top:16px}
.home-process{background:white;border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line)}
.home-process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.home-step{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;min-height:200px}
.home-step small{color:var(--gold);letter-spacing:.14em}
.home-step h3{font-size:20px;margin:10px 0}
.home-marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}
.home-track{display:flex;gap:50px;white-space:nowrap;animation:marquee 24s linear infinite;color:var(--navy);letter-spacing:.16em;text-transform:uppercase;font-size:13px}
.home-cta-final{background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:38px;padding:54px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}
.home-cta-final h2{color:white;font-size:42px}
.home-cta-final p{color:rgba(255,255,255,.75);margin-top:12px}
@keyframes shine{0%,100%{background-position:0 center}50%{background-position:100% center}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes badge{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ABOUT */
.about-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-54px;position:relative;z-index:3}
.about-kpi{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.about-kpi strong{font-family:Georgia,serif;color:var(--navy);font-size:28px;display:block}
.about-intro{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}
.about-photo{position:relative}
.about-photo:before{content:"";position:absolute;inset:34px -22px -22px 34px;border:1px solid var(--gold);border-radius:34px;z-index:-1}
.about-photo img{height:620px;width:100%;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}
.about-copy{background:white;border:1px solid var(--soft-line);border-radius:32px;padding:36px;box-shadow:var(--shadow)}
.about-copy h2{font-size:clamp(36px,4vw,54px);margin-bottom:20px}
.about-copy p{margin-bottom:16px}
.about-exp-list{display:grid;gap:16px}
.about-exp{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:white;border:1px solid var(--line);border-radius:22px;padding:22px}
.about-exp span{display:block;color:var(--muted);font-size:14px}
.about-exp a{color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.about-method{background:linear-gradient(135deg,var(--navy),var(--navy2));color:white}
.about-method h2{color:white}
.about-method p{color:rgba(255,255,255,.75)}
.about-method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:30px}
.about-method-step{background:rgba(255,255,255,.08);border:1px solid rgba(201,151,47,.26);border-radius:22px;padding:22px;min-height:190px}
.about-method-step small{color:var(--gold);letter-spacing:.14em}
.about-method-step h3{color:white;font-size:20px;margin:10px 0}
.about-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.about-format{background:white;border:1px solid var(--line);border-radius:22px;padding:20px;min-height:84px;display:flex;align-items:center}

/* SERVICES */
.services-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service-item small{color:var(--gold);letter-spacing:.16em}
.service-item h3{font-size:28px;margin:10px 0}

/* PROJECTS */
.projects-timeline{display:grid;gap:24px}
.project-row{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:stretch}
.project-flag{height:110px;border-radius:28px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:white;display:flex;align-items:center;justify-content:center;font-size:50px;box-shadow:var(--shadow)}
.project-panel{background:white;border:1px solid var(--soft-line);border-radius:32px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.project-panel:before{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:rgba(201,151,47,.10)}
.project-panel__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 280px;gap:24px}
.project-panel h2{font-size:42px;margin-bottom:10px}
.project-meta{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px}
.project-meta small{display:block;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin:10px 0 4px}
.project-link{display:inline-flex;margin-top:20px;background:var(--navy);color:white;border-radius:999px;padding:12px 18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

/* PUBLICATIONS / RESOURCES / BLOG */
.publication-list li{margin-bottom:10px;color:var(--muted)}
.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.download-card small,.blog-card small{color:var(--gold);letter-spacing:.12em;text-transform:uppercase}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-card{overflow:hidden;padding:0}
.blog-card img{width:100%;height:210px;object-fit:cover}
.blog-card__body{padding:24px}
.article-wrap{max-width:860px;margin:auto;background:white;border-radius:32px;padding:44px;box-shadow:var(--shadow)}
.article-wrap img{border-radius:24px;margin:20px 0}
.contact-panel{background:linear-gradient(135deg,var(--navy),var(--navy2));color:white;border-radius:38px;padding:56px;display:grid;grid-template-columns:1fr .9fr;gap:38px}
.contact-panel h1,.contact-panel h2{color:white}
.contact-panel p{color:rgba(255,255,255,.75)}
.contact-box{background:white;border-radius:28px;padding:30px}
.contact-box a,.contact-box div{display:block;padding:14px 0;border-bottom:1px solid var(--soft-line);color:var(--navy)}

/* Admin */
.admin-body{background:#eef0f4}
.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.admin-sidebar{background:var(--navy);color:white;padding:28px}
.admin-sidebar a{display:block;padding:12px 0;color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.08)}
.admin-main{padding:34px}
.admin-card{background:white;border-radius:24px;padding:26px;box-shadow:0 16px 45px rgba(7,18,47,.08);margin-bottom:22px}
.admin-field{display:grid;gap:7px;margin-bottom:14px}
.admin-field label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.admin-field input,.admin-field textarea,.admin-field select{width:100%;padding:13px 14px;border:1px solid rgba(7,18,47,.14);border-radius:14px;background:white;font:inherit;color:var(--text)}
.admin-field textarea{min-height:220px;resize:vertical}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid #eee;text-align:left}
.admin-alert{padding:12px 14px;border-radius:14px;background:#f3ead7;color:#5c410b;margin-bottom:14px}

/* Responsive */
@media(max-width:980px){
  .sb-menu{display:none}
  .home-hero__grid,.home-premium .sb-container,.home-editorial,.contact-panel,.about-intro{grid-template-columns:1fr}
  .home-metrics,.about-kpis,.home-process-grid,.about-method-grid{grid-template-columns:repeat(2,1fr)}
  .project-row{grid-template-columns:1fr}
  .project-panel__grid{grid-template-columns:1fr}
  .services-list,.download-grid,.blog-grid,.about-formats,.sb-grid-3,.sb-grid-2{grid-template-columns:1fr}
  .home-editorial__photo,.about-photo img{height:auto}
  .home-cta-final{grid-template-columns:1fr}
  .inner-hero:after{display:none}
}
@media(max-width:580px){
  .home-stats,.home-metrics,.about-kpis,.home-process-grid,.about-method-grid{grid-template-columns:1fr}
  .home-hero h1,.inner-hero h1{font-size:48px}
  .sb-section-head{grid-template-columns:1fr}
  .home-badge{position:static;margin-top:14px}
  .home-cta-final,.contact-panel{padding:30px}
}


/* Official logo + bilingual */
.sb-brand-logo{
  width:150px;
  height:auto;
  display:block;
}
.sb-brand{
  letter-spacing:0;
}
.sb-lang-group{
  display:flex;
  gap:8px;
  align-items:center;
}
.sb-lang.active{
  background:var(--navy);
  color:white;
  border-color:var(--navy);
}
@media(max-width:580px){
  .sb-brand-logo{width:116px}
}
