/* =========================================================
   Uriel Alexander Art Studio — Unified Modern 2026 CSS
   Works for: index.html + gallery + commissions + about + contact
   ========================================================= */

/* -------------------------
   Design tokens
   ------------------------- */
:root{
  --bg: #fbf7f5;
  --surface: rgba(255,255,255,.72);
  --surface-2: rgba(255,255,255,.55);

  --text: #1f1a17;
  --muted-text: rgba(31,26,23,.72);

  --brand-1: #2a1f1b;
  --brand-2: #6e625a;

  --accent: #c5912f;
  --accent-2: #b9772a;

  --border: rgba(42,31,27,.12);

  --radius-sm: 14px;
  --radius-md: 18px;
  --radius-lg: 26px;

  --shadow-sm: 0 10px 30px rgba(0,0,0,.06);
  --shadow-md: 0 18px 55px rgba(0,0,0,.10);

  --t: 220ms cubic-bezier(.2,.8,.2,1);

  --container: clamp(20px, 5vw, 72px);
  --max: 1180px;

  --h1: clamp(2.25rem, 3.6vw, 3.25rem);
  --h2: clamp(1.75rem, 2.3vw, 2.25rem);
  --body: 1.05rem;
  --small: .95rem;
}

/* -------------------------
   Reset & base
   ------------------------- */
*,
*::before,
*::after{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

body{
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(1200px 800px at 15% 10%, rgba(197,145,47,.10), transparent 55%),
    radial-gradient(1100px 700px at 85% 20%, rgba(110,98,90,.10), transparent 55%),
    linear-gradient(180deg, #fff, var(--bg));
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img{
  display: block;
  max-width: 100%;
  height: auto;
}

a{ color: inherit; }
a:hover{ text-decoration: none; }

:focus-visible{
  outline: 3px solid rgba(197,145,47,.65);
  outline-offset: 3px;
  border-radius: 10px;
}

h1, h2, h3, .info-box-title, .page-title{
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  letter-spacing: -.02em;
}

.visually-hidden-focusable:focus{
  position: fixed !important;
  top: 14px;
  left: 14px;
  z-index: 9999;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-sm);
}

/* -------------------------
   Layout helpers
   ------------------------- */
.center{ text-align: center; }

.section-title{
  font-size: var(--h2);
  margin: 0 0 12px;
}
.section-text{
  margin: 0 0 14px;
  color: var(--muted-text);
}

/* -------------------------
   Nav bar (sticky glass)
   ------------------------- */
#nav-bar{
  position: sticky;
  top: 0;
  z-index: 1000;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: rgba(251,247,245,.70);
  border-bottom: 1px solid rgba(42,31,27,.08);
}

#nav-bar .navbar{
  padding: 14px var(--container);
}

#nav-bar .container-fluid{
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: 0;
}

.navbar-brand{
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.navbar-brand img{
  height: 52px;
  width: auto;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

.navbar-nav .nav-link{
  color: rgba(31,26,23,.80) !important;
  font-weight: 650;
  font-size: 0.98rem;
  padding: 10px 12px !important;
  border-radius: 12px;
}

.navbar-nav .nav-link:hover{
  color: rgba(31,26,23,.95) !important;
  background: rgba(197,145,47,.12);
  transform: translateY(-1px);
}

/* Active page link */
.navbar-nav .nav-link.active{
  background: rgba(197,145,47,.16);
  color: rgba(31,26,23,.95) !important;
}

.navbar-toggler{
  border: 1px solid rgba(42,31,27,.14);
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,.06);}
.navbar-toggler:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
  background: rgba(255,255,255,.65);
}
.navbar-toggler i{
  font-size: 1.35rem;
  color: rgba(31,26,23,.85);
}

/* -------------------------
   Buttons / links
   ------------------------- */
.cta-button,
.btn-info{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: rgba(20,14,10,.95);
  font-weight: 800;
  letter-spacing: .01em;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--t), box-shadow var(--t), filter var(--t);
}
.cta-button:hover,
.btn-info:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 35px rgba(0,0,0,.18);
  filter: brightness(1.03);
}

.secondary-link{
  color: rgba(31,26,23,.82);
  text-decoration: none;
  border-bottom: 1px solid rgba(197,145,47,.45);
  padding-bottom: 2px;
}
.secondary-link:hover{
  border-bottom-color: rgba(197,145,47,.9);
}

/* -------------------------
   INDEX: Hero (#info) + Bento
   ------------------------- */
#info{
  max-width: var(--max);
  margin-inline: auto;
  padding: clamp(56px, 7vw, 96px) var(--container);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
}

.info-box-title{
  font-size: var(--h1);
  line-height: 1.05;
  margin: 0 0 10px;
}

.subinfo-box{
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.15rem;
  font-weight: 650;
  color: rgba(31,26,23,.72);
  margin: 0 0 18px;
}

.info-content{
  font-size: var(--body);
  color: var(--muted-text);
  margin: 0;
  max-width: 62ch;
}

/* Bento Grid */
.bento-grid{
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 14px;
  align-items: stretch;
}

.col-left,
.col-right{
  display: grid;
  gap: 14px;
}

.col-left .box{
  display: grid;
  gap: 14px;
}

.box,
.inner-box{
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.45);
  box-shadow: var(--shadow-sm);
}

.inner-box{
  transition: transform var(--t), box-shadow var(--t), filter var(--t);
}

.box img,
.inner-box img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform var(--t), filter var(--t);
}

.box:hover,
.inner-box:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.box:hover img,
.inner-box:hover img{
  transform: scale(1.05);
  filter: saturate(1.05) contrast(1.02);
}

/* Shape the bento heights */
.col-left > .box:first-child{ min-height: 240px; }
.col-left > .box:nth-child(2),
.col-left > .box:nth-child(3){
  grid-template-columns: 1fr 1.4fr;
  min-height: 210px;
}
.col-right .box{ min-height: 232px; }

/* -------------------------
   INDEX: Newsletter (#newsletter)
   ------------------------- */
#newsletter{
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(26px, 4vw, 40px) var(--container);
}

#newsletter .info-form{
  border-radius: var(--radius-lg);
  background:
    radial-gradient(1000px 500px at 20% 10%, rgba(197,145,47,.18), transparent 55%),
    linear-gradient(135deg, rgba(42,31,27,.94), rgba(110,98,90,.90));
  color: rgba(255,255,255,.92);
  box-shadow: var(--shadow-md);
  border: 1px solid rgba(255,255,255,.10);
  padding: clamp(22px, 4vw, 34px);
  display: grid;
  gap: 14px;
  justify-items: start;
  max-width: 740px;
}

