/*
Theme Name: Arche International
Theme URI: https://archeacademyinternational.com
Description: Brand theme for Arche Academy International. Brass, ink and cream; Libre Caslon Display and Poppins. Child of Twenty Twenty-Five.
Author: Arche Academy
Version: 1.0.0
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: arche-international
*/

/* ---- Brand utilities used by patterns ---- */

.arche-eyebrow{
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
}

.arche-hero{ position:relative; overflow:hidden; }
.arche-hero::after{
  content:"";
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 90% at 82% 8%, rgba(189,158,96,.17), transparent 58%);
}
.arche-hero > *{ position:relative; z-index:1; }

/* Grade ledger */
.arche-ledger{ width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.arche-ledger th{
  text-align:left; font-size:9.5px; letter-spacing:.17em; text-transform:uppercase;
  font-weight:500; color:#8A8377; padding:0 14px 12px 0;
  border-bottom:1px solid var(--wp--preset--color--rule);
}
.arche-ledger td{
  padding:15px 14px 15px 0; border-bottom:1px solid var(--wp--preset--color--rule);
  font-size:15px; color:var(--wp--preset--color--ink); vertical-align:middle;
}
.arche-ledger tr:last-child td{ border-bottom:none; }
.arche-ledger .sch{ display:block; color:var(--wp--preset--color--body-text); font-size:13px; }
.arche-ledger .mv{
  font-family:var(--wp--preset--font-family--display);
  font-size:21px; white-space:nowrap; text-align:right;
}
.arche-ledger .mv .was{ color:#8A8377; }
.arche-ledger .mv .arw{ color:var(--wp--preset--color--brass); padding:0 8px; font-size:14px; }
.arche-ledger .mv .now{ color:var(--wp--preset--color--brass-deep); }

/* Ledger on dark grounds */
.has-ink-background-color .arche-ledger th,
.has-ink-2-background-color .arche-ledger th{ color:#8A8272; border-color:#39342B; }
.has-ink-background-color .arche-ledger td,
.has-ink-2-background-color .arche-ledger td{ color:var(--wp--preset--color--paper); border-color:#39342B; }
.has-ink-background-color .arche-ledger .sch,
.has-ink-2-background-color .arche-ledger .sch{ color:#A79E8D; }
.has-ink-background-color .arche-ledger .mv .now,
.has-ink-2-background-color .arche-ledger .mv .now{ color:var(--wp--preset--color--brass-light); }

/* Generic data table */
.arche-table{ width:100%; border-collapse:collapse; font-size:14px; }
.arche-table th{
  text-align:left; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  color:#8A8377; padding:0 16px 11px 0; border-bottom:1px solid var(--wp--preset--color--rule);
  white-space:nowrap;
}
.arche-table td{
  padding:13px 16px 13px 0; border-bottom:1px solid var(--wp--preset--color--rule);
  color:var(--wp--preset--color--ink); vertical-align:top; line-height:1.55;
}
.arche-table tr:last-child td{ border-bottom:none; }
.arche-table .num{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.arche-table .yes{ color:var(--wp--preset--color--brass-deep); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.arche-table .no{ color:#A2705C; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.arche-tablewrap{ overflow-x:auto; }

/* Stat row */
.arche-stat .n{
  font-family:var(--wp--preset--font-family--display);
  font-size:34px; line-height:1; color:var(--wp--preset--color--brass-light);
  display:block; font-variant-numeric:tabular-nums;
}
.arche-stat .l{ display:block; font-size:11.5px; color:#9E9686; margin-top:9px; line-height:1.5; }

/* FAQ */
.arche-faq details{ border-bottom:1px solid var(--wp--preset--color--rule); }
.arche-faq details:first-of-type{ border-top:1px solid var(--wp--preset--color--rule); }
.arche-faq summary{
  padding:18px 0; cursor:pointer; font-size:16px; color:var(--wp--preset--color--ink);
  list-style:none; display:flex; gap:16px; align-items:baseline; font-weight:500;
}
.arche-faq summary::-webkit-details-marker{ display:none; }
.arche-faq summary::before{ content:"+"; color:var(--wp--preset--color--brass); font-size:16px; line-height:1; }
.arche-faq details[open] summary::before{ content:"\2013"; }
.arche-faq summary:focus-visible{ outline:2px solid var(--wp--preset--color--brass); outline-offset:3px; }
.arche-faq .a{ margin:0 0 20px 32px; font-size:14.5px; color:var(--wp--preset--color--body-text); max-width:62ch; }

/* Cards */
.arche-card{
  background:var(--wp--preset--color--paper);
  border:1px solid var(--wp--preset--color--rule);
  border-top:2px solid var(--wp--preset--color--brass);
  padding:32px 30px; height:100%;
}
.arche-card.dark{ background:var(--wp--preset--color--ink); border-color:var(--wp--preset--color--ink); color:#B5AC9B; }
.arche-card .bignum{ font-family:var(--wp--preset--font-family--display); font-size:44px; line-height:1; color:var(--wp--preset--color--brass); }

/* Quote */
.arche-quote{ border-left:2px solid var(--wp--preset--color--brass); padding:4px 0 4px 26px; }

/* Buttons keep square-ish edges */
.wp-block-button__link{ border-radius:2px; letter-spacing:.14em; text-transform:uppercase; font-size:11px; }

@media (max-width:781px){
  .arche-ledger td, .arche-ledger th{ font-size:13.5px; }
  .arche-card{ padding:26px 22px; }
}
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } }
