:root{
  --navy:#141B33; --navy-deep:#0D1226; --gold:#B8862F; --gold-deep:#8F6A22;
  --cream:#F7F4EE; --line:#E7E2D6; --ink:#1B1B22; --ink-soft:#68656B; --white:#fff;
  --available:#6B7F4B; --sold:#7A7A7A; --pending:#B8862F; --error:#B3432B; --success:#6B7F4B;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);line-height:1.6;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;color:var(--navy);}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
/* Horizontal-only on purpose: a shorthand "padding:0 24px" here would zero out
   the top/bottom padding that `section{padding:72px 0}` sets on every
   <section class="wrap ...">, since a class selector beats an element
   selector regardless of source order. That's the exact bug that made the
   "Have art worth showcasing?" section (and several others) look packed
   against the sections next to them — this file used long-hand here instead. */
.wrap{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px;}
.eyebrow{width:34px;height:3px;background:var(--gold);border:none;margin-bottom:16px;}
section{padding:72px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:20px;}
.section-head a{color:var(--gold-deep);font-weight:600;font-size:14px;white-space:nowrap;}
.btn{display:inline-block;padding:14px 26px;font-weight:600;font-size:15px;border-radius:3px;border:1.5px solid var(--navy);cursor:pointer;font-family:inherit;background:none;}
.btn-solid{background:var(--navy);color:var(--white);}
.btn-solid:hover{background:var(--navy-deep);}
.btn-line{background:transparent;color:var(--navy);}
.btn-line:hover{background:rgba(20,27,51,.05);}

/* header */
header{border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;max-width:1180px;margin:0 auto;}
.logo{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--navy);}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{font-weight:500;color:var(--ink-soft);font-size:15px;padding-bottom:4px;}
.nav-links a.active{color:var(--navy);border-bottom:2px solid var(--gold);}
.nav-right{display:flex;align-items:center;gap:18px;}
.nav-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--navy);}

/* hero */
.hero{padding-top:48px;}
.hero-inner{
  position:relative;border-radius:10px;overflow:hidden;
  background-image:url('/assets/hero-bg.jpg');background-size:cover;background-position:center right;background-color:var(--cream);
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:44px;align-items:center;
  padding:72px 56px;
}
.hero-kicker{font-size:12.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px;}
.hero-copy h1{font-size:clamp(28px,3.6vw,42px);line-height:1.2;max-width:15ch;}
.hero-copy p{color:var(--ink-soft);font-size:16px;max-width:42ch;margin:20px 0 30px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-actions .btn-line{background:var(--white);}
.hero-art{position:relative;border-radius:6px;overflow:hidden;background:var(--cream);
  box-shadow:0 32px 60px -22px rgba(20,27,51,.4),0 12px 26px -10px rgba(20,27,51,.28);}
.hero-art-img{display:block;aspect-ratio:1/1.05;}
.hero-art-img img{width:100%;height:100%;object-fit:cover;}
.hero-badge{position:absolute;top:14px;right:14px;}
.hero-art-caption{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 16px;
  background:linear-gradient(to top,rgba(13,18,38,.78),rgba(13,18,38,0));color:#fff;}
.hero-art-caption strong{display:block;font-family:'Fraunces',serif;font-size:17px;font-weight:600;}
.hero-art-caption span{display:block;font-size:12.5px;color:#D9DAE6;margin-top:2px;}

/* stats band (moved above Featured Collection) */
.stats-band{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  padding:34px 20px;box-shadow:0 24px 44px -32px rgba(20,27,51,.22);
}
.stats-band > div{text-align:center;padding:0 10px;position:relative;}
.stats-band > div:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:56%;background:var(--line);}
.stats-band strong{font-family:'Fraunces',serif;font-size:2rem;font-weight:600;color:var(--gold-deep);display:block;}
.stats-band span{font-size:12.5px;color:var(--ink-soft);letter-spacing:.2px;}

/* card grids */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.card-img{position:relative;aspect-ratio:4/3;border-radius:2px;overflow:hidden;background:var(--cream);margin-bottom:12px;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:2px;font-size:11.5px;font-weight:600;color:#fff;}
.badge.available{background:var(--available);}
.badge.sold{background:var(--sold);}
.badge.owned{background:var(--gold-deep);}
.card{display:block;color:inherit;}
a.card{transition:opacity .15s ease;}
a.card:hover{opacity:.85;}
.card h3{font-size:16px;margin-bottom:2px;}
.card .meta{color:var(--ink-soft);font-size:13.5px;}
.card .note{color:var(--ink-soft);font-size:13px;font-style:italic;margin-top:2px;}
.artist-avatar{aspect-ratio:1/1;}

/* artwork single page */
.artwork-single-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start;}
.artwork-main-img{position:relative;aspect-ratio:1/1;border-radius:2px;overflow:hidden;background:var(--cream);}
.artwork-main-img img{width:100%;height:100%;object-fit:cover;}
.artwork-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.92);border:none;color:var(--navy);font-size:20px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(20,27,51,.18);}
.artwork-nav-prev{left:14px;}
.artwork-nav-next{right:14px;}
.artwork-thumb-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.artwork-thumb{width:74px;height:74px;border-radius:2px;overflow:hidden;background:var(--cream);border:1px solid var(--line);flex-shrink:0;padding:0;cursor:pointer;}
.artwork-thumb.active{border-color:var(--gold);border-width:2px;}
.artwork-thumb img{width:100%;height:100%;object-fit:cover;}
.artwork-info{padding-top:4px;}
.artwork-status-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.artwork-meta-row{display:flex;gap:20px;flex-wrap:wrap;padding:14px 0;margin:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.meta-item{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-soft);}
.meta-item svg{width:16px;height:16px;color:var(--gold-deep);flex-shrink:0;}
.artwork-details-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:10px;}
.artwork-details-grid > div{padding:16px 18px 16px 0;border-bottom:1px solid var(--line);}
.artwork-details-grid > div:nth-child(odd){border-right:1px solid var(--line);}
.artwork-details-grid > div:nth-child(even){padding-left:18px;}
.artwork-details-grid .label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:4px;}
.artwork-details-grid .value{font-size:14.5px;font-weight:600;color:var(--navy);}
.detail-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-soft);}

