
:root{
  --bg:#f7f4ee;
  --surface:rgba(255,255,255,.78);
  --surface-strong:#ffffff;
  --ink:#131313;
  --muted:#5c6470;
  --accent:#a67c52;
  --accent-strong:#7a5a38;
  --line:rgba(19,19,19,.08);
  --line-strong:rgba(19,19,19,.14);
  --shadow:0 18px 50px rgba(15,23,42,.08);
  --shadow-soft:0 10px 24px rgba(15,23,42,.05);
  --radius:26px;
  --radius-sm:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  line-height:1.65;
  background:
    radial-gradient(circle at 10% 10%, rgba(166,124,82,.10), transparent 30%),
    radial-gradient(circle at 90% 0%, rgba(30,41,59,.08), transparent 24%),
    linear-gradient(180deg,#fbfaf7 0%, var(--bg) 100%);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
.page-shell{min-height:100vh}
.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:1rem;
  top:1rem;
  width:auto;
  height:auto;
  padding:.75rem 1rem;
  background:#fff;
  border:1px solid var(--line-strong);
  border-radius:999px;
  z-index:10000;
}
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter: blur(20px);
  background:rgba(247,244,238,.82);
  border-bottom:1px solid rgba(19,19,19,.05);
}
.nav{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.25rem;
}
.brand{
  display:flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
}
.brand-mark{
  width:2.7rem;
  height:2.7rem;
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--accent),#cfb28d);
  box-shadow:var(--shadow-soft);
  flex:0 0 auto;
}
.brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.brand-text{
  min-width:0;
}
.brand-name{
  font-size:.8rem;
  line-height:1.15;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
}
.brand-sub{
  font-size:.75rem;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:.35rem;
}
.nav-links a{
  padding:.72rem .92rem;
  border-radius:999px;
  color:var(--muted);
  font-size:.95rem;
  transition:.25s ease;
}
.nav-links a:hover,
.nav-links a.active{
  color:var(--ink);
  background:rgba(255,255,255,.8);
  box-shadow:var(--shadow-soft);
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:.75rem;
}
.mobile-toggle{
  display:none;
  border:1px solid var(--line);
  background:rgba(255,255,255,.8);
  border-radius:14px;
  padding:.7rem .85rem;
  color:var(--ink);
}
main{display:block}
.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 1.25rem;
}
.hero{
  max-width:calc(var(--max) + 80px);
  margin:1.25rem auto 0;
  padding:0 1.25rem;
}
.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:36px;
  min-height:78vh;
  padding:4.5rem 1.5rem 2rem;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(135deg, rgba(5,10,18,.78), rgba(5,10,18,.35)),
    linear-gradient(180deg, rgba(5,10,18,.15), rgba(5,10,18,.55)),
    url('images/topad.jpg') center/cover no-repeat;
  box-shadow:var(--shadow);
}
.hero-card::after{
  content:"";
  position:absolute;
  inset:auto -5% -30% auto;
  width:30rem;
  height:30rem;
  border-radius:50%;
  background:radial-gradient(circle at center, rgba(255,255,255,.22), transparent 60%);
  pointer-events:none;
}
.hero--light .hero-card{
  min-height:52vh;
}
.hero-inner{
  position:relative;
  z-index:1;
  width:min(100%, 760px);
  color:#fff;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .8rem;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter: blur(12px);
  font-size:.8rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:1rem;
}
.hero h1{
  margin:0 0 1rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem, 7vw, 5.8rem);
  line-height:.95;
  letter-spacing:-.04em;
}
.hero p{
  margin:0 0 1.4rem;
  max-width:56ch;
  color:rgba(255,255,255,.88);
  font-size:1.05rem;
}
.button-row{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.95rem 1.25rem;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  transition:.25s ease;
}
.button.primary{
  background:#fff;
  color:var(--ink);
}
.button.primary:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-soft);
}
.button.secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}
.button.secondary:hover{
  background:rgba(255,255,255,.14);
}
.hero-meta{
  margin-top:2rem;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}
