/* ==========================================================================
   ARTISPRENEUR — MASTER DESIGN SYSTEM
   Single source of truth for every page on artispreneur.com.
   Tokens follow the official Artispreneur Brand Guidelines v1.0 and are
   kept identical to artispreneur-directory / artispreneur-academy so the
   whole platform reads as one product.
   ========================================================================== */

/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root{
  /* Primary */
  --red:#C0272D; --red-hover:#A12024; --red-dark:#8B171C; --red-light:#F5E5E6;
  --gold:#F5C100; --gold-hover:#D9AB00; --gold-dark:#B8910A; --gold-tint:#FFF8D6;

  /* Surfaces */
  --parchment:#F9F6EF; --parchment-2:#F2EDE2; --parchment-3:#EAE4D6;
  --white:#FFFFFF;
  --ink:#0E0E0E; --ink-2:#151515;

  /* Text */
  --charcoal:#1A1A1A; --warm-gray:#4A4A4A; --muted:#8A8070;
  --border:#E8E3D9; --border-dark:#D4CBBA;

  /* Status */
  --green:#2E7D4F; --green-light:#E6F2EA;
  --amber:#B8760A; --amber-light:#FDF3E0;
  --blue:#26557E; --blue-light:#E7EFF6;

  /* Type */
  --heading:'Playfair Display',Georgia,'Times New Roman',serif;
  --body:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,monospace;

  /* Layout */
  --maxw:1240px; --maxw-narrow:840px;
  --radius:10px; --radius-lg:16px; --radius-xl:22px; --radius-pill:100px;
  --nav-h:68px;

  /* Elevation */
  --shadow-xs:0 1px 2px rgba(26,26,26,.05);
  --shadow-sm:0 1px 3px rgba(26,26,26,.07),0 1px 2px rgba(26,26,26,.04);
  --shadow-md:0 4px 14px -2px rgba(26,26,26,.09),0 2px 6px -2px rgba(26,26,26,.05);
  --shadow-lg:0 12px 32px -6px rgba(26,26,26,.13),0 4px 12px -4px rgba(26,26,26,.06);
  --shadow-red:0 8px 28px -6px rgba(192,39,45,.28);

  --ease:cubic-bezier(.4,0,.2,1);
}

/* ── Reset ──────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{
  font-family:var(--body);background:var(--parchment);color:var(--charcoal);
  line-height:1.65;font-size:16px;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer}
table{border-collapse:collapse;width:100%}
h1,h2,h3,h4,h5,h6{font-family:var(--heading);font-weight:700;color:var(--charcoal);line-height:1.18;letter-spacing:-.01em}
::selection{background:rgba(245,193,0,.32);color:var(--charcoal)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}

/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--parchment-2)}
::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--red)}
.hide-scrollbar::-webkit-scrollbar{display:none}
.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}

/* ── Layout primitives ──────────────────────────────────────────────────── */
.ap-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;width:100%}
.ap-container-narrow{max-width:var(--maxw-narrow);margin:0 auto;padding:0 24px;width:100%}
.ap-section{padding:80px 0}
.ap-section-sm{padding:52px 0}
.ap-section-lg{padding:104px 0}
.bg-white{background:var(--white)}
.bg-parchment{background:var(--parchment)}
.bg-parchment-2{background:var(--parchment-2)}
.bg-ink{background:var(--ink);color:var(--white)}
.bg-ink h1,.bg-ink h2,.bg-ink h3,.bg-ink h4{color:var(--white)}

.ap-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border) 15%,var(--border) 85%,transparent);border:0}

/* ── Typography helpers ─────────────────────────────────────────────────── */
.eyebrow{
  font-family:var(--body);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.2em;color:var(--red);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';height:1px;width:24px;background:var(--red);flex-shrink:0}
.eyebrow.no-rule::before{display:none}
.bg-ink .eyebrow{color:var(--gold)}
.bg-ink .eyebrow::before{background:var(--gold)}

.display{font-family:var(--heading);font-size:clamp(38px,5.4vw,68px);font-weight:800;line-height:1.05;letter-spacing:-.025em}
.h1{font-size:clamp(30px,3.8vw,46px)}
.h2{font-size:clamp(26px,3vw,38px)}
.h3{font-size:clamp(20px,2vw,25px)}
.lead{font-size:clamp(16px,1.35vw,19px);color:var(--warm-gray);line-height:1.72}
.bg-ink .lead{color:rgba(255,255,255,.68)}
.text-red{color:var(--red)}
.text-gold{color:var(--gold-dark)}
.text-muted{color:var(--muted)}
.text-warm{color:var(--warm-gray)}
.serif{font-family:var(--heading)}
.text-gradient{background:linear-gradient(120deg,var(--red) 0%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.line-clamp-1,.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.line-clamp-1{-webkit-line-clamp:1}
.line-clamp-2{-webkit-line-clamp:2}
.line-clamp-3{-webkit-line-clamp:3}

.sec-head{max-width:660px;margin-bottom:44px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .eyebrow{margin-bottom:16px}
.sec-head.center .eyebrow{justify-content:center}
.sec-head h2{margin-bottom:14px}
.sec-head p{color:var(--warm-gray);font-size:16.5px;line-height:1.72}
.bg-ink .sec-head p{color:rgba(255,255,255,.62)}
.sec-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.sec-bar h2,.sec-bar h3{margin:0}
.sec-link{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-weight:700;font-size:14px;transition:gap .18s var(--ease),color .18s}
.sec-link:hover{gap:11px;color:var(--red-hover)}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;border-radius:var(--radius);
  font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.01em;
  cursor:pointer;border:1.5px solid transparent;white-space:nowrap;
  transition:background .18s var(--ease),color .18s,border-color .18s,box-shadow .2s,transform .15s;
}
.btn:active{transform:translateY(0)}
.btn svg,.btn i{width:16px;height:16px;flex-shrink:0}
.btn-primary{background:var(--red);color:var(--white);border-color:var(--red)}
.btn-primary:hover{background:var(--red-hover);border-color:var(--red-hover);transform:translateY(-1px);box-shadow:var(--shadow-red)}
.btn-gold{background:var(--gold);color:var(--charcoal);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-hover);border-color:var(--gold-hover);transform:translateY(-1px);box-shadow:0 8px 24px -6px rgba(245,193,0,.5)}
.btn-outline{background:transparent;color:var(--red);border-color:var(--red)}
.btn-outline:hover{background:var(--red);color:var(--white)}
.btn-ghost{background:var(--white);color:var(--charcoal);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.btn-dark{background:var(--charcoal);color:var(--white);border-color:var(--charcoal)}
.btn-dark:hover{background:#000;transform:translateY(-1px);box-shadow:var(--shadow-lg)}
.btn-on-dark{background:transparent;color:var(--white);border-color:rgba(255,255,255,.32)}
.btn-on-dark:hover{border-color:var(--white);background:rgba(255,255,255,.09)}
.btn-lg{padding:15px 32px;font-size:15.5px}
.btn-sm{padding:8px 16px;font-size:13px;border-radius:8px}
.btn-block{width:100%}
.btn[disabled],.btn.is-disabled{opacity:.5;pointer-events:none}
.btn.is-loading{position:relative;color:transparent!important}
.btn.is-loading::after{
  content:'';position:absolute;width:15px;height:15px;border-radius:50%;
  border:2px solid currentColor;border-top-color:transparent;
  color:var(--white);animation:ap-spin .6s linear infinite;
}
.btn-ghost.is-loading::after,.btn-outline.is-loading::after{color:var(--red)}
@keyframes ap-spin{to{transform:rotate(360deg)}}

/* ── Badges & pills ─────────────────────────────────────────────────────── */
.badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 11px;border-radius:var(--radius-pill);
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  white-space:nowrap;
}
.badge-gold{background:var(--gold-tint);color:var(--gold-dark);border:1px solid rgba(245,193,0,.42)}
.badge-red{background:var(--red-light);color:var(--red);border:1px solid rgba(192,39,45,.22)}
.badge-green{background:var(--green-light);color:var(--green);border:1px solid rgba(46,125,79,.22)}
.badge-amber{background:var(--amber-light);color:var(--amber);border:1px solid rgba(184,118,10,.22)}
.badge-blue{background:var(--blue-light);color:var(--blue);border:1px solid rgba(38,85,126,.2)}
.badge-neutral{background:var(--parchment-2);color:var(--warm-gray);border:1px solid var(--border)}
.badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.badge-live .badge-dot{animation:ap-pulse 2s ease-in-out infinite}
@keyframes ap-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:var(--radius-pill);
  background:var(--white);border:1px solid var(--border);
  font-size:13px;font-weight:600;color:var(--warm-gray);
  cursor:pointer;transition:all .18s var(--ease);
}
.chip:hover{border-color:var(--red);color:var(--red)}
.chip.active{background:var(--red);border-color:var(--red);color:var(--white)}

/* ── Cards ──────────────────────────────────────────────────────────────── */
.card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
}
.card-pad{padding:26px}
.card-hover{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .2s}
.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--red)}
.card-head{
  padding:18px 24px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--parchment);border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.card-head h3{font-size:16px;font-family:var(--body);font-weight:800;letter-spacing:.005em}
