/* Page styles: about - loaded after common.css */

:root {
  --gold:#C9A227;
  --gold-2:#E3C766;
  --gold-soft:#F7EFD8;
  --gold-line:#E8D9A8;
  --ink:#14130F;
  --ink-2:#1E1C16;
  --cream:#FAF7F0;
  --cream-2:#F2EEE3;
  --paper:#FFFFFF;
  --text:#1B1A16;
  --muted:#6E6A60;
  --line:#E7E2D6;
  --r-sm:8px;
  --r-md:14px;
  --r-lg:22px;
  --r-pill:999px;
  --shell:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

.icon-btn:hover {
  background:var(--gold-soft);
  border-color:var(--gold-line);
}
.hero {
  background:var(--ink);
  color:#fff;
  position:relative;
  overflow:hidden;
  padding:74px 0 82px;
  text-align:center;
}
.hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 62% 60% at 50% 10%,rgba(201,162,39,.2),transparent 70%);
}
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 72% 72% at 50% 40%,#000,transparent);
}
.figures {
  position:absolute;
  inset:auto 0 0 0;
  height:70%;
  display:flex;
  justify-content:center;
  gap:6%;
  opacity:.055;
  z-index:1;
}
.fig {
  width:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.fig i {
  width:56%;
  aspect-ratio:1;
  border-radius:50%;
  background:#fff;
  display:block;
}
.fig b {
  width:100%;
  height:62%;
  margin-top:8%;
  border-radius:70px 70px 0 0;
  background:#fff;
  display:block;
}
.fig:nth-child(2) {
  transform:translateY(-14%) scale(1.18);
}
.fig:nth-child(4) {
  transform:translateY(-7%) scale(1.06);
}
.hero__in {
  position:relative;
  z-index:3;
  max-width:880px;
  margin-inline:auto;
}
.orb {
  position:absolute;
  z-index:2;
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%,var(--gold-2),var(--gold) 58%,#9c7c19);
  display:grid;
  place-items:center;
  color:#171307;
  box-shadow:0 0 48px rgba(201,162,39,.5);
  animation:float 6.5s ease-in-out infinite;
}
.orb--a {
  width:88px;
  height:88px;
  right:7%;
  top:12%;
}
.orb--b {
  width:58px;
  height:58px;
  left:8%;
  top:62%;
  animation-delay:-3s;
}
.orb svg {
  width:42%;
  height:auto;
}
@keyframes float {0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero__badge {
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(201,162,39,.4);
  background:rgba(201,162,39,.1);
  color:var(--gold-2);
  border-radius:var(--r-pill);
  padding:7px 20px;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:22px;
}
.hero h1 {
  font-size:clamp(2.1rem,5.4vw,3.5rem);
  color:#fff;
  margin-bottom:18px;
}
.hero h1 em {
  font-style:italic;
  font-weight:400;
  color:var(--gold-2);
}
.hero__sub {
  color:rgba(255,255,255,.6);
  max-width:56ch;
  margin:0 auto 28px;
  font-size:.93rem;
}
.proof {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  font-size:.84rem;
  color:rgba(255,255,255,.7);
}
.proof b {
  color:var(--gold-2);
  font-weight:600;
}
.stack {
  display:flex;
}
.stack span {
  width:34px;
  height:34px;
  border-radius:50%;
  background:linear-gradient(150deg,var(--gold-2),var(--gold));
  color:#171307;
  display:grid;
  place-items:center;
  font-size:.72rem;
  font-weight:700;
  border:2px solid var(--ink);
  margin-left:-11px;
}
.stack span:first-child {
  margin-left:0;
}
.chap {
  padding:38px 0 0;
}
.chap__bars {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-bottom:24px;
}
.chap__bars button {
  height:4px;
  border:0;
  border-radius:2px;
  background:var(--line);
  padding:0;
  position:relative;
  overflow:hidden;
  transition:background .3s var(--ease);
}
.chap__bars button:hover {
  background:var(--gold-line);
}
.chap__bars button.is-on {
  background:var(--gold);
}
.chap__head {
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
}
.chap__n {
  font-family:'Fraunces',serif;
  font-size:1.8rem;
  font-weight:600;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.chap__label {
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  flex:1;
}
.arrows {
  display:flex;
  gap:9px;
}
.arrow {
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--text);
  display:grid;
  place-items:center;
  font-size:1rem;
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);
}
.arrow:hover {
  background:var(--gold);
  border-color:var(--gold);
  color:#171307;
}
.arrow:disabled {
  opacity:.35;
  cursor:not-allowed;
}
.arrow:disabled:hover {
  background:var(--paper);
  border-color:var(--line);
  color:var(--text);
}
.card {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:40px;
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:40px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.card::after {
  content:"";
  position:absolute;
  right:-8%;
  bottom:-40%;
  width:44%;
  height:140%;
  background:radial-gradient(ellipse,rgba(201,162,39,.09),transparent 66%);
  pointer-events:none;
}
.card__l {
  position:relative;
  z-index:2;
}
.card__eyebrow {
  display:flex;
  align-items:center;
  gap:11px;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:15px;
}
.card__eyebrow::before {
  content:"";
  width:22px;
  height:2px;
  background:var(--gold);
  border-radius:2px;
}
.card h2 {
  font-size:clamp(1.6rem,3.2vw,2.2rem);
  margin-bottom:16px;
}
.card h2 em {
  font-style:italic;
  font-weight:400;
  color:var(--gold);
}
.card p {
  color:var(--muted);
  font-size:.9rem;
  max-width:56ch;
  margin-bottom:22px;
}
.chip {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:var(--gold-soft);
  border:1px solid var(--gold-line);
  color:#5a4a12;
  border-radius:var(--r-pill);
  padding:8px 18px;
  font-size:.76rem;
  font-weight:600;
}
.chip svg {
  width:13px;
  height:13px;
}
.card__r {
  position:relative;
  z-index:2;
  background:var(--cream);
  border-radius:var(--r-md);
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.seal {
  width:56%;
  aspect-ratio:1;
  border-radius:50%;
  background:linear-gradient(150deg,var(--gold-2),var(--gold) 62%,#b0891c);
  color:#171307;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-shadow:0 20px 42px rgba(201,162,39,.35);
  transition:transform .5s var(--ease);
}
.card__r:hover .seal {
  transform:scale(1.04) rotate(-3deg);
}
.seal svg {
  width:26%;
  height:26%;
}
.seal b {
  font-family:'Fraunces',serif;
  font-size:1.05rem;
  font-weight:600;
}
.quotes {
  padding:26px 0 0;
}
.quotes__box {
  background:var(--ink);
  border-radius:var(--r-lg);
  padding:44px 40px 34px;
  position:relative;
  overflow:hidden;
}
.quotes__box::after {
  content:"";
  position:absolute;
  left:-10%;
  top:-70%;
  width:56%;
  height:240%;
  background:radial-gradient(ellipse,rgba(201,162,39,.16),transparent 62%);
  pointer-events:none;
}
.quotes__mark {
  position:relative;
  z-index:2;
  display:flex;
  gap:5px;
  margin-bottom:22px;
}
.quotes__mark span {
  width:5px;
  height:17px;
  border-radius:3px;
  background:var(--gold);
}
.slide {
  display:none;
  position:relative;
  z-index:2;
  align-items:flex-start;
  gap:28px;
}
.slide.is-on {
  display:flex;
  animation:fadeIn .5s var(--ease);
}
@keyframes fadeIn {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.slide__av {
  width:88px;
  height:88px;
  flex-shrink:0;
  border-radius:50%;
  background:linear-gradient(150deg,var(--gold-2),var(--gold));
  color:#171307;
  display:grid;
  place-items:center;
  font-family:'Fraunces',serif;
  font-size:1.5rem;
  font-weight:600;
}
.slide__q {
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:clamp(1.05rem,2.1vw,1.42rem);
  line-height:1.5;
  color:rgba(255,255,255,.93);
  margin-bottom:20px;
  max-width:56ch;
}
.slide__who b {
  display:block;
  color:var(--gold-2);
  font-size:.88rem;
  font-weight:600;
}
.slide__who span {
  font-size:.8rem;
  color:rgba(255,255,255,.5);
}
.quotes__nav {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:30px;
}
.qbtn {
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  display:grid;
  place-items:center;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.qbtn:hover {
  background:rgba(201,162,39,.2);
  border-color:rgba(201,162,39,.5);
}
.dots {
  display:flex;
  gap:8px;
  align-items:center;
}
.dots button {
  width:8px;
  height:8px;
  border-radius:var(--r-pill);
  border:0;
  background:rgba(255,255,255,.28);
  padding:0;
  transition:width .35s var(--ease),background .35s var(--ease);
}
.dots button.is-on {
  width:24px;
  background:var(--gold);
}
.faq {
  padding:64px 0 0;
  text-align:center;
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
}
.eyebrow::before {
  content:"";
  width:22px;
  height:2px;
  background:var(--gold);
  border-radius:2px;
}
.faq h2 {
  font-size:clamp(1.6rem,3.2vw,2.2rem);
  margin-bottom:28px;
}
.faq h2 em {
  font-style:italic;
  font-weight:400;
  color:var(--gold);
}
.q {
  border:1px solid var(--line);
  border-radius:var(--r-md);
  margin-bottom:10px;
  background:var(--paper);
  overflow:hidden;
  text-align:left;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.q.is-open {
  border-color:var(--gold-line);
  background:var(--cream);
}
.q__btn {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 22px;
  background:none;
  border:0;
  text-align:left;
  font-size:.9rem;
  font-weight:600;
  color:var(--text);
}
.q__sign {
  width:20px;
  height:20px;
  flex-shrink:0;
  position:relative;
}
.q__sign::before,.q__sign::after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:var(--muted);
  transform:translate(-50%,-50%);
  transition:.4s var(--ease);
}
.q__sign::before {
  width:11px;
  height:1.5px;
}
.q__sign::after {
  width:1.5px;
  height:11px;
}
.q.is-open .q__sign::after {
  transform:translate(-50%,-50%) rotate(90deg);
  opacity:0;
}
.q.is-open .q__sign::before {
  background:var(--gold);
}
.q__body {
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .42s var(--ease);
}
.q.is-open .q__body {
  grid-template-rows:1fr;
}
.q__inner {
  overflow:hidden;
  min-height:0;
}
.q__inner p {
  padding:0 22px 18px;
  font-size:.85rem;
  color:var(--muted);
  max-width:74ch;
}
.cta {
  padding:52px 0 80px;
}
.cta__box {
  background:var(--ink);
  border-radius:var(--r-lg);
  padding:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
  position:relative;
  overflow:hidden;
}
.cta__box::after {
  content:"";
  position:absolute;
  left:-8%;
  top:-70%;
  width:58%;
  height:240%;
  background:radial-gradient(ellipse,rgba(201,162,39,.18),transparent 62%);
  pointer-events:none;
}
.cta__l {
  position:relative;
  z-index:2;
}
.cta__l .eyebrow {
  color:var(--gold-2);
  margin-bottom:12px;
}
.cta__l .eyebrow::before {
  background:var(--gold-2);
}
.cta__l h2 {
  font-size:clamp(1.6rem,3.2vw,2.2rem);
  color:#fff;
}
.cta__l h2 em {
  font-style:italic;
  font-weight:400;
  color:var(--gold-2);
}
.cta__btns {
  display:flex;
  gap:11px;
  flex-wrap:wrap;
  position:relative;
  z-index:2;
}
.btn-gold {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 28px;
  border-radius:var(--r-pill);
  background:var(--gold);
  border:1px solid var(--gold);
  color:#171307;
  font-size:.84rem;
  font-weight:600;
  transition:background .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.btn-gold:hover {
  background:var(--gold-2);
  color:#171307;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(201,162,39,.35);
}
.btn-light {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 28px;
  border-radius:var(--r-pill);
  background:var(--paper);
  border:1px solid var(--paper);
  color:var(--text);
  font-size:.84rem;
  font-weight:600;
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease);
}
.btn-light:hover {
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.5);
  transform:translateY(-2px);
}
.contact li {
  display:flex;
  gap:9px;
  align-items:flex-start;
}
.contact li::before {
  content:"◦";
  color:var(--gold);
}

/* ============================================================
   RESPONSIVE - widest breakpoint first, so narrower ones win
   ============================================================ */
@media (max-width:1100px) {
  .orb--a {
    right:2%;
  }
  .orb--b {
    left:2%;
  }
}
@media (max-width:900px) {
  .card {
    grid-template-columns:1fr;
    gap:28px;
    padding:28px;
  }
  .card__r {
    aspect-ratio:16/9;
  }
  .seal {
    width:36%;
  }
  .orb {
    display:none;
  }
  .quotes__box {
    padding:32px 24px 26px;
  }
  .slide {
    flex-direction:column;
    gap:20px;
  }
  .cta__box {
    flex-direction:column;
    align-items:flex-start;
  }
}
@media (max-width:640px) {
  .hero {
    padding:46px 0 52px;
  }
  .hero__badge {
    padding:7px 14px;
    letter-spacing:.13em;
  }
  .hero__sub {
    font-size:.86rem;
  }
  .proof {
    gap:10px;
    font-size:.76rem;
  }
  .chap {
    padding-top:28px;
  }
  .chap__bars {
    gap:7px;
  }
  .chap__head {
    gap:10px;
  }
  .chap__label {
    letter-spacing:.14em;
  }
  .arrow {
    width:36px;
    height:36px;
  }
  .card {
    gap:20px;
    padding:20px;
  }
  .card p {
    font-size:.84rem;
  }
  .card__r {
    aspect-ratio:4/3;
  }
  .seal {
    width:44%;
  }
  .quotes__box {
    padding:28px 20px 24px;
  }
  .slide {
    gap:16px;
  }
  .slide__av {
    width:68px;
    height:68px;
    font-size:1.2rem;
  }
  .quotes__nav {
    margin-top:24px;
  }
  .faq {
    padding-top:50px;
  }
  .q__btn {
    padding:15px 16px;
    font-size:.84rem;
  }
  .q__inner p {
    padding:0 16px 16px;
  }
  .cta {
    padding:44px 0 60px;
  }
  .cta__box {
    padding:28px 20px;
  }
  .cta__btns,
  .cta__btns a {
    width:100%;
  }
  .cta__btns a {
    justify-content:center;
  }
  .foot__grid {
    grid-template-columns:1fr;
  }
  .foot__bar {
    flex-direction:column;
  }
  .figures {
    display:none;
  }
}