.hero-meta span{
  padding:.7rem 1rem;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.9);
  font-size:.92rem;
}
.section{
  padding:5rem 0;
}
.section.tight{padding-top:2rem}
.section-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.6rem;
}
.section-title{
  max-width:740px;
}
.eyebrow{
  display:inline-block;
  color:var(--accent-strong);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  font-size:.78rem;
  margin-bottom:.9rem;
}
.section h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.section p.lead,
.lead{
  color:var(--muted);
  font-size:1.06rem;
  margin-top:.85rem;
  max-width:66ch;
}
.surface{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}
.surface-strong{
  background:var(--surface-strong);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}
.pad-xl{padding:2rem}
.pad-lg{padding:1.7rem}
.pad-md{padding:1.25rem}
.grid{
  display:grid;
  gap:1.35rem;
}
.grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.split{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:1.5rem;
}
.stack{
  display:grid;
  gap:1.1rem;
}
.muted{color:var(--muted)}
.card-title{
  margin:0 0 .55rem;
  font-size:1.25rem;
  line-height:1.2;
}
.card-title.serif{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.6rem;
}
.card-kicker{
  margin:0 0 .7rem;
  font-size:.77rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent-strong);
  font-weight:800;
}
.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.stat{
  padding:1.35rem;
  border-radius:22px;
  background:rgba(255,255,255,.75);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.stat strong{
  display:block;
  font-size:2rem;
  line-height:1;
  margin-bottom:.4rem;
}
.stat span{
  color:var(--muted);
  font-size:.95rem;
}
.media{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  min-height:320px;
  background:linear-gradient(135deg,#1f2937,#314155 58%, #7f6445);
  box-shadow:var(--shadow-soft);
}
.media.tall{min-height:430px}
.media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.1));
  pointer-events:none;
}
.media-caption{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:1;
  padding:1rem 1.1rem;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  backdrop-filter:blur(16px);
}
.media-caption strong{
  display:block;
  font-size:1rem;
}
.quote{
  display:grid;
  gap:1rem;
}
.quote p{
  margin:0;
}
.quote blockquote{
  margin:0;
  padding:0;
  font-size:1.15rem;
  color:var(--ink);
}
.quote footer{
  color:var(--muted);
  font-size:.95rem;
}
.list,
.list-check{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.72rem;
}
.list-check li,
.list li{
  position:relative;
  padding-left:1.35rem;
}
.list-check li::before,
.list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72rem;
  width:.38rem;
  height:.38rem;
  border-radius:50%;
  background:var(--accent);
}
.badges{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.6rem .85rem;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--ink);
  box-shadow:var(--shadow-soft);
  font-size:.92rem;
}
.timeline{
  position:relative;
  display:grid;
  gap:1.1rem;
}
.timeline::before{
  content:"";
  position:absolute;
  left:1.05rem;
  top:.35rem;
  bottom:.35rem;
  width:1px;
  background:linear-gradient(180deg, rgba(166,124,82,.45), rgba(19,19,19,.08));
}
.timeline-item{
  position:relative;
  padding-left:3rem;
}
.timeline-item::before{
  content:"";
  position:absolute;
  left:.68rem;
  top:.58rem;
  width:.8rem;
  height:.8rem;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 6px rgba(166,124,82,.15);
}
.timeline-card{
  padding:1rem 1.1rem 1rem 1.15rem;
  border-radius:22px;
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.timeline-year{
  display:inline-block;
  font-size:.83rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent-strong);
  font-weight:800;
  margin-bottom:.5rem;
}
.timeline-card h3{
  margin:.1rem 0 .5rem;
  font-size:1.1rem;
}
.timeline-card p{
  margin:0;
  color:var(--muted);
}
.pull-quote{
  padding:1.5rem;
  border-radius:28px;
  background:linear-gradient(135deg,#141414,#2b2b2b);
  color:#fff;
  box-shadow:var(--shadow);
}
.pull-quote p{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.5rem,2.5vw,2rem);
  line-height:1.2;
}
.pull-quote span{
  display:block;
  margin-top:.9rem;
  color:rgba(255,255,255,.7);
  font-size:.95rem;
}
.details-group{
  display:grid;
  gap:1rem;
}
details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:1rem 1.15rem;
  box-shadow:var(--shadow-soft);
}
summary{
  cursor:pointer;
  list-style:none;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";
  font-size:1.25rem;
  color:var(--accent-strong);
}
details[open] summary::after{content:"–"}
details > *:not(summary){margin-top:.9rem}
.callout{
  display:grid;
  gap:1rem;
  padding:1.4rem;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(166,124,82,.14), rgba(255,255,255,.85));
  border:1px solid rgba(166,124,82,.22);
}
.cta-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:1.6rem;
  border-radius:30px;
  background:linear-gradient(135deg,#0f172a,#1f2937 72%, #7f6445);
  color:#fff;
  box-shadow:var(--shadow);
}
.cta-band h3{
  margin:0 0 .4rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  line-height:1;
}
.cta-band p{
  margin:0;
  color:rgba(255,255,255,.78);
}
.form-grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.field{
  display:grid;
  gap:.5rem;
}
.field.full{grid-column:1 / -1}
label{
  font-weight:700;
  font-size:.95rem;
}
input,textarea{
  width:100%;
  border-radius:16px;
  border:1px solid var(--line-strong);
  padding:.95rem 1rem;
  background:#fff;
  color:var(--ink);
}
textarea{min-height:160px; resize:vertical}
.note{
  color:var(--muted);
  font-size:.95rem;
}
.jobs-list{
  display:grid;
  gap:1rem;
}
.jobs-list h3, .jobs-list h4{margin:0 0 .4rem}
.columns{
  columns:2 18rem;
  column-gap:1.5rem;
}
.columns ul{
  margin:0;
  padding-left:1.15rem;
}
.columns li{break-inside:avoid; margin-bottom:.45rem}
.site-footer{
  margin-top:5rem;
  background:#0f172a;
  color:rgba(255,255,255,.78);
}
.footer-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:3rem 1.25rem 2rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:1.5rem;
}
.footer-title{
  margin:0 0 .8rem;
  color:#fff;
  font-size:1rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-links{
  display:grid;
  gap:.55rem;
}
.footer-links a{
  color:rgba(255,255,255,.85);
}
.footer-bottom{
  padding-top:1.5rem;
  margin-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  justify-content:space-between;
  font-size:.92rem;
}
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}
.page-intro{
  padding-top:1.5rem;
}
.page-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
  gap:1.25rem;
  align-items:stretch;
}
.page-intro-copy{
  padding:2rem;
  border-radius:30px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.page-intro-copy h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,4vw,4rem);
  line-height:.98;
}
.page-intro-copy p{
  margin:.9rem 0 0;
  color:var(--muted);
}
.tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1rem;
}
.tag{
  padding:.55rem .8rem;
  border-radius:999px;
  background:rgba(166,124,82,.12);
  color:var(--accent-strong);
  font-weight:700;
  font-size:.85rem;
}
.table-lite{
  width:100%;
  border-collapse:collapse;
}
.table-lite th,.table-lite td{
  text-align:left;
  padding:.9rem 0;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.table-lite th{
  width:28%;
  color:var(--muted);
  font-weight:700;
}
@media (max-width: 1040px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split,
  .page-intro-card{
    grid-template-columns:1fr;
  }
  .stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cta-band{
    grid-template-columns:1fr;
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 820px){
  .mobile-toggle{display:inline-flex}
  .nav{
    position:relative;
    flex-wrap:wrap;
  }
  .nav-links{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    padding-top:.5rem;
  }
  .nav-links.is-open{display:flex}
  .nav-links a{
    background:rgba(255,255,255,.78);
  }
  .nav-actions .button{
    display:none;
  }
  .grid-2,
  .grid-3,
  .grid-4,
  .form-grid,
  .stat-grid{
    grid-template-columns:1fr;
  }
  .hero-card{
    min-height:72vh;
    padding-top:4rem;
  }
  .hero h1{
    font-size:clamp(2.7rem, 12vw, 4rem);
  }
  .section{
    padding:4rem 0;
  }
  .footer-grid{
    grid-template-columns:1fr;
  }
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media (max-width: 560px){
  .hero,
  .container,
  .nav,
  .footer-inner{
    padding-left:1rem;
    padding-right:1rem;
  }
  .hero-card{
    border-radius:26px;
    padding:3.4rem 1rem 1.3rem;
  }
  .page-intro-copy,
  .surface,
  .surface-strong{
    border-radius:22px;
  }
  .cta-band h3{
    font-size:1.55rem;
  }
}


.media.media-contain{
  background:linear-gradient(135deg,#f7f3eb,#e7eee9 58%,#d7c19a);
}
.media.media-contain img{
  object-fit:contain;
  padding:1.2rem;
}
.media.app-visual::after{
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.02));
}


/* === Bright editorial refresh: airy, clean, modern fashion palette === */
:root{
  --bg:#fffaf4;
  --surface:rgba(255,255,255,.88);
  --surface-strong:#ffffff;
  --ink:#202836;
  --muted:#5f6877;
  --accent:#e87555;
  --accent-strong:#be5d43;
  --accent-cool:#4fb3ff;
  --accent-soft:#f7b6a4;
  --line:rgba(32,40,54,.10);
  --line-strong:rgba(32,40,54,.16);
  --shadow:0 24px 70px rgba(84,92,108,.12);
  --shadow-soft:0 14px 34px rgba(84,92,108,.08);
}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 4%, rgba(255,182,164,.22), transparent 34%),
    radial-gradient(circle at 88% 2%, rgba(124,198,255,.24), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(244,235,255,.34), transparent 38%),
    linear-gradient(180deg,#fffdf9 0%,#fff7f0 46%,#f7fbff 100%);
}
.site-header{
  background:rgba(255,251,246,.86);
  border-bottom:1px solid rgba(232,117,85,.12);
}
.brand-mark{
  background:linear-gradient(135deg,#fff,#fff1ec 45%,#e7f5ff);
  border:1px solid rgba(232,117,85,.18);
}
.nav-links a:hover,
.nav-links a.active{
  background:rgba(255,255,255,.92);
  color:var(--accent-strong);
}
.button.primary{
  background:linear-gradient(135deg,#ff9a76,#e87555);
  color:#fff;
  box-shadow:0 12px 24px rgba(232,117,85,.20);
}
.button.secondary{
  background:rgba(255,255,255,.74);
  color:var(--ink);
  border-color:rgba(32,40,54,.12);
}
.hero-card{
  min-height:66vh;
  align-items:center;
  border:1px solid rgba(255,255,255,.86);
  background:
    linear-gradient(90deg, rgba(255,253,249,.96) 0%, rgba(255,253,249,.88) 42%, rgba(255,253,249,.36) 69%, rgba(255,253,249,.12) 100%),
    url('images/topad.jpg') center right/cover no-repeat;
  box-shadow:0 30px 80px rgba(92,101,119,.13);
}
.hero-card::after{
  background:radial-gradient(circle at center, rgba(255,255,255,.66), transparent 64%);
}
.hero-inner{
  color:var(--ink);
  max-width:650px;
}
.kicker{
  background:rgba(255,255,255,.78);
  border-color:rgba(232,117,85,.20);
  color:var(--accent-strong);
}
.hero p{color:var(--muted)}
.hero-meta span{
  background:rgba(255,255,255,.78);
  border-color:rgba(32,40,54,.10);
  color:var(--muted);
}
.surface,.surface-strong,.stat,.timeline-card,.details-group details,details,.page-intro-copy{
  background:rgba(255,255,255,.86);
  border-color:rgba(32,40,54,.10);
}
.stat strong{color:var(--accent-strong)}
.tag{
  background:rgba(255,145,109,.12);
  color:var(--accent-strong);
}
.callout{
  background:linear-gradient(135deg,rgba(255,145,109,.14),rgba(239,248,255,.90));
  border-color:rgba(255,145,109,.22);
}
.media{
  background:linear-gradient(135deg,#fffdf8,#eef8ff 58%,#fff0eb);
  border:1px solid rgba(32,40,54,.10);
  box-shadow:var(--shadow-soft);
}
.media img{
  object-fit:contain;
  object-position:center;
  padding:1.5rem;
}
.media::after{
  background:linear-gradient(180deg,transparent 55%,rgba(255,255,255,.22));
}
.media-caption{
  background:rgba(255,255,255,.78);
  border-color:rgba(32,40,54,.10);
  color:var(--ink);
  box-shadow:0 14px 34px rgba(84,92,108,.10);
}
.media-caption span{color:var(--muted)}
.media.media-contain img{padding:1.3rem;}
.pull-quote{
  background:linear-gradient(135deg,#fff,#fff0eb 48%,#eaf7ff);
  border:1px solid rgba(232,117,85,.16);
  color:var(--ink);
  box-shadow:var(--shadow-soft);
}
.pull-quote span{color:var(--muted)}
.cta-band{
  background:linear-gradient(135deg,#fff,#fff0eb 52%,#eaf7ff);
  border:1px solid rgba(232,117,85,.16);
  color:var(--ink);
}
.cta-band p{color:var(--muted)}
.cta-band .button.secondary{background:#fff;color:var(--ink);}
.site-footer{
  background:linear-gradient(180deg,#fffaf4,#f3f8ff);
  color:var(--muted);
  border-top:1px solid rgba(32,40,54,.08);
}
.footer-title{color:var(--ink)}
.footer-links a{color:var(--ink)}
.footer-bottom{border-top-color:rgba(32,40,54,.10)}
.timeline::before{background:linear-gradient(180deg,rgba(232,117,85,.45),rgba(79,179,255,.12))}
.timeline-item::before{background:var(--accent);box-shadow:0 0 0 7px rgba(232,117,85,.16)}
.list-check li::before,.list li::before{background:linear-gradient(135deg,#ff9a76,#4fb3ff)}
@media (max-width: 820px){
  .hero-card{
    min-height:68vh;
    background:
      linear-gradient(180deg, rgba(255,253,249,.96), rgba(255,253,249,.82)),
      url('images/topad.jpg') center/cover no-repeat;
  }
  .media img{padding:.9rem;}
}


/* === Final professional elegant direction: refined, clean, and polished === */
:root{
  --bg:#f7f4ee;
  --surface:rgba(255,255,255,.90);
  --surface-strong:#ffffff;
  --ink:#121a26;
  --muted:#626d7b;
  --accent:#9a7a49;
  --accent-strong:#725831;
  --accent-cool:#6f8982;
  --accent-soft:#d7c7aa;
  --line:rgba(18,26,38,.11);
  --line-strong:rgba(18,26,38,.18);
  --shadow:0 26px 80px rgba(18,26,38,.10);
  --shadow-soft:0 14px 42px rgba(18,26,38,.075);
}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 8%, rgba(154,122,73,.08), transparent 33%),
    radial-gradient(circle at 88% 4%, rgba(111,137,130,.09), transparent 30%),
    linear-gradient(180deg,#fbfaf7 0%,#f7f4ee 48%,#f4f1eb 100%);
}
.site-header{
  background:rgba(251,250,247,.88);
  border-bottom:1px solid rgba(18,26,38,.08);
  box-shadow:0 10px 30px rgba(18,26,38,.035);
}
.brand-mark{
  background:#fff;
  border:1px solid rgba(18,26,38,.10);
  box-shadow:0 10px 28px rgba(18,26,38,.08);
}
.brand-mark img{object-fit:cover;}
.brand-name{color:var(--ink); letter-spacing:.18em;}
.brand-sub{color:var(--muted);}
.nav-links a{color:var(--muted);}
.nav-links a:hover,
.nav-links a.active{
  background:#fff;
  color:var(--ink);
  box-shadow:0 12px 28px rgba(18,26,38,.07);
}
.button{border-radius:999px; letter-spacing:.01em;}
.button.primary{
  background:var(--ink);
  color:#fff;
  box-shadow:0 14px 28px rgba(18,26,38,.16);
}
.button.primary:hover{box-shadow:0 18px 36px rgba(18,26,38,.20);}
.button.secondary,
.hero .button.secondary,
.cta-band .button.secondary{
  background:#fff;
  color:var(--ink);
  border-color:rgba(18,26,38,.13);
  box-shadow:0 12px 28px rgba(18,26,38,.055);
}
.button:not(.primary):not(.secondary){
  background:#fff;
  color:var(--ink);
  border-color:rgba(18,26,38,.12);
}
.hero{margin-top:1.4rem;}
.hero-card{
  min-height:660px;
  align-items:center;
  border:1px solid rgba(18,26,38,.08);
  background:
    linear-gradient(90deg, rgba(253,251,246,.98) 0%, rgba(253,251,246,.96) 47%, rgba(253,251,246,.74) 64%, rgba(253,251,246,.18) 100%),
    url('images/topad.jpg') right center / contain no-repeat,
    linear-gradient(135deg,#fbfaf7,#ecefe9);
  box-shadow:0 30px 90px rgba(18,26,38,.10);
}
.hero-card::after{
  inset:auto auto -18% -8%;
  width:24rem;
  height:24rem;
  background:radial-gradient(circle at center, rgba(154,122,73,.10), transparent 63%);
}
.hero-inner{color:var(--ink); max-width:650px;}
.kicker{
  background:#fff;
  border-color:rgba(154,122,73,.18);
  color:var(--accent-strong);
  box-shadow:0 10px 24px rgba(18,26,38,.05);
}
.hero h1,
.page-intro-copy h1,
.section h2,
.card-title.serif,
.pull-quote p,
.cta-band h3{
  font-family:Georgia,'Times New Roman',serif;
  letter-spacing:-.035em;
}
.hero h1{color:var(--ink);}
.hero p{color:var(--muted); font-size:1.08rem;}
.hero-meta span{
  background:rgba(255,255,255,.80);
  border-color:rgba(18,26,38,.10);
  color:var(--muted);
}
.section{padding:5.2rem 0;}
.eyebrow,.card-kicker,.timeline-year{color:var(--accent-strong); letter-spacing:.17em;}
.section p.lead,.lead,.muted{color:var(--muted);}
.surface,.surface-strong,.stat,.timeline-card,details,.page-intro-copy{
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.surface:hover,.stat:hover,.timeline-card:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 46px rgba(18,26,38,.09);
  transition:transform .25s ease, box-shadow .25s ease;
}
.stat strong{color:var(--ink);}
.tag{
  background:rgba(154,122,73,.10);
  color:var(--accent-strong);
  border:1px solid rgba(154,122,73,.13);
}
.media{
  background:linear-gradient(135deg,#fbfaf7,#eef1ec);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.media img{object-fit:contain; object-position:center; padding:1rem;}
.media::after{background:linear-gradient(180deg,transparent 58%,rgba(18,26,38,.03));}
.media-caption{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(18,26,38,.10);
  color:var(--ink);
  box-shadow:0 14px 38px rgba(18,26,38,.08);
}
.media-caption span{color:var(--muted);}
.media.media-contain{background:linear-gradient(135deg,#fbfaf7,#eef1ec);}
.media.media-contain img{padding:1rem;}
.pull-quote{
  background:linear-gradient(135deg,#fff,#f3eee5 58%,#eef1ec);
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.pull-quote span{color:var(--muted);}
.callout{
  background:linear-gradient(135deg,rgba(154,122,73,.09),rgba(111,137,130,.08));
  border-color:rgba(154,122,73,.18);
}
.cta-band{
  background:linear-gradient(135deg,#ffffff,#f4efe6 55%,#edf2f0);
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.cta-band p{color:var(--muted);}
.timeline::before{background:linear-gradient(180deg,rgba(154,122,73,.45),rgba(111,137,130,.18));}
.timeline-item::before{background:var(--accent);box-shadow:0 0 0 7px rgba(154,122,73,.14);}
.list-check li::before,.list li::before{background:var(--accent);}
input,textarea{background:#fff;border-color:var(--line-strong);}
.site-footer{
  background:#fbfaf7;
  color:var(--muted);
  border-top:1px solid var(--line);
}
.footer-title{color:var(--ink);}
.footer-links a{color:var(--ink);}
.footer-bottom{border-top-color:var(--line);}
.page-intro-copy{
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,245,239,.94));
}
@media (max-width: 1040px){
  .hero-card{
    background:
      linear-gradient(90deg, rgba(253,251,246,.98) 0%, rgba(253,251,246,.94) 58%, rgba(253,251,246,.58) 100%),
      url('images/topad.jpg') right center / 58% auto no-repeat,
      linear-gradient(135deg,#fbfaf7,#ecefe9);
  }
  .hero-inner{max-width:560px;}
}
@media (max-width: 820px){
  .hero-card{
    min-height:auto;
    padding:3rem 1.25rem 22rem;
    background:
      linear-gradient(180deg, rgba(253,251,246,.98) 0%, rgba(253,251,246,.96) 58%, rgba(253,251,246,.18) 100%),
      url('images/topad.jpg') center bottom / 92% auto no-repeat,
      linear-gradient(135deg,#fbfaf7,#ecefe9);
  }
  .media img{padding:.75rem;}
}
@media (max-width: 560px){
  .hero-card{padding-bottom:18rem;}
}