.card-body{padding:24px}
.card-foot{padding:16px 24px;border-top:1px solid var(--border);background:var(--parchment)}

.icon-tile{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--red-light);color:var(--red);
}
.icon-tile svg,.icon-tile i{width:20px;height:20px}
.icon-tile.gold{background:var(--gold-tint);color:var(--gold-dark)}
.icon-tile.green{background:var(--green-light);color:var(--green)}
.icon-tile.blue{background:var(--blue-light);color:var(--blue)}
.icon-tile.amber{background:var(--amber-light);color:var(--amber)}
.icon-tile.neutral{background:var(--parchment-2);color:var(--warm-gray)}
.icon-tile.sm{width:34px;height:34px;border-radius:9px}
.icon-tile.sm svg,.icon-tile.sm i{width:16px;height:16px}
.icon-tile.lg{width:54px;height:54px;border-radius:14px}
.icon-tile.lg svg,.icon-tile.lg i{width:24px;height:24px}

/* ── Grids ──────────────────────────────────────────────────────────────── */
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-auto{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.grid-auto-sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

/* ── Forms ──────────────────────────────────────────────────────────────── */
.field{margin-bottom:18px}
.field label,.form-label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--warm-gray);margin-bottom:7px;
}
.input,.select,.textarea{
  width:100%;padding:11px 14px;
  background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);
  font-family:var(--body);font-size:14.5px;color:var(--charcoal);
  transition:border-color .18s,box-shadow .18s;
}
.input::placeholder,.textarea::placeholder{color:var(--muted)}
.input:focus,.select:focus,.textarea:focus{
  outline:none;border-color:var(--red);
  box-shadow:0 0 0 3px rgba(192,39,45,.1);
}
.textarea{min-height:110px;resize:vertical;line-height:1.65}
.select{appearance:none;cursor:pointer;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A8070' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.field-hint{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.field-error{font-size:12.5px;color:var(--red);margin-top:6px;font-weight:600}
.input.has-error,.textarea.has-error{border-color:var(--red)}

.search-wrap{
  display:flex;align-items:center;gap:10px;
  background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--radius-pill);padding:10px 18px;
  transition:box-shadow .2s,border-color .2s;
}
.search-wrap:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(245,193,0,.2)}
.search-wrap input{flex:1;border:none;outline:none;background:none;font-size:14.5px}
.search-wrap svg,.search-wrap i{width:17px;height:17px;color:var(--muted);flex-shrink:0}