.info-form-title{
  font-size: var(--h2);
  margin: 0;
  color: rgba(255,255,255,.95);
}

.email-input{
  width: min(520px, 100%);
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.95);
  font-size: 1rem;
  outline: none;
}
.email-input::placeholder{ color: rgba(255,255,255,.65); }
.email-input:focus{
  border-color: rgba(197,145,47,.85);
  background: rgba(255,255,255,.14);
  transform: translateY(-1px);
}

/* -------------------------
   INDEX: Who (#who)
   ------------------------- */
#who{
  max-width: var(--max);
  margin-inline: auto;
  padding: clamp(56px, 7vw, 96px) var(--container);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items: center;
}

.who-title{
  font-size: var(--h2);
  line-height: 1.15;
  margin: 0 0 12px;
}

.who-subtitle{
  margin: 0 0 12px;
  font-size: 1.1rem;
  font-weight: 650;
  color: rgba(31,26,23,.72);
}

.who-content{
  margin: 0;
  font-size: var(--body);
  color: var(--muted-text);
  max-width: 62ch;
}

#who img{
  width: 100%;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  margin-left: 0;
}
/* -------------------------
   INDEX: Services (#services)
   ------------------------- */
#services{
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(56px, 7vw, 96px) var(--container);
}

#services .title{
  margin: 0 0 22px;
  font-size: var(--h2);
  text-align: center;
}

.services{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.services .card{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t);
}

.services .card:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.card-img-top{
  height: 220px;
  width: 100%;
  object-fit: cover;
}

.card-body{ padding: 18px 18px 20px; }

.card-title{
  margin: 0 0 8px;
  font-size: 1.2rem;
}

.card-text{
  margin: 0;
  color: var(--muted-text);
  font-size: var(--small);
}

/* -------------------------
   INDEX: Testimonials (#testimonials)
   ------------------------- */
/* -------------------------
   Testimonials (improved)
   ------------------------- */
#testimonials .title{
  margin: 0 0 10px;
  font-size: var(--h2);
  text-align: center;
}

.testimonials-subtitle{
  margin: 0 auto 22px;
  max-width: 74ch;
  text-align: center;
  color: var(--muted-text);
  font-size: var(--body);
}

.testimonials-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.testimonial{
  width: auto; /* overrides older fixed width */
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-sm);
  padding: 18px;
  transition: transform var(--t), box-shadow var(--t);
  display: grid;
  gap: 14px;
}

.testimonial:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.testimonial .quote{
  margin: 0;
  color: rgba(31,26,23,.78);
  font-size: var(--body);
  line-height: 1.65;
}

/* footer row inside each testimonial */
.testimonial-footer{
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid rgba(42,31,27,.08);
}

.testimonial-footer img{
  width: 54px;
  height: 54px;
  border-radius: 14px;
  border: 1px solid rgba(42,31,27,.12);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
  object-fit: cover;
}

.client{
  display: grid;
  gap: 2px;
}

.client-name{
  margin: 0;
  font-weight: 800;
  color: rgba(31,26,23,.88);
  font-size: .98rem;
}

.client-meta{
  margin: 0;
  color: var(--muted-text);
  font-size: .95rem;
}

/* bottom CTA panel */
.testimonials-cta{
  margin-top: 22px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.08);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow-sm);
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

@media (max-width: 992px){
  .testimonials-grid{ grid-template-columns: 1fr; }
  .testimonials-cta{
    flex-direction: column;
    align-items: flex-start;
  }
}


/* -------------------------
   TEMPLATES: Page header + sections
   ------------------------- */
.page-hero{
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(56px, 7vw, 96px) var(--container) 18px;
}

.page-hero-inner{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.08);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow-sm);
  padding: clamp(22px, 4vw, 34px);
}

.page-title{
  font-size: var(--h1);
  margin: 0 0 10px;
}

.page-subtitle{
  margin: 0;
  max-width: 72ch;
  color: var(--muted-text);
  font-size: var(--body);
}

.page-section{
  max-width: var(--max);
  margin: 0 auto;
  padding: 22px var(--container) clamp(30px, 6vw, 60px);
}
/* =========================
   About page enhancements
   ========================= */
.about-layout{
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px;
  align-items: start;
}

.about-story .mini-title{
  margin: 18px 0 10px;
  font-weight: 800;
  font-size: 1.05rem;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: rgba(31,26,23,.88);
}

.pill-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
}

.pill{
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.60);
  color: rgba(31,26,23,.78);
  font-weight: 650;
  font-size: .95rem;
}

.about-timeline{
  margin: 0;
  padding-left: 18px;
  color: rgba(31,26,23,.78);
}

.about-timeline li{
  margin: 10px 0;
}

/* Responsive */
@media (max-width: 992px){
  .about-layout{ grid-template-columns: 1fr; }
}


/* Filters */
.filter-row{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.chip{
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.6);
  border-radius: 999px;
  padding: 10px 12px;
  font-weight: 650;
  font-size: .95rem;
  color: rgba(31,26,23,.78);
}

.chip:hover{
  transform: translateY(-1px);
  background: rgba(197,145,47,.12);
}

.chip.is-active{
  background: rgba(197,145,47,.18);
}

/* Gallery grid */
.gallery-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.art-card{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t);
}

.art-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.art-link img{
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.art-meta{ padding: 14px 16px 16px; }

.art-title{ margin: 0 0 6px; font-size: 1.1rem; }
.art-details{ margin: 0 0 10px; color: var(--muted-text); font-size: .95rem; }

.art-tags{ display: flex; gap: 8px; flex-wrap: wrap; }

.tag{
  font-size: .85rem;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.55);
  color: rgba(31,26,23,.78);
}

/* CTA panel */
.cta-panel{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.08);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow-sm);
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cta-title{ margin: 0 0 6px; font-size: 1.25rem; }
.cta-text{ margin: 0; color: var(--muted-text); }

/* Grids / panels / forms */
.feature-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.feature-card{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}

.feature-card h2,
.feature-card h3{
  margin: 0 0 8px;
  font-size: 1.2rem;
}

.feature-card p{
  margin: 0 0 12px;
  color: var(--muted-text);
}

.two-col{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items: start;
}

.panel{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow-sm);
  padding: 18px;
  display: grid;
  gap: 12px;
}

.panel-image{
  border-radius: 18px;
  border: 1px solid rgba(42,31,27,.10);
  box-shadow: var(--shadow-sm);
}

.panel-body p{
  margin: 0 0 12px;
  color: var(--muted-text);
}

.panel-divider{
  height: 1px;
  background: rgba(42,31,27,.10);
  margin: 6px 0;
}

.clean-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(31,26,23,.78);
}
.clean-list li{ margin: 6px 0; }

.steps{
  margin: 0;
  padding-left: 18px;
  color: rgba(31,26,23,.78);
}
.steps li{ margin: 10px 0; }

.faq-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.faq{
  border-radius: 16px;
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow-sm);
  padding: 14px;
}

.faq summary{
  cursor: pointer;
  font-weight: 800;
}

.faq p{
  margin: 10px 0 0;
  color: var(--muted-text);
}

/* Contact form */
.contact-card{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(42,31,27,.10);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow-sm);
  padding: 18px;
  display: grid;
  gap: 12px;
}

.field{
  display: grid;
  gap: 6px;
}

.field label{
  font-weight: 650;
  color: rgba(31,26,23,.80);
}

.field input,
.field select,
.field textarea{
  border-radius: 14px;
  border: 1px solid rgba(42,31,27,.14);
  background: rgba(255,255,255,.65);
  padding: 12px 14px;
  font-size: 1rem;
  outline: none;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color: rgba(197,145,47,.85);
  background: rgba(255,255,255,.78);
  transform: translateY(-1px);
}

.form-note{
  margin: 0;
  color: var(--muted-text);
  font-size: .95rem;
}

/* -------------------------
   Footer
   ------------------------- */
#footer{
  margin-top: 36px;
  background: linear-gradient(135deg, rgba(42,31,27,.96), rgba(110,98,90,.92));
  color: rgba(255,255,255,.90);
}

.footer-section{ padding: 44px var(--container) 26px; }

.index-footer-container{
  max-width: var(--max);
  margin: 0 auto;
  padding: 26px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow-md);
}

.footer-top .row{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 22px;
  align-items: start;
}

.col-heading{
  font-weight: 800;
  font-size: 1.05rem;
  margin-bottom: 12px;
}

.col-line{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
  color: rgba(255,255,255,.82);
}

.col-line a{
  color: rgba(255,255,255,.86);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border var(--t), color var(--t);
}

.col-line a:hover{
  color: rgba(255,255,255,.95);
  border-bottom-color: rgba(197,145,47,.55);
}

.bottom-header-logo{
  display: grid;
  gap: 12px;
  justify-items: center;
}

.bottom-header-logo img{
  height: 140px;
  width: auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.25);
}

.social-icon{
  display: flex;
  gap: 12px;
}

.social-icon a{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
}

.social-icon a:hover{
  transform: translateY(-2px);
  background: rgba(197,145,47,.14);
  border-color: rgba(197,145,47,.35);
}

.social-icon i{
  font-size: 1.15rem;
  color: rgba(255,255,255,.88);
}

.footer-bottom{
  max-width: var(--max);
  margin: 16px auto 0;
  text-align: center;
  color: rgba(255,255,255,.70);
}

.footer-bottom hr{
  border: none;
  height: 1px;
  background: rgba(255,255,255,.12);
  margin: 18px 0 12px;
}

/* -------------------------
   Responsive
   ------------------------- */