/* exhibition (single feature) */
.exhibition-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:var(--navy);border-radius:8px;overflow:hidden;}
.exhibition-feature img{object-fit:cover;width:100%;height:380px;display:block;}
.exhibition-feature-copy{padding:40px 44px;color:#fff;display:flex;flex-direction:column;}
.exhibition-kicker{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.exhibition-feature-copy h3{font-size:26px;color:#fff;margin-bottom:14px;}
.exhibition-feature-copy .meta-line{color:#B7B9CC;}
.exhibition-feature-copy p{color:#B7B9CC;font-size:14.5px;margin:14px 0 22px;}
.exhibition-feature-copy .btn-solid{background:#fff;color:var(--navy);border-color:#fff;align-self:flex-start;}
.exhibition-feature-copy .btn-solid:hover{background:var(--cream);}
.meta-line{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ink-soft);margin-bottom:6px;}

/* bottom CTA cards (image background) */
.cta-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.cta-card{position:relative;border-radius:10px;overflow:hidden;min-height:260px;padding:32px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background-size:cover;background-position:center;color:#fff;}
.cta-card::before{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(13,18,38,.82),rgba(13,18,38,.15) 55%,rgba(13,18,38,.35));}
.cta-card > *{position:relative;z-index:1;}
.cta-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.cta-card h3{font-size:22px;color:#fff;margin-bottom:8px;}
.cta-card p{font-size:14px;color:#D9DAE6;margin-bottom:16px;max-width:32ch;}
.cta-link{display:inline-block;font-weight:600;font-size:14px;color:#fff;border-bottom:1.5px solid var(--gold);padding-bottom:2px;width:fit-content;}

/* stats bar */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:36px 24px;background:var(--navy);border-radius:4px;text-align:center;}
.stats-bar > div{display:flex;flex-direction:column;gap:6px;}
.stats-bar strong{font-family:'Fraunces',serif;font-size:2rem;color:#fff;font-weight:600;}
.stats-bar span{font-size:13px;color:#B7B9CC;letter-spacing:.2px;}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.step{text-align:center;}
.step-num{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:17px;margin:0 auto 16px;}
.step h3{font-size:17px;margin-bottom:8px;}
.step p{color:var(--ink-soft);font-size:14.5px;line-height:1.6;}

/* story */
.story{display:grid;grid-template-columns:0.85fr 1.15fr;gap:52px;align-items:center;}
.story img{border-radius:2px;aspect-ratio:1/1;object-fit:cover;}
.story h2{font-size:28px;margin-bottom:16px;}
.story p{color:var(--ink-soft);font-size:15.5px;max-width:56ch;}

/* why tesito icon row */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);}
.why-icon{width:22px;height:22px;color:var(--gold-deep);margin-bottom:10px;}
.why-item h4{font-family:'Fraunces',serif;font-size:15px;color:var(--navy);margin-bottom:4px;font-weight:600;}
.why-item p{font-size:13px;color:var(--ink-soft);}

/* featured collection (text + mosaic) */
.collection-split{display:grid;grid-template-columns:0.75fr 1.25fr;gap:48px;align-items:center;}
.collection-copy p{color:var(--ink-soft);font-size:15.5px;margin-bottom:24px;max-width:34ch;}
.collection-mosaic{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:repeat(2,1fr);gap:16px;height:420px;}
.mosaic-tile{display:block;border-radius:6px;overflow:hidden;background:var(--cream);}
.mosaic-tile img{width:100%;height:100%;object-fit:cover;}
.mosaic-tile-lg{grid-row:1/3;}

/* footer */
footer{background:var(--navy-deep);color:#D9DAE6;padding:56px 0 0;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-top p{font-size:14px;color:#B7B9CC;max-width:32ch;}
.footer-col h4{font-size:13px;letter-spacing:.4px;color:#fff;margin-bottom:14px;font-weight:600;}
.footer-col a,.footer-col li{display:block;font-size:14px;color:#B7B9CC;margin-bottom:10px;list-style:none;}
.footer-col a:hover{color:#fff;}
.footer-social{display:flex;gap:14px;margin-top:6px;}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;}
.footer-bottom{text-align:center;font-size:13px;color:#8A8CA0;padding:20px 0;}

/* forms (submit/login/admin pages) */
.form-wrap{max-width:680px;margin:0 auto;padding:56px 24px 90px;}
.form-wrap h1{font-size:2.2rem;text-align:center;margin-bottom:8px;}
.form-wrap .sub{text-align:center;color:var(--ink-soft);font-size:15px;margin-bottom:40px;}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:36px;}
.contact-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:4px;}
.contact-card-icon{font-size:22px;}
.contact-card-label{font-size:12px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;}
.contact-card a{color:var(--navy);font-weight:600;font-size:14.5px;}
.contact-card a:hover{color:var(--gold-deep);}
.contact-card span{color:var(--navy);font-weight:600;font-size:14.5px;}

/* legal pages */
.legal-body h2{font-size:18px;margin:32px 0 10px;color:var(--navy);}
.legal-body h2:first-child{margin-top:0;}
.legal-body p{color:var(--ink-soft);font-size:15px;margin-bottom:10px;line-height:1.7;}
.legal-body ul{margin:0 0 14px 20px;color:var(--ink-soft);font-size:15px;line-height:1.7;}
.legal-body li{margin-bottom:4px;}
.msg{padding:14px 18px;border-radius:4px;font-size:14.5px;font-weight:600;margin-bottom:24px;}
.msg.success{background:#EEF2E6;color:var(--success);}
.msg.error{background:#F7E9E5;color:var(--error);}
form{display:flex;flex-direction:column;gap:20px;}
label{font-weight:600;font-size:14.5px;color:var(--navy);display:block;margin-bottom:8px;}
.req{color:var(--error);}
input[type=text],input[type=email],input[type=number],input[type=password],input[type=date],input[type=time],input[type=file],textarea,select{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:3px;font-size:15px;font-family:inherit;background:var(--white);}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);}
textarea{resize:vertical;min-height:110px;}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
button[type=submit]{background:var(--navy);color:#fff;border:none;padding:16px;font-size:15.5px;font-weight:600;border-radius:3px;cursor:pointer;margin-top:8px;}
button[type=submit]:hover{background:var(--navy-deep);}

/* admin tables/lists */
table{width:100%;border-collapse:collapse;margin-bottom:60px;}
th{text-align:left;font-size:12.5px;letter-spacing:.3px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:0 12px 12px;}
td{padding:14px 12px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:middle;}
.thumb{width:56px;height:56px;border-radius:3px;object-fit:cover;background:var(--cream);}
.actions a,.actions button{font-size:13.5px;font-weight:600;margin-right:10px;border:none;background:none;cursor:pointer;font-family:inherit;padding:8px 14px;border-radius:3px;color:#fff;}
.btn-approve{background:var(--available);}
.btn-reject{background:var(--error);}
.msg-row{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line);}
.msg-row.is-new{background:linear-gradient(to right, rgba(184,134,47,.06), transparent);}


/* why tesito: icon sits on the same line as the title */
.why-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.why-head .why-icon{margin-bottom:0;flex-shrink:0;}
.why-head h4{margin-bottom:0;}

/* footer WhatsApp button */
.wa-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:12px 20px;
  border:1.5px solid #25D366;border-radius:6px;color:#fff;background:rgba(37,211,102,.12);
  font-weight:600;font-size:14px;line-height:1.2;transition:background .15s ease;}
.wa-btn svg{color:#25D366;flex-shrink:0;}
.wa-btn:hover{background:rgba(37,211,102,.24);}

/* how it works (cards) */
.how-it-works .step{background:var(--white);}

/* page spacing safety net: nothing ever sits flush against the footer */
main,.admin-page{display:block;}
.admin-page{padding-bottom:80px;}
footer{margin-top:0;}
section:last-of-type{padding-bottom:72px;}

/* admin: shared page pieces */
.page-head{padding:40px 0 8px;}
.page-sub{color:var(--ink-soft);font-size:14.5px;margin-top:6px;}
.back-link{display:inline-block;margin-top:28px;font-size:14px;font-weight:600;color:var(--gold-deep);}
.back-link:hover{color:var(--navy);}
.pill-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 30px;}
.pill{border-radius:20px;padding:10px 20px;font-size:14px;}
.split-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;}
.artist-list{border:1px solid var(--line);border-radius:4px;overflow:hidden;height:fit-content;}
.artist-list a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink);}
.artist-list a.on{background:var(--cream);color:var(--navy);}
.artist-list img{width:32px;height:32px;border-radius:50%;object-fit:cover;}
.arow{display:grid;grid-template-columns:var(--cols);gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);}
.arow-head{font-size:12.5px;color:var(--ink-soft);font-weight:600;border-bottom:2px solid var(--line);padding:26px 0 12px;}
.arow .cell{font-size:12.5px;color:var(--ink-soft);}
.arow-actions{display:flex;gap:8px;flex-wrap:wrap;}
.nav-admin-btn{padding:10px 18px;font-size:14px;}

/* admin dashboard */
.dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px;}
.dash-tile{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--white);
  box-shadow:0 18px 34px -28px rgba(20,27,51,.35);transition:transform .15s ease,border-color .15s ease;}
.dash-tile:hover{transform:translateY(-2px);border-color:var(--gold);}
.dash-tile.has-alert{border-color:var(--gold);background:linear-gradient(to right,rgba(184,134,47,.07),transparent);}
.dash-icon{width:48px;height:48px;border-radius:10px;background:var(--cream);color:var(--gold-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dash-icon svg{width:24px;height:24px;}
.dash-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.dash-title{font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:var(--navy);}
.dash-desc{font-size:13px;color:var(--ink-soft);line-height:1.45;}
.dash-count{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;min-width:44px;}
.dash-count strong{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--navy);line-height:1.1;text-transform:none;}
.has-alert .dash-count strong{color:var(--gold-deep);}
.dash-quick{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}

/* artist gallery hero */
.artist-hero{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:48px;}
.artist-hero-img{width:220px;height:220px;border-radius:50%;overflow:hidden;background:var(--cream);}
.artist-hero-img img{width:100%;height:100%;object-fit:cover;}
.artist-hero-name{font-size:34px;margin-bottom:8px;}

/* exhibition detail hero */
.ex-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:stretch;padding-top:40px;padding-bottom:40px;}
.ex-hero-photo{width:100%;height:460px;object-fit:cover;display:block;}
.ex-hero-copy{background:var(--cream);border-radius:4px;padding:34px;display:flex;flex-direction:column;justify-content:center;}
.ex-hero-title{font-size:2.2rem;line-height:1.15;margin-bottom:18px;}

/* admin action buttons that are links */
a.actions{color:#fff;font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:3px;}

/* header user icon (brown/gold) */
.nav-user{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  border:1.5px solid var(--gold);color:var(--gold-deep);transition:background .15s ease,color .15s ease;}
.nav-user:hover{background:var(--gold);color:#fff;}

/* exhibitions list cards */
.ex-list{display:flex;flex-direction:column;gap:24px;padding-bottom:20px;}
.ex-card{display:grid;grid-template-columns:280px minmax(0,1fr) auto;gap:28px;align-items:center;
  border:1px solid var(--line);border-radius:6px;padding:20px;background:var(--white);}
.ex-card-img{display:block;aspect-ratio:4/3;border-radius:3px;overflow:hidden;background:var(--cream);}
.ex-card-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.ex-card-body h3{font-size:20px;margin-bottom:8px;}
.ex-card-body .meta-line{align-items:flex-start;}
.ex-card-body .meta-line span{min-width:0;overflow-wrap:anywhere;}

/* extra button styles */
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:#c99638;}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.1);}

/* about page */
.about-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:56px;}
.about-hero h1{font-size:clamp(28px,3.8vw,44px);line-height:1.15;margin-bottom:18px;}
.about-lead{color:var(--ink-soft);font-size:16.5px;max-width:52ch;margin-bottom:28px;}
.about-mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:440px;}
.about-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:8px;}
.about-mosaic .am-lg{grid-row:1/3;}
.about-head{max-width:64ch;margin-bottom:34px;}
.about-head h2{font-size:clamp(24px,3vw,32px);margin-bottom:14px;}
.about-head p{color:var(--ink-soft);font-size:16px;}
.about-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.about-card{padding:26px;border:1px solid var(--line);border-radius:10px;background:var(--white);}
.about-card-icon{width:46px;height:46px;border-radius:10px;background:var(--cream);color:var(--gold-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.about-card-icon svg{width:24px;height:24px;}
.about-card h3{font-size:18px;margin-bottom:8px;}
.about-card p{color:var(--ink-soft);font-size:14.5px;}
.about-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.about-split.reverse .about-photo{order:2;}
.about-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;box-shadow:0 30px 50px -30px rgba(20,27,51,.4);}
.about-tag{font-size:12.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.about-tag.on-dark{color:var(--gold);}
.about-split h2{font-size:clamp(24px,3vw,32px);line-height:1.2;margin-bottom:16px;}
.about-text{color:var(--ink-soft);font-size:15.5px;margin-bottom:20px;}
.about-list{list-style:none;margin:0 0 24px;}
.about-list li{position:relative;padding:12px 0 12px 32px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-soft);line-height:1.55;}
.about-list li:last-child{border-bottom:1px solid var(--line);}
.about-list li::before{content:'';position:absolute;left:0;top:15px;width:20px;height:20px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.4l3 3 6-6.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;}
.about-list strong{color:var(--navy);font-weight:600;}
.about-note{background:var(--cream);border-left:3px solid var(--gold);padding:14px 16px;border-radius:0 6px 6px 0;font-size:14px;color:var(--ink-soft);margin-bottom:22px;}
.about-mission{background:var(--navy);color:#fff;padding:80px 0;}
.about-mission h2{color:#fff;font-size:clamp(24px,3.4vw,36px);line-height:1.25;max-width:26ch;margin-bottom:38px;}
.about-cards.on-dark .about-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);}
.about-cards.on-dark .about-card h3{color:#fff;}
.about-cards.on-dark .about-card p{color:#B7B9CC;}
.steps-4{grid-template-columns:repeat(4,1fr);gap:24px;}
.about-how .step{padding:0 4px;}
.faq{max-width:780px;border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font-weight:600;font-size:15.5px;color:var(--navy);position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--gold-deep);}
.faq details[open] summary::after{content:'\2013';}
.faq details p{padding:0 0 18px;color:var(--ink-soft);font-size:14.5px;}
.faq details a{color:var(--gold-deep);font-weight:600;}
.about-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:44px 48px;border-radius:12px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;}
.about-cta h2{color:#fff;font-size:clamp(22px,3vw,30px);margin-bottom:8px;}
.about-cta p{color:#B7B9CC;font-size:15px;max-width:44ch;}
.about-cta-actions{display:flex;gap:12px;flex-wrap:wrap;}

@media(max-width:900px){
  header{position:relative;}
  .nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:20px 24px;border-bottom:1px solid var(--line);display:none;z-index:20;}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .hero-inner,.exhibition-feature,.story,.artwork-single-grid,.steps,.collection-split{grid-template-columns:1fr;}
  .hero-inner{padding:40px 28px;gap:32px;background-position:top left;}
  .steps{gap:32px;}
  .why-grid{grid-template-columns:1fr;gap:20px;}
  .collection-mosaic{height:340px;}
  .cta-cards{grid-template-columns:1fr;gap:18px;}
  .grid-4,.grid-5,.grid-3{grid-template-columns:repeat(2,1fr);}
  .stats-band{grid-template-columns:repeat(2,1fr);row-gap:24px;}
  .stats-band > div:nth-child(2)::after{display:none;}
  .exhibition-feature img{height:220px;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .row-2{grid-template-columns:1fr;}
  section{padding:48px 0;}
  section:last-of-type{padding-bottom:56px;}
  .about-hero,.about-split{grid-template-columns:1fr;gap:32px;}
  .about-hero{padding-top:36px;}
  .about-mosaic{height:380px;}
  .about-split.reverse .about-photo{order:0;}
  .about-photo{aspect-ratio:4/3;}
  .about-cards{grid-template-columns:1fr;gap:14px;}
  .steps-4{grid-template-columns:repeat(2,1fr);}
  .about-mission{padding:56px 0;}
  .about-cta{flex-direction:column;align-items:flex-start;padding:34px 28px;}
  .ex-card{grid-template-columns:220px minmax(0,1fr);gap:20px;}
  .ex-card-btn{grid-column:1/-1;text-align:center;}
  .split-layout{grid-template-columns:1fr;gap:20px;}
  .artist-hero,.ex-hero{grid-template-columns:1fr;gap:24px;}
  .artist-hero{padding-top:36px;padding-bottom:28px;justify-items:start;}
  .ex-hero-photo{height:300px;}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:20px;}
  .artist-list{max-height:260px;overflow-y:auto;}
}

/* Real phone widths (item #18) — the site previously had one @media query for
   tablet-width layouts, but nothing tuned for a 375-430px phone screen, where
   two-column card grids, the stats bar, and multi-column forms get cramped. */
@media(max-width:600px){
  .wrap{padding-left:18px;padding-right:18px;}
  section{padding:36px 0;}
  .nav{padding:16px 18px;}
  .logo{font-size:21px;}
  .nav-right{gap:12px;}
  .hero{padding-top:20px;}
  .hero-inner{padding:32px 20px;border-radius:8px;background-position:top left;}
  .hero-copy h1{font-size:clamp(24px,7vw,30px);max-width:none;}
  .hero-copy p{font-size:15px;margin:14px 0 22px;}
  .hero-actions .btn{flex:1;text-align:center;padding:14px 16px;}
  .grid-4,.grid-5,.grid-3{grid-template-columns:1fr 1fr;gap:14px;}
  .card h3{font-size:14.5px;}
  .card .meta,.card .note{font-size:12.5px;}
  .section-head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:24px;}
  .stats-band{grid-template-columns:1fr 1fr;gap:20px 14px;padding:24px 16px;}
  .stats-band strong{font-size:1.5rem;}
  .exhibition-feature-copy{padding:28px 20px;}
  .story img{aspect-ratio:16/9;}
  .story h2{font-size:22px;}
  .collection-mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;}
  .mosaic-tile,.mosaic-tile-lg{aspect-ratio:1/1;grid-row:auto;}
  .mosaic-tile-lg{grid-column:1/3;}
  .footer-top{grid-template-columns:1fr;gap:28px;text-align:left;}
  .contact-cards{grid-template-columns:1fr;}
  .artwork-thumb{width:60px;height:60px;}
  .detail-row{font-size:13.5px;}
  .form-wrap{padding:36px 18px 60px;}
  .form-wrap h1{font-size:1.7rem;}
  .row-2{grid-template-columns:1fr;}
  .msg-row{flex-direction:column;}
  .msg-row form{align-self:flex-start;}
  section:last-of-type{padding-bottom:48px;}
  /* exhibitions: image on top, details below, one clean card */
  .ex-list{gap:18px;}
  .ex-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:10px;
    box-shadow:0 18px 32px -26px rgba(20,27,51,.4);}
  .ex-card-img{aspect-ratio:1/1;border-radius:0;}
  .ex-card-body{padding:18px 18px 4px;}
  .ex-card-body h3{font-size:18px;}
  .ex-card-btn{margin:14px 18px 18px;padding:13px 16px;text-align:center;}

  /* about page */
  .nav-user{width:34px;height:34px;}
  .about-hero{padding-top:20px;gap:26px;}
  .about-lead{font-size:15.5px;margin-bottom:22px;}
  .about-mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px;}
  .about-mosaic .am-lg{grid-row:auto;grid-column:1/3;aspect-ratio:4/3;}
  .about-mosaic img:not(.am-lg){aspect-ratio:1/1;}
  .about-head{margin-bottom:24px;}
  .about-card{padding:20px;}
  .about-split{gap:24px;}
  .about-list li{padding-left:30px;}
  .about-split .hero-actions .btn,.about-split > div > .btn{width:100%;text-align:center;}
  .about-mission{padding:44px 0;}
  .steps-4{grid-template-columns:1fr;gap:14px;}
  .about-how .step{display:grid;grid-template-columns:42px 1fr;column-gap:16px;row-gap:4px;text-align:left;
    padding:18px;border:1px solid var(--line);border-radius:10px;}
  .about-how .step-num{grid-row:1/3;margin:0;align-self:start;}
  .about-how .step h3{margin:8px 0 0;}
  .about-how .step p{grid-column:2;margin:0;}
  .faq summary{font-size:15px;padding:16px 30px 16px 0;}
  .about-cta{padding:28px 20px;border-radius:10px;}
  .about-cta-actions,.about-cta-actions .btn{width:100%;text-align:center;}
  .artist-hero-img{width:140px;height:140px;}
  .artist-hero-name{font-size:26px;}
  .ex-hero{padding-top:24px;padding-bottom:24px;}
  .ex-hero-photo{height:240px;}
  .ex-hero-copy{padding:22px 18px;}
  .ex-hero-title{font-size:1.6rem;}
  .stats-bar{padding:24px 16px;}
  .stats-bar strong{font-size:1.4rem;}
  .page-head{padding:28px 0 4px;}
  .page-head h1,.form-wrap h1{font-size:1.7rem;}
  .back-link{margin-top:20px;}
  .admin-page{padding-bottom:56px;}
  .nav-admin-btn{padding:8px 14px;font-size:13.5px;}
  .pill-tabs{margin:22px 0 24px;}
  .pill{padding:9px 16px;font-size:13.5px;}

  /* dashboard: full-width tiles */
  .dash-grid{grid-template-columns:1fr;gap:12px;margin-top:24px;}
  .dash-tile{padding:16px;gap:14px;}
  .dash-quick .btn{flex:1 1 100%;text-align:center;}

  /* footer */
  footer{padding-top:44px;}
  .footer-top{gap:32px;padding-bottom:32px;}
  .wa-btn{display:flex;width:100%;padding:14px 18px;}
  .footer-bottom{padding:18px 18px 22px;line-height:1.7;}

  /* home: why-tesito items and how-it-works cards */
  .why-grid{gap:18px;}
  .how-it-works .steps{gap:14px;}
  .how-it-works .step{display:grid;grid-template-columns:42px 1fr;column-gap:16px;row-gap:4px;text-align:left;
    padding:18px;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 28px -24px rgba(20,27,51,.3);}
  .how-it-works .step-num{grid-row:1/3;margin:0;align-self:start;}
  .how-it-works .step h3{margin:8px 0 0;}
  .how-it-works .step p{grid-column:2;margin:0;}

  /* admin lists: rows become cards */
  .arow-head{display:none;}
  .arow{grid-template-columns:64px 1fr;gap:6px 14px;padding:16px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;}
  .arow > *:nth-child(n+3){grid-column:1/-1;}
  .arow .thumb{width:64px;height:64px;}
  .arow-actions{margin-top:6px;}
  .arow-actions .actions,.arow-actions form,.arow-actions a{flex:1;}
  .arow-actions button,.arow-actions a{width:100%;text-align:center;padding:11px 14px;margin:0;}

  /* admin tables: stacked cards instead of sideways scrolling */
  table.stack-table,table.stack-table tbody{display:block;}
  table.stack-table thead{display:none;}
  table.stack-table tr{display:block;padding:16px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;}
  table.stack-table td{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;border-bottom:none;}
  table.stack-table td[data-label]::before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.3px;}
  table.stack-table td.actions{justify-content:flex-start;flex-wrap:wrap;gap:12px 18px;padding-top:12px;margin-top:6px;border-top:1px solid var(--line);}
  table.stack-table td.actions:empty{display:none;}
  table.stack-table td.empty{display:block;}
  table.stack-table td.empty::before{content:none;}
  /* any other table still scrolls rather than squashing */
  table:not(.stack-table){display:block;overflow-x:auto;white-space:nowrap;}
  table{margin-bottom:32px;}
}