/* ── Site nav (shared across all pages) ─────────────────────────────────── */
.ap-nav{
  position:sticky;top:0;z-index:300;height:var(--nav-h);
  background:rgba(249,246,239,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.ap-nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;height:100%;
  display:flex;align-items:center;gap:28px;
}
.ap-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ap-brand img{height:34px;width:auto}
.ap-brand-text{font-family:var(--heading);font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--charcoal)}
.ap-nav-links{display:flex;align-items:center;gap:4px;margin-left:8px}
.ap-nav-links a{
  padding:8px 13px;border-radius:8px;font-size:14px;font-weight:600;color:var(--warm-gray);
  transition:background .16s,color .16s;
}
.ap-nav-links a:hover{background:var(--parchment-2);color:var(--charcoal)}
.ap-nav-links a.active{color:var(--red);background:var(--red-light)}
.ap-nav-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
.ap-nav-toggle{display:none;padding:8px;border-radius:8px;color:var(--charcoal)}
.ap-nav-toggle:hover{background:var(--parchment-2)}
.ap-avatar{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;overflow:hidden;
  background:var(--red);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:13.5px;font-family:var(--body);
  border:2px solid var(--white);box-shadow:var(--shadow-sm);cursor:pointer;
}
.ap-avatar img{width:100%;height:100%;object-fit:cover}

/* Account dropdown */
.ap-menu{
  position:absolute;top:calc(100% + 8px);right:0;min-width:216px;
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  box-shadow:var(--shadow-lg);padding:6px;z-index:400;display:none;
}
.ap-menu.open{display:block;animation:ap-fade-in .16s var(--ease)}
.ap-menu-head{padding:11px 12px 9px;border-bottom:1px solid var(--border);margin-bottom:5px}
.ap-menu-head strong{display:block;font-size:13.5px;font-weight:800;color:var(--charcoal)}
.ap-menu-head span{font-size:12px;color:var(--muted)}
.ap-menu a,.ap-menu button{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--warm-gray);
  transition:background .14s,color .14s;
}
.ap-menu a:hover,.ap-menu button:hover{background:var(--parchment);color:var(--charcoal)}
.ap-menu svg,.ap-menu i{width:15px;height:15px;flex-shrink:0}
.ap-menu-sep{height:1px;background:var(--border);margin:5px 0}
@keyframes ap-fade-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

/* Mobile nav drawer */
.ap-nav-mobile{
  display:none;position:fixed;inset:var(--nav-h) 0 0;z-index:290;
  background:var(--parchment);padding:20px 24px;overflow-y:auto;
}
.ap-nav-mobile.open{display:block}
.ap-nav-mobile a{
  display:block;padding:14px 4px;border-bottom:1px solid var(--border);
  font-size:16px;font-weight:700;color:var(--charcoal);
}
.ap-nav-mobile a.active{color:var(--red)}
.ap-nav-mobile .btn{margin-top:20px}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.ap-footer{background:var(--ink);color:rgba(255,255,255,.6);padding:64px 0 30px;margin-top:auto}
.ap-footer-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:44px;
}
.ap-footer-brand img{height:38px;width:auto;margin-bottom:16px}
.ap-footer-brand p{font-size:14px;line-height:1.7;max-width:300px;color:rgba(255,255,255,.5)}
.ap-footer-tagline{
  font-family:var(--heading);font-style:italic;font-size:17px;color:var(--gold);
  margin-top:16px;font-weight:600;
}
.ap-footer h4{
  font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--white);margin-bottom:16px;
}
.ap-footer ul li{margin-bottom:10px}
.ap-footer ul a{font-size:14px;color:rgba(255,255,255,.55);transition:color .16s}
.ap-footer ul a:hover{color:var(--gold)}
.ap-footer-bottom{
  max-width:var(--maxw);margin:44px auto 0;padding:22px 24px 0;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:13px;color:rgba(255,255,255,.42);
}