@media (max-width: 992px){
  #info,
  #who{ grid-template-columns: 1fr; }

  .bento-grid{ grid-template-columns: 1fr; }

  .services{ grid-template-columns: 1fr; }

  .gallery-grid{ grid-template-columns: 1fr; }

  .feature-grid{ grid-template-columns: 1fr; }

  .two-col{ grid-template-columns: 1fr; }

  .faq-grid{ grid-template-columns: 1fr; }

  .cta-panel{
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-top .row{ grid-template-columns: 1fr; }
  .bottom-header-logo{ justify-items: center; }
}

@media (prefers-reduced-motion: reduce){
  *{
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Local navigation and layout: usable without a third-party stylesheet. */
[hidden]{ display: none !important; }
.site-nav{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.navbar-brand{flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;}
.brand-name{font-family:Georgia,serif;font-size:1.6rem;font-weight:700;}
.brand-subtitle{font-size:.8rem;color:var(--muted-text);}
.site-links{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.site-links a{display:block;padding:12px;text-decoration:none;border-radius:12px;}
.site-links a:hover,.site-links a[aria-current]{background:rgba(197,145,47,.16);}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px;}
.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#765019;}
.footer-content{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.footer-content a{padding:12px 0;}
.visually-hidden-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.field input,.field select,.field textarea{width:100%;min-width:0;color:var(--text);font-family:inherit;}
.field textarea{resize:vertical;}
.artwork-photo{width:100%;height:320px;object-fit:contain;background:var(--bg);}
.image-notice{padding:40px 20px;}
button{font-family:inherit;min-height:44px;cursor:pointer;}
button:disabled{cursor:default;opacity:.6;}
:focus-visible{outline:3px solid #765019;outline-offset:4px;}
#main{min-height:60vh;}
#main:focus{outline:none;}
p{overflow-wrap:break-word;}
@media(max-width:600px){
  .site-nav{gap:16px;}
  .site-links{width:100%;gap:0;justify-content:space-between;}
  .site-links a{padding:12px 7px;font-size:.9rem;}
  .brand-subtitle{font-size:.75rem;}
  .gallery-grid{grid-template-columns:1fr;}
}

/* ==========================
   Uriel Alexander Art Studio — fine-art shop
   Reuses the existing palette, rounded cards and typographic hierarchy.
   ========================== */
.shop-launch-note{
  margin:18px 0 0;
  border-left:3px solid var(--accent);
  padding:12px 16px;
  background:rgba(197,145,47,.10);
  border-radius:0 12px 12px 0;
  color:var(--text);
  max-width:70ch;
}
.shop-format-grid,.shop-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.shop-format-card,.shop-product,.shop-preview-block,.shop-information{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.shop-format-card{
  padding:clamp(18px,2.3vw,28px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.shop-format-card h3{
  font-size:clamp(1.35rem,2vw,1.7rem);
  margin:0;
  line-height:1.2;
}
.shop-format-card p{margin:0}
.shop-format-card .secondary-link{margin-top:auto}
.shop-format-number{
  color:#755019;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  font-weight:700;
}
.shop-small-print{color:var(--muted-text);font-size:.92rem;line-height:1.5}
.shop-collection-heading{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.shop-collection-heading .section-title{margin-bottom:4px}
.shop-status{color:var(--muted-text);margin:12px 0 24px}
.shop-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.shop-product{overflow:hidden}
.shop-product-media{min-height:270px;display:grid;place-items:center;background:rgba(197,145,47,.06)}
.shop-product-image{width:100%;height:300px;object-fit:contain}
.shop-image-unavailable{
  text-align:center;
  padding:30px;
  color:var(--muted-text);
  font-weight:600;
}
.shop-product-info{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.shop-product-title{font-size:1.35rem;margin:0}
.shop-product-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%}
.shop-action{width:100%;text-align:center}
.shop-preview-block,.shop-information{padding:clamp(20px,4vw,34px)}
.shop-preview-block{display:grid;justify-items:start;gap:12px}
.shop-preview-block p{margin:0;max-width:65ch}
.shop-information p{max-width:80ch}
.shop-information p:last-child{margin-bottom:0}
.footer-social-link{color:rgba(255,255,255,.92);text-underline-offset:3px}
@media(max-width:850px){
  .shop-format-grid{grid-template-columns:1fr}
}
@media(max-width:500px){
  .shop-collection-heading{align-items:flex-start}
  .shop-format-card{padding:20px}
  .shop-product-image{height:245px}
  .shop-preview-block .cta-button{width:100%}
}

/* Editorial artwork-first homepage and selected works */
.hero-feature{
  margin:0;
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:rgba(255,255,255,.78);
  box-shadow:var(--shadow-md);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.hero-feature-image{
  display:block;
  width:100%;
  max-height:560px;
  object-fit:contain;
  background:#f5f0ec;
}
.hero-feature-caption{
  display:flex;
  flex-direction:column;
  padding:18px 22px 20px;
  gap:2px;
}
.hero-feature-caption .eyebrow{margin:0 0 5px}
.hero-feature-caption strong{font-family:Georgia,serif;font-size:1.4rem}
.hero-feature-caption>span:last-child{color:var(--muted-text);font-size:.88rem}
.home-selected-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:20px;
}
.home-artwork-link{
  display:flex;
  flex-direction:column;
  background:rgba(255,255,255,.72);
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  text-decoration:none;
  transition:transform var(--t), box-shadow var(--t);
}
.home-artwork-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.home-artwork-link img{
  width:100%;
  height:315px;
  object-fit:contain;
  background:#f4f0eb;
}
.home-artwork-name{
  font-family:Georgia,serif;
  font-size:1.16rem;
  font-weight:700;
  padding:16px 18px 0;
}
.home-artwork-note{
  color:var(--muted-text);
  padding:0 18px 17px;
  font-size:.86rem;
}
.home-artwork-link:not(:has(.home-artwork-note)) .home-artwork-name{padding-bottom:17px}
.home-image-unavailable{
  display:grid;
  place-items:center;
  text-align:center;
  min-height:260px;
  padding:24px;
  color:var(--muted-text);
  background:rgba(197,145,47,.07);
}
.hero-feature>.home-image-unavailable{min-height:350px}
@media(max-width:850px){
  .home-selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-feature-image{max-height:520px}
}
@media(max-width:560px){
  .home-selected-grid{grid-template-columns:1fr}
  .home-artwork-link img{height:380px}
  .hero-feature-image{max-height:490px}
}


/* Studio 2026 / Exhibition-led responsive design — visual and business launch */
:root{--ink:#27211f;--wine:#7c424d;--paper:#faf7f1;--accent:#ad7c3d;--accent-2:#906630;--bg:#faf7f1;--max:1360px}
body{background:var(--paper);color:var(--ink)}
#nav-bar{background:rgba(250,247,241,.97);border-bottom:1px solid #e2d7c9;box-shadow:none}
.site-nav{max-width:1450px;padding:13px clamp(20px,4vw,60px)}
.brand-name{font-size:1.5rem!important;letter-spacing:-.035em;color:var(--ink)}
.brand-subtitle{letter-spacing:.05em;text-transform:uppercase;font-size:.65rem!important;font-weight:650;color:#786657}
.site-links a{font-size:.89rem}.site-links a:hover,.site-links a[aria-current]{background:#efe8de}
.site-links li:last-child a{border:1px solid #c7b7a9;border-radius:3px;padding-inline:17px}
.cta-button{border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:white;font-weight:650;font-size:.94rem;padding:14px 20px;min-height:49px;box-shadow:none}
.cta-button:hover{background:var(--wine);border-color:var(--wine);color:white;transform:translateY(-2px);box-shadow:none;filter:none}
.secondary-link{border-bottom:1px solid var(--wine);font-weight:650}
.eyebrow{font-size:.7rem;letter-spacing:.18em;color:#795b48;font-weight:700}
.launch-hero{max-width:1450px;margin:auto;padding:30px clamp(20px,4vw,60px) 40px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,65px);min-height:640px}
.launch-hero-copy{padding:30px 0 0;display:flex;flex-direction:column;justify-content:center;min-width:0}
.launch-hero-copy>.eyebrow{margin:0 0 35px}.launch-hero-studio{letter-spacing:.15em;font-size:.7rem;font-weight:750;color:#62544e}.launch-hero-studio b{font-weight:400;color:var(--wine);margin:0 10px}
.launch-hero h1,.launch-page-intro h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em;line-height:1.025}
.launch-hero h1{font-size:clamp(2.9rem,5.2vw,5.5rem);margin:25px 0 24px}
.launch-hero h1 em,.launch-section h2 em,.launch-statement h2 em,.launch-page-intro h1 em,.launch-gallery-cta h2 em{font-weight:400;color:var(--wine)}
.launch-hero-copy>p:not(.eyebrow){color:#635950;font-size:1.14rem;line-height:1.7;max-width:47ch;margin:0}
.launch-hero .hero-actions{gap:24px;align-items:center;margin-top:30px}
.launch-hero-notes{font-size:.65rem;letter-spacing:.12em;color:#857265;display:flex;justify-content:space-between;gap:15px;padding-top:60px;margin-top:auto}
.launch-hero-art{display:flex;flex-direction:column;background:#ded7d2;overflow:hidden;text-decoration:none;min-width:0}
.launch-hero-art>img{width:100%;height:100%;max-height:690px;min-height:480px;object-fit:contain;transition:transform .45s ease}
.launch-hero-art:hover>img{transform:scale(1.025)}
.launch-hero-caption{display:flex;justify-content:space-between;align-items:center;background:#fffefaf2;gap:15px;padding:18px 24px}
.launch-hero-caption>span:first-child{display:grid;gap:4px}.launch-hero-caption small{font-size:.63rem;letter-spacing:.14em;color:#7f614e}
.launch-hero-caption strong{font-family:Georgia,serif;font-size:1.3rem;font-weight:500}.launch-hero-caption>span:last-child{font-size:1.3rem;color:var(--wine)}
.launch-section{max-width:1450px;margin:auto;padding:clamp(60px,7vw,112px) clamp(20px,4vw,60px)}
.launch-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.launch-section h2,.launch-statement h2,.launch-gallery-cta h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.2rem);font-weight:400;line-height:1.12;letter-spacing:-.045em;margin:0}
.launch-section-heading .eyebrow{margin:0 0 12px}
.launch-text-link{font-size:.88rem;font-weight:650;text-decoration:none;border-bottom:1px solid #b0906d;padding-bottom:6px}
.launch-text-link:hover{color:var(--wine);border-color:var(--wine)}
.launch-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}
.launch-work{min-width:0;text-decoration:none}
.launch-work-picture{height:clamp(300px,32vw,415px);background:#e8dfd5;display:grid;place-items:center;overflow:hidden}
.launch-work-picture img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.launch-work:hover img{transform:scale(1.025)}
.launch-work-info{border-bottom:1px solid #d6cabd;padding:15px 0;display:flex;justify-content:space-between;gap:8px;align-items:center}
.launch-work-info>span:first-child{display:grid;gap:4px}.launch-work-info strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:500}
.launch-work-info small{font-size:.63rem;letter-spacing:.13em;color:#827365}.launch-work-info>span:last-child{font-size:1.2rem;color:var(--wine)}
.launch-statement{background:#2a2321;color:#f9f4ef;display:grid;grid-template-columns:minmax(100px,.34fr) minmax(0,1fr);gap:30px;padding:clamp(68px,8vw,120px) max(24px,calc((100vw - 1260px)/2))}
.launch-statement>.eyebrow{color:#d4b8aa}.launch-statement h2 em{color:#dfaaa7}.launch-statement p:not(.eyebrow){font-size:1.08rem;line-height:1.82;color:#d7cbc3;max-width:63ch;margin:25px 0}
.launch-statement .launch-text-link{color:#fff6e8}.launch-invitation{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;border-bottom:1px solid #e0d5ca}
.launch-invitation>div:nth-child(2)>p{color:#62584f;line-height:1.75;font-size:1.07rem}
.launch-page-intro{max-width:1400px;margin:0 auto;border-bottom:1px solid #d7cabd;padding:clamp(55px,7vw,100px) clamp(20px,4vw,60px) clamp(34px,5vw,60px)}
.launch-page-intro>.eyebrow{margin:0 0 22px}
.launch-page-intro h1{font-size:clamp(3.4rem,7vw,7rem);margin:0 0 26px}
.launch-page-intro>p:not(.eyebrow){font-size:1.09rem;line-height:1.7;color:#655a51;max-width:70ch;margin:0}
.launch-gallery-section{padding-top:28px}
.launch-gallery-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;margin:0 0 28px}
.launch-gallery-toolbar .filter-row{display:flex;gap:8px;flex-wrap:wrap}
.launch-gallery-toolbar .chip{border:1px solid #bfafa0;border-radius:2px;background:transparent;padding:10px 15px;font-size:.87rem;color:var(--ink)}
.launch-gallery-toolbar .chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.launch-gallery-toolbar #gallery-status{font-size:.79rem;color:#75685d}
.launch-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 23px}
.launch-art-card{background:none;box-shadow:none;border:0;min-width:0;padding:0}
.launch-art-image-button{width:100%;height:clamp(310px,34vw,480px);background:#e8e0d7;border:0;padding:0;position:relative;display:grid;place-items:center;overflow:hidden;cursor:zoom-in}
.launch-art-image-button img.artwork-photo{display:block;width:100%;height:100%;object-fit:contain;background:#e8e0d7;transition:transform .3s ease}
.launch-art-image-button:hover img{transform:scale(1.025)}
.launch-art-zoom{position:absolute;bottom:14px;right:14px;background:#fffefa;padding:9px 12px;font-size:.73rem}
.launch-art-card .art-meta{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:16px 0;border-bottom:1px solid #d4c8bb}
.launch-art-card .art-title{font-family:Georgia,serif;font-weight:500;font-size:1.34rem;margin:0 0 5px}
.launch-art-card .art-details{color:#796a60;font-size:.82rem;margin:0}.launch-art-inquire{font-size:.85rem;white-space:nowrap;text-decoration:none;border-bottom:1px solid #ad8c6c;padding:3px 0}
.launch-gallery-cta{background:#e8ddd0;text-align:center;padding:clamp(64px,8vw,110px) 20px}
.launch-gallery-cta .eyebrow{margin:0 0 17px}.launch-gallery-cta h2{margin:0 auto 13px}.launch-gallery-cta>p:not(.eyebrow){color:#61574e;margin:0 auto 22px}
.launch-gallery-cta .cta-button{display:inline-flex}
.launch-art-dialog{width:min(1140px,96vw);max-height:95vh;background:#faf7f1;border:1px solid #d7c9ba;box-shadow:0 30px 90px #0009;padding:16px}
.launch-art-dialog::backdrop{background:#15110fda}
.launch-dialog-head,.launch-dialog-caption{display:flex;align-items:center;justify-content:space-between;gap:16px}
.launch-dialog-head{padding:0 5px 12px}.launch-dialog-head .eyebrow{margin:0}
.launch-dialog-close,.launch-dialog-paging button{background:transparent;border:1px solid #baa99b;padding:10px 14px;color:var(--ink);cursor:pointer}
.launch-dialog-image{height:min(66vh,730px);min-height:180px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;background:#e9e2da}
.launch-dialog-image img{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.launch-dialog-caption{padding:15px 5px 0;align-items:flex-start}
.launch-dialog-caption>div:first-child{min-width:0;flex:1}
.launch-dialog-caption .art-details{margin:0 0 7px;font-size:.86rem;color:#655b52}
.launch-dialog-paging{flex-shrink:0}
.launch-art-description{margin:16px 5px 4px;max-width:75ch;font-size:.96rem;line-height:1.65;color:#655b52}.launch-dialog-caption h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:500;margin:0 0 7px}
.launch-dialog-caption a{text-decoration:none;border-bottom:1px solid #aa896b;font-size:.86rem}
.launch-dialog-paging{display:flex;gap:7px}.launch-dialog-paging button{font-size:1.13rem;min-width:47px}
.launch-contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(26px,5vw,70px)}
.launch-contact-form{background:#fffefb;border:1px solid #ded0c1;border-radius:2px;box-shadow:none;padding:clamp(22px,4vw,44px)}
.launch-contact-form h2{font-family:Georgia,serif;font-size:clamp(1.8rem,2.5vw,2.8rem);font-weight:500;margin:0 0 14px}
.launch-contact-form>p{color:#685c52;font-size:.96rem}.launch-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.launch-contact-form .field{display:grid;gap:7px;margin:16px 0}.launch-contact-form .field label{font-size:.82rem;font-weight:700}
.launch-contact-form input,.launch-contact-form select,.launch-contact-form textarea{font:inherit;font-size:.96rem;color:var(--ink);padding:13px 15px;border:1px solid #bbad9d;border-radius:2px;background:#fff}
.launch-contact-form .form-small-print{font-size:.78rem;line-height:1.6;color:#736659}
.launch-contact-aside{padding:20px 0}.launch-contact-aside h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;font-size:clamp(2rem,3vw,3.4rem);line-height:1.13;margin:12px 0 25px}
.launch-contact-aside>p:not(.eyebrow){line-height:1.7;color:#62564e}.launch-contact-aside a{font-weight:650;color:var(--wine)}
.launch-contact-aside img{width:100%;height:350px;object-fit:contain;background:#e7dcd2;margin-top:26px}
@media(max-width:1080px){.launch-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-hero{min-height:550px}.launch-hero-art>img{min-height:420px}}
@media(max-width:840px){.launch-hero,.launch-invitation,.launch-contact-layout{grid-template-columns:1fr}.launch-hero{padding-top:16px}.launch-hero-copy{padding-top:24px}.launch-hero-copy>.eyebrow{margin-bottom:22px}.launch-hero-notes{padding-top:30px}.launch-hero-art>img{max-height:620px;min-height:350px}.launch-statement{grid-template-columns:1fr}.launch-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-work-picture{height:370px}}
@media(max-width:550px){.site-nav{gap:11px}.site-links{justify-content:flex-start;gap:0}.site-links a{font-size:.83rem;padding:10px 8px}.site-links li:last-child a{padding-inline:10px}.launch-hero h1{font-size:clamp(2.75rem,12vw,4.2rem)}.launch-hero{gap:15px;padding-bottom:28px}.launch-work-grid,.launch-gallery-grid,.launch-field-row{grid-template-columns:1fr}.launch-work-picture{height:410px}.launch-section-heading{align-items:start;flex-direction:column;gap:16px}.launch-statement{padding:58px 22px}.launch-art-image-button{height:440px}.launch-art-dialog{padding:10px}.launch-dialog-image{height:55vh}.launch-dialog-caption h2{font-size:1.4rem}.launch-page-intro h1{font-size:clamp(3rem,13vw,5rem)}}
@media(prefers-reduced-motion:reduce){.launch-hero-art>img,.launch-work-picture img,.launch-art-image-button img{transition:none}}


/* About / commissions / honest edition previews */
.launch-about-grid{max-width:1390px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(26px,6vw,90px);padding:65px clamp(20px,4vw,60px) 100px}
.launch-about-grid figure{margin:0}.launch-about-grid figure img{display:block;width:100%;max-height:700px;object-fit:contain;background:#e5dcd3}
.launch-about-grid figcaption{font-size:.78rem;color:#726257;padding-top:12px}
.launch-about-grid>div{padding-top:15px}.launch-about-grid h2{font-family:Georgia,serif;font-size:clamp(2.3rem,3.8vw,4rem);letter-spacing:-.055em;line-height:1.1;font-weight:400;margin:14px 0 25px}
.launch-about-grid h2 em,.launch-about-bottom h2 em{color:var(--wine);font-weight:400}
.launch-about-grid>div>p:not(.eyebrow){font-size:1.04rem;line-height:1.85;color:#62574e;margin-bottom:20px}
.launch-about-bottom{background:#e9dfd5;padding:75px clamp(20px,5vw,70px) 90px}
.launch-about-bottom h2{font-family:Georgia,serif;letter-spacing:-.04em;font-size:clamp(2.25rem,4vw,4rem);font-weight:400;line-height:1.14;margin:18px 0 32px}
.launch-about-bottom>div{display:grid;grid-template-columns:.9fr 1.4fr;gap:22px;max-width:980px}
.launch-about-bottom>div>a{display:grid;place-items:center;background:#ded4ca;max-height:470px;overflow:hidden}
.launch-about-bottom img{width:100%;height:100%;object-fit:contain}
.launch-commission-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}
.launch-commission-steps article{border-top:1px solid #bfae9d;padding:22px 12px 12px 0}
.launch-commission-steps span{font-size:.76rem;color:var(--wine);font-weight:750}
.launch-commission-steps h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:20px 0 10px}
.launch-commission-steps p,.launch-fineprint{color:#665b52;line-height:1.75}.launch-fineprint{font-size:.88rem;max-width:83ch}
.launch-print-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 25px}
.launch-print-preview figure{background:#eee5dc;margin:0}
.launch-print-preview img{width:100%;height:340px;object-fit:contain}
.launch-print-preview figcaption{font-family:Georgia,serif;text-align:center;padding:14px;font-size:1.09rem}
@media(max-width:850px){.launch-about-grid{grid-template-columns:1fr;padding-block:40px}.launch-about-grid figure img{max-height:600px}}
@media(max-width:570px){.launch-commission-steps{grid-template-columns:1fr}.launch-about-bottom{padding-block:58px}.launch-about-bottom>div{gap:8px}.launch-print-preview{gap:7px}.launch-print-preview img{height:185px}.launch-print-preview figcaption{font-size:.77rem;padding:8px 4px}}


/* ---------------------------------------------------------
   Artist gallery — equal-size editorial artwork thumbnails
   The nine original files are NOT modified or stretched.
   Cropping is used ONLY in the square grid previews.
   Artwork lightbox continues to show the full composition.
   --------------------------------------------------------- */
.gallery-grid.launch-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(30px, 4vw, 48px) clamp(14px, 2vw, 26px);
}
.art-card.launch-art-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.art-card.launch-art-card:hover {
  transform: none;
  box-shadow: none;
}
.launch-art-card .launch-art-image-button {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  padding: 0;
  border: 0;
  border-radius: 2px;
  box-shadow: none;
  background: #e7dfd5;
  overflow: hidden;
  cursor: zoom-in;
}
.launch-art-card .launch-art-image-button img.artwork-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center center;
  background: transparent;
  transform: none !important;
  transition: none;
}
.launch-art-card .launch-art-image-button:hover img.artwork-photo,
.launch-art-card .launch-art-image-button:focus-visible img.artwork-photo {
  transform: none !important;
}
.launch-art-card .launch-art-image-button:hover,
.launch-art-card .launch-art-image-button:focus-visible {
  box-shadow: 0 0 0 2px #8c6a57;
}
.launch-art-card .launch-art-zoom {
  position: absolute;
  bottom: 12px;
  right: 12px;
  padding: 9px 12px;
  background: rgba(255, 254, 250, .95);
  color: #27211f;
  font-size: .72rem;
  font-weight: 650;
}
.launch-gallery-section .gallery-display-note {
  margin: -9px 0 24px;
  font-size: .81rem;
  line-height: 1.5;
  color: #655b52;
}
.launch-art-card .art-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 12px;
  min-height: 105px;
  flex: 1 0 auto;
  padding: 17px 0 16px;
  border-bottom: 1px solid #d4c8bb;
}
.launch-art-card .art-title {
  margin: 0 0 5px;
  font-size: clamp(1.1rem, 1.55vw, 1.34rem);
  line-height: 1.3;
  overflow-wrap: break-word;
}
.launch-art-card .art-details {
  line-height: 1.45;
}
.launch-art-card .launch-art-availability {
  margin-top: 7px;
}
.launch-art-card .launch-art-inquire {
  align-self: start;
  justify-self: start;
  margin-top: 2px;
}
@media (max-width: 840px) {
  .gallery-grid.launch-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 550px) {
  .gallery-grid.launch-gallery-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
}



/* === Consistent artwork presentation across non-gallery pages ===
   Cover = square preview tile. Contain = full featured painting.
   The underlying artwork files are never changed. */

/* Full, intentionally portrait-oriented featured painting on homepage. */
.launch-hero .launch-hero-art {
  width: min(100%, 540px);
  justify-self: end;
  align-self: center;
}
.launch-hero .launch-hero-art > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  min-height: 0;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  transform: none;
}
.launch-hero .launch-hero-art:hover > img { transform: none; }

/* Homepage selected paintings match the gallery's square visual footprint. */
.launch-work-grid { align-items: stretch; }
.launch-work { display: flex; flex-direction: column; height: 100%; }
.launch-work .launch-work-picture {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #e7dfd5;
}
.launch-work .launch-work-picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  transition: none;
}
.launch-work:hover .launch-work-picture img { transform: none; }
.launch-work .launch-work-info {
  min-height: 88px;
  align-items: start;
  padding-top: 17px;
  flex: 1 0 auto;
}

/* About page: full original portrait above, matching square details below. */
.launch-about-grid figure { width: 100%; max-width: 525px; }
.launch-about-feature-link {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #e5dcd3;
  overflow: hidden;
}
.launch-about-grid .launch-about-feature-link img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: contain;
  object-position: center center;
}
.launch-about-bottom > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(14px, 2.3vw, 26px);
}
.launch-about-bottom > div > a.launch-about-work {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-height: none;
  overflow: visible;
  background: transparent;
  color: inherit;
  text-decoration: none;
}
.launch-about-work-picture {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #ded4ca;
}
.launch-about-bottom .launch-about-work-picture img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.launch-about-work-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 0 15px;
  border-bottom: 1px solid #c7b8a7;
  font: 500 clamp(1.03rem, 1.6vw, 1.25rem)/1.3 Georgia, serif;
}
.launch-about-work-title span { color: var(--wine); }
.launch-about-work:hover .launch-about-work-title,
.launch-about-work:focus-visible .launch-about-work-title { border-color: var(--wine); }

/* Shop: identical previews, linked to the complete gallery painting. */
.launch-print-preview { align-items: stretch; }
.launch-print-preview figure {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #eee5dc;
}
.launch-print-preview-link {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #e7dfd5;
}
.launch-print-preview .launch-print-preview-link img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.launch-print-preview figcaption {
  min-height: 65px;
  display: grid;
  align-items: center;
  padding: 14px 12px;
}

/* Future verified shop products also use the same square preview system. */
.shop-product-media {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #e7dfd5;
}
.shop-product-media .shop-product-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Contact page: no shrunken painting floating in a fixed-height container. */
.launch-contact-aside .launch-contact-art {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-top: 26px;
  overflow: hidden;
  background: #e7dcd2;
}
.launch-contact-aside .launch-contact-art img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 840px) {
  .launch-hero .launch-hero-art {
    justify-self: center;
    max-width: 520px;
  }
}
@media (max-width: 600px) {
  .launch-print-preview {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .launch-print-preview figure { max-width: 520px; }
  .launch-print-preview figcaption {
    min-height: 0;
    font-size: 1.06rem;
  }
  .launch-about-bottom > div { gap: 12px; }
  .launch-about-work-title { font-size: .95rem; }
}
@media (prefers-reduced-motion: reduce) {
  .launch-work .launch-work-picture img { transition: none; }
}

/* Artist-approved studio identity, October 30, 2026. */
.site-nav .studio-logo-link {
  display: block;
  width: 320px;
  max-width: 100%;
  flex-shrink: 0;
  line-height: 0;
}
.site-nav .studio-logo {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
}
.footer-studio-brand {
  display: flex;
  align-items: center;
  gap: 13px;
}
.footer-studio-brand .footer-brand-mark {
  display: block;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  object-fit: contain;
}
@media (max-width: 550px) {
  .site-nav .studio-logo-link { width: 310px; }
}

/* Collector artwork viewer: approved painting and story with labeled facts. */
.launch-art-dialog.launch-collector-dialog {
  width: min(1240px, 96vw);
  max-width: 96vw;
  max-height: 94vh;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.launch-collector-dialog .launch-dialog-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 12px 20px;
  background: #faf7f1;
  border-bottom: 1px solid #ded3c7;
}
.launch-collector-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: start;
}
.launch-collector-layout .launch-dialog-image {
  position: sticky;
  top: 82px;
  height: min(76vh, 800px);
  margin: 20px 0 20px 20px;
}
.launch-collector-copy { min-width: 0; padding: 24px 28px; }
.launch-collector-dialog .launch-dialog-caption { display: block; padding: 0; margin-bottom: 20px; }
.launch-collector-dialog .launch-dialog-caption h2 { font-size: 1.95rem; line-height: 1.2; }
.launch-work-story h3, .launch-work-specifications h3 {
  margin: 0 0 8px;
  font-family: inherit;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #715b48;
}
.launch-collector-dialog .launch-art-description {
  margin: 0 0 24px;
  max-width: none;
  font-size: .98rem;
  line-height: 1.7;
}
.launch-work-details { margin: 0; }
.launch-work-detail {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #e3d9cf;
}
.launch-work-detail dt, .launch-work-detail dd { margin: 0; font-size: .86rem; line-height: 1.5; }
.launch-work-detail dt { color: #655b52; }
.launch-work-detail dd { color: #28231f; overflow-wrap: anywhere; }
.launch-collector-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px; }
.launch-collector-inquire { font-size: .83rem; }
@media (max-width: 900px) {
  .launch-collector-layout { grid-template-columns: minmax(0, 1fr); }
  .launch-collector-layout .launch-dialog-image { position: static; height: min(50vh, 520px); margin: 16px 16px 0; }
}
@media (max-width: 550px) {
  .launch-collector-dialog .launch-dialog-head { padding: 10px 14px; }
  .launch-collector-copy { padding: 22px 18px; }
  .launch-collector-dialog .launch-dialog-caption h2 { font-size: 1.55rem; }
  .launch-collector-layout .launch-dialog-image { height: 42vh; min-height: 180px; margin: 12px 12px 0; }
  .launch-work-detail { grid-template-columns: 86px minmax(0, 1fr); gap: 10px; }
}

/* Artist CV — About page; additive editorial styling only. */
.launch-artist-cv{
  max-width:1390px;margin:0 auto;padding:clamp(56px,7vw,96px) clamp(20px,4vw,60px);
  border-top:1px solid #d7cabd;
}
.launch-artist-cv-intro{max-width:830px;margin-bottom:36px}
.launch-artist-cv-intro h2{
  font-family:Georgia,serif;font-size:clamp(2.25rem,4vw,4rem);font-weight:400;
  letter-spacing:-.04em;line-height:1.15;margin:12px 0 19px;
}
.launch-artist-cv-intro h2 em{color:var(--wine);font-weight:400}
.launch-artist-cv-intro>p:last-child{color:#655a51;line-height:1.75;margin:0}
.launch-artist-cv-record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.launch-artist-cv-record article{border-top:1px solid #b9a392;padding:21px 0 8px}
.launch-cv-type{font-size:.7rem;font-weight:750;letter-spacing:.13em;color:var(--wine);margin:0 0 19px}
.launch-cv-date{color:#78695c;font-size:.84rem;margin:0 0 5px}
.launch-artist-cv-record h3{font-family:Georgia,serif;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.2;font-weight:400;margin:0 0 10px}
.launch-artist-cv-record h3 em{font-weight:400}
.launch-artist-cv-record article>p:not(.launch-cv-type):not(.launch-cv-date){line-height:1.65;color:#655a51;margin:0 0 8px}
.launch-artist-cv-record .launch-cv-detail{font-size:.84rem}
.launch-artist-cv-footer{display:flex;gap:22px;justify-content:space-between;align-items:center;margin-top:35px;padding-top:24px;border-top:1px solid #d7cabd}
.launch-artist-cv-footer p{margin:0;color:#665b52;font-size:.9rem}
@media(max-width:840px){.launch-artist-cv-record{grid-template-columns:1fr;gap:20px}}
@media(max-width:550px){.launch-artist-cv-footer{align-items:flex-start;flex-direction:column;gap:14px}}


/* Optional Pinterest choice: inline footer content, with no overlay on artwork. */
.studio-pinterest-choice{margin:22px auto 0;padding-top:20px;border-top:1px solid currentColor;max-width:var(--max);min-width:0}
.studio-pinterest-choice[hidden]{display:none}
.studio-pinterest-choice h2{font-family:inherit;font-size:1rem;line-height:1.4;margin:0 0 10px}
.studio-pinterest-choice p{font-size:.88rem;line-height:1.65;max-width:76ch;margin:0 0 10px}
.studio-pinterest-choice a,.studio-privacy-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.studio-pinterest-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 12px}
.studio-pinterest-actions button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:3px;padding:10px 16px;font:inherit;font-size:.88rem;min-height:44px;max-width:100%;white-space:normal}
.studio-pinterest-actions button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.studio-pinterest-actions button:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}
.studio-pinterest-status{font-size:.8rem!important}
.studio-privacy-content{max-width:1000px}
.studio-privacy-content section{margin:0 0 36px}
.studio-privacy-content h2{font-family:Georgia,serif;font-weight:400;font-size:1.8rem;line-height:1.3;margin:0 0 16px}
.studio-privacy-content p{font-size:1rem;line-height:1.8;max-width:76ch}
.studio-privacy-content a{color:var(--wine);text-underline-offset:3px}
.studio-privacy-content .studio-pinterest-choice{margin-top:0;border-top:0;padding-top:0}


/* Studio social profiles: readable text links with wrapped, generous targets. */
.studio-social-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 22px;min-width:0;margin:0;padding:0}
.studio-social-links a{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.launch-contact-aside .studio-social-links{justify-content:flex-start;gap:4px 18px;margin-bottom:20px}
.launch-contact-aside .studio-social-links a{color:var(--wine)}

/* Keep privacy choices clear of the hosting badge, including at phone widths. */
#footer .footer-section{padding-bottom:112px;padding-bottom:calc(112px + env(safe-area-inset-bottom, 0px))}
.studio-privacy-link{display:inline-flex;align-items:center;min-height:44px}