/* ── Tabs ───────────────────────────────────────────────────────────────── */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto}
.tab{
  padding:11px 18px;font-size:14px;font-weight:700;color:var(--muted);
  border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;
  transition:color .16s,border-color .16s;
}
.tab:hover{color:var(--charcoal)}
.tab.active{color:var(--red);border-bottom-color:var(--red)}

/* ── Progress ───────────────────────────────────────────────────────────── */
.progress{height:7px;background:var(--parchment-3);border-radius:99px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:99px;transition:width .5s var(--ease)}

/* ── Modal ──────────────────────────────────────────────────────────────── */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(14,14,14,.6);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;z-index:500;padding:24px;
}
.modal-backdrop.open{display:flex}
.modal{
  background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:520px;
  box-shadow:var(--shadow-lg);overflow:hidden;max-height:90vh;display:flex;flex-direction:column;
  animation:ap-modal-in .2s var(--ease);
}
@keyframes ap-modal-in{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
.modal-header{
  padding:20px 24px;border-bottom:1px solid var(--border);background:var(--parchment);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.modal-header h3{font-size:17px}
.modal-close{color:var(--muted);padding:4px;border-radius:6px;line-height:0;transition:all .15s}
.modal-close:hover{background:var(--parchment-3);color:var(--charcoal)}
.modal-body{padding:24px;overflow-y:auto}
.modal-foot{padding:16px 24px;border-top:1px solid var(--border);background:var(--parchment);display:flex;gap:10px;justify-content:flex-end}

/* ── Toast ──────────────────────────────────────────────────────────────── */
.ap-toasts{position:fixed;bottom:22px;right:22px;z-index:600;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.ap-toast{
  display:flex;align-items:center;gap:11px;pointer-events:auto;
  background:var(--charcoal);color:var(--white);
  padding:13px 18px;border-radius:var(--radius);box-shadow:var(--shadow-lg);
  font-size:14px;font-weight:600;max-width:380px;
  animation:ap-toast-in .22s var(--ease);
}
.ap-toast.ok{background:var(--green)}
.ap-toast.err{background:var(--red)}
.ap-toast svg,.ap-toast i{width:17px;height:17px;flex-shrink:0}
@keyframes ap-toast-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}

/* ── Skeleton / empty / states ──────────────────────────────────────────── */
.skeleton{
  background:linear-gradient(90deg,var(--parchment-2) 25%,var(--parchment-3) 50%,var(--parchment-2) 75%);
  background-size:200% 100%;animation:ap-shimmer 1.4s infinite;border-radius:6px;
}
@keyframes ap-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.empty-state{text-align:center;padding:56px 24px;color:var(--muted)}
.empty-state .icon-tile{margin:0 auto 16px}
.empty-state h3{font-size:19px;margin-bottom:8px;color:var(--charcoal)}
.empty-state p{font-size:14.5px;max-width:360px;margin:0 auto 18px;line-height:1.65}

/* ── Animation utilities ────────────────────────────────────────────────── */
@keyframes ap-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.fade-up{animation:ap-fade-up .55s var(--ease) both}
.d1{animation-delay:.06s}.d2{animation-delay:.12s}.d3{animation-delay:.18s}
.d4{animation-delay:.24s}.d5{animation-delay:.3s}.d6{animation-delay:.36s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .ap-footer-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:860px){
  .ap-nav-links{display:none}
  .ap-nav-toggle{display:flex}
  .ap-nav-right .nav-hide-sm{display:none}
}
@media (max-width:720px){
  .ap-section{padding:56px 0}
  .ap-section-lg{padding:64px 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .ap-footer-grid{grid-template-columns:1fr;gap:30px}
  .ap-footer-bottom{flex-direction:column;text-align:center}
  .card-pad{padding:20px}
  .ap-container,.ap-container-narrow{padding:0 18px}
  .ap-toasts{left:16px;right:16px;bottom:16px}
  .ap-toast{max-width:none}
}
