/*
Theme Name:   The Olde Forest Child
Description:  Child theme for The Olde Forest design studio & publishing imprint
Author:       The Olde Forest
Template:     astra
Version:      1.0.0
*/

/* =============================================================
   TOKENS & RESET
   ============================================================= */

:root {
  --primary:#111;
  --secondary:#f6f6f5;
  --text:#1a1a1a;
  --muted:#6b6b6b;
  --line:#e8e8e8;
  --footer-bg:#1a1a1a;
  --footer-text:#c8c8c8;
  --footer-muted:#888;
  --footer-border:#2e2e2e;
  --transition:.2s;
  --fs-xs:0.7rem;
  --fs-sm:0.8rem;
  --fs-base:0.9rem;
  --fs-md:1rem;
  --fs-lg:1.2rem;
  --fs-xl:1.5rem;
  --fs-2xl:1.8rem;
  --fs-3xl:2.6rem;
  --fs-4xl:3.4rem;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--secondary);
  color:var(--text);
  background-image:radial-gradient(rgba(0,0,0,0.02) 1px,transparent 1px);
  background-size:6px 6px;
}

/* =============================================================
   HEADER & NAV
   ============================================================= */

header{
  background:#fff;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:10;
  border-radius:0 0 10px 10px;
}
.header-inner{
  max-width:1200px;margin:0 auto;padding:22px 40px;
  display:flex;justify-content:space-between;align-items:center;
}
.logo{
  font-family:'Playfair Display',serif;
  font-size:var(--fs-xl);letter-spacing:0.5px;
  text-decoration:none;color:var(--text);
}
nav{display:flex;align-self:stretch;align-items:stretch}
nav a{
  margin-left:24px;text-decoration:none;color:var(--muted);
  font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;
  display:flex;align-items:center;
}
nav a:hover{color:var(--text)}
nav a.active{
  color:var(--text);
  border-bottom:4px solid var(--text);
  pointer-events:none;
}
.header-right{display:flex;align-items:stretch;align-self:stretch}

/* =============================================================
   MOBILE NAVIGATION
   ============================================================= */

/* Hamburger button — hidden on desktop, shown on mobile */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  background:none;border:none;
  cursor:pointer;padding:6px;
  margin-left:16px;
  width:36px;height:36px;
  border-radius:6px;
  transition:background var(--transition);
}
.nav-toggle:hover{background:var(--line)}
.nav-toggle-bar{
  display:block;
  width:22px;height:2px;
  background:var(--text);
  border-radius:2px;
  transition:transform 0.25s ease, opacity 0.2s ease;
  transform-origin:center;
}
/* Animate to × when menu is open */
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:600px){
  .nav-toggle{display:flex}

  /* Full-screen nav panel slides in from the right */
  nav#primary-nav{
    position:fixed;
    inset:0;
    background:#fff;
    z-index:8; /* behind sticky header (z-index:10) */
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:0 32px;
    gap:0;
    /* Closed state */
    transform:translateX(100%);
    visibility:hidden;
    transition:transform 0.3s ease, visibility 0s linear 0.3s;
  }
  nav#primary-nav.open{
    transform:translateX(0);
    visibility:visible;
    transition:transform 0.3s ease, visibility 0s;
  }
  nav#primary-nav a{
    margin-left:0;
    padding:18px 0;
    width:100%;
    border-bottom:1px solid var(--line);
    font-size:var(--fs-xl);
    letter-spacing:0.5px;
    text-transform:none;
    color:var(--text);
  }
  nav#primary-nav a:last-child{border-bottom:none}
  nav#primary-nav a.active{
    border-bottom-color:var(--line);
    color:var(--text);
    pointer-events:auto; /* allow re-clicking current page on mobile to close menu */
  }
  nav#primary-nav a:hover{color:var(--muted)}
}

@media(prefers-reduced-motion:reduce){
  nav#primary-nav{transition:visibility 0s}
  nav#primary-nav.open{transition:none}
  .nav-toggle-bar{transition:none}
}

/* =============================================================
   CART BUTTON
   ============================================================= */

.cart-btn{
  background:none;border:none;cursor:pointer;color:var(--muted);
  display:flex;align-items:center;position:relative;
  margin-left:28px;padding:0;text-decoration:none;
  transition:color var(--transition);
}
.cart-btn:hover{color:var(--text)}
.cart-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cart-badge{
  position:absolute;top:-7px;right:-9px;
  background:#111;color:#fff;
  font-size:var(--fs-xs);font-weight:500;line-height:1;
  width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.cart-badge[hidden]{display:none}

/* =============================================================
   BUTTONS
   ============================================================= */

.btn-primary{
  display:inline-block;
  font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;
  text-decoration:none;
  background:var(--primary);color:#fff;
  padding:10px 22px;
  border:none;cursor:pointer;
  border-radius:6px;font-family:inherit;
  transition:opacity var(--transition);
}
.btn-primary:hover{opacity:0.75}

/* =============================================================
   FOOTER
   ============================================================= */

footer{
  margin-top:100px;
  background:var(--footer-bg);
  color:var(--footer-text);
}
.footer-newsletter-band-wrap{border-bottom:1px solid var(--footer-border)}
.footer-newsletter-band{
  border-bottom:1px solid var(--footer-border);
  padding:56px 40px;
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:flex-end;gap:40px;
}
.footer-newsletter-band h3{font-family:'Playfair Display',serif;font-size:var(--fs-2xl);color:#fff;margin-bottom:8px}
.footer-newsletter-band p{font-size:var(--fs-base);color:var(--footer-muted);margin-bottom:28px}
.footer-newsletter-band form{display:inline-flex}
.footer-newsletter-band input{
  border:1px solid #555;border-radius:6px 0 0 6px;
  padding:12px 18px;background:transparent;
  color:var(--footer-text);font-family:inherit;font-size:var(--fs-base);
  outline:none;width:280px;
}
.footer-newsletter-band input::placeholder{color:#555}
.footer-newsletter-band input:focus{border-color:#888}
.footer-newsletter-band button{
  background:#fff;border:1px solid #fff;border-radius:0 6px 6px 0;
  color:#111;font-size:var(--fs-sm);letter-spacing:1.5px;
  text-transform:uppercase;padding:12px 22px;cursor:pointer;
  font-family:inherit;font-weight:500;
  transition:background var(--transition),border-color var(--transition);
}
.footer-newsletter-band button:hover{background:#ddd;border-color:#ddd}
.footer-icons{display:flex;gap:20px;align-items:center}
.footer-icons a{color:var(--footer-muted);display:flex;align-items:center;text-decoration:none;transition:color var(--transition)}
.footer-icons a:hover{color:#fff}
.footer-icons svg{width:44px;height:44px;fill:currentColor}
.footer-bottom{
  border-top:1px solid var(--footer-border);
  max-width:1200px;margin:0 auto;
  padding:16px 40px;
  font-size:var(--fs-xs);color:var(--footer-muted);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}

/* =============================================================
   ACCESSIBILITY
   ============================================================= */

/* Visually hidden but available to screen readers */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Global focus ring — keyboard users see a consistent outline on all interactive elements */
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{
  position:fixed;left:16px;top:16px;width:auto;height:auto;padding:10px 18px;
  background:#111;color:#fff;font-size:var(--fs-base);text-decoration:none;
  border-radius:6px;z-index:999;display:inline-block;
  outline:2px solid #fff;outline-offset:2px;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =============================================================
   CART DRAWER
   ============================================================= */

.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s}
.cart-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:#fff;z-index:301;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-4px 0 32px rgba(0,0,0,0.1)}
.cart-drawer.open{transform:translateX(0)}
.cart-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.cart-drawer-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg)}
.cart-drawer-count{font-size:var(--fs-sm);color:var(--muted);margin-left:8px}
.cart-drawer-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-xl);line-height:1;padding:2px 8px;border-radius:4px;transition:color var(--transition);font-family:inherit}
.cart-drawer-close:hover{color:var(--text)}
.cart-drawer-body{flex:1;overflow-y:auto}
.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:280px;color:var(--muted);text-align:center;padding:40px 24px;gap:12px}
.cart-empty svg{width:48px;height:48px;stroke:var(--muted);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:0.35}
.cart-empty p{font-size:var(--fs-base);line-height:1.6}
.cart-storage-notice{font-size:var(--fs-sm);color:var(--muted);text-align:center;padding:8px 24px 0;line-height:1.5}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);gap:16px}
.cart-item-info{flex:1;min-width:0}
.cart-item-name{font-size:var(--fs-base);font-weight:500;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-unit{font-size:var(--fs-sm);color:var(--muted)}
.cart-item-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
.qty-btn{background:none;border:1px solid var(--line);width:26px;height:26px;border-radius:4px;cursor:pointer;font-size:var(--fs-base);line-height:1;display:flex;align-items:center;justify-content:center;color:var(--text);transition:border-color var(--transition);font-family:inherit}
.qty-btn:hover{border-color:var(--text)}
.qty-num{font-size:var(--fs-base);min-width:22px;text-align:center}
.remove-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-lg);line-height:1;padding:2px 4px;margin-left:2px;transition:color var(--transition);border-radius:4px;font-family:inherit}
.remove-btn:hover{color:#c00}
.cart-drawer-footer{border-top:1px solid var(--line);padding:20px 24px;flex-shrink:0}
.cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-base);margin-bottom:6px}
.cart-subtotal-label{color:var(--muted)}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-weight:500;font-size:var(--fs-md);margin-bottom:18px;padding-top:10px;border-top:1px solid var(--line)}
.cart-total-amount{font-family:'Playfair Display',serif;font-size:var(--fs-lg)}
.checkout-btn{width:100%;text-align:center;display:block;padding:13px;border-radius:6px;font-size:var(--fs-sm)}
#newsletter-msg{font-size:var(--fs-sm);color:#aaa;margin-top:10px;min-height:20px}

/* =============================================================
   PROJECT DETAIL SHARED STYLES
   ============================================================= */


.back-link{display:block;font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;width:fit-content;transition:color var(--transition),border-color var(--transition);margin-bottom:56px}
.back-link:hover{color:var(--text);border-color:var(--text)}
.section{margin-bottom:72px}
.project-title{font-family:'Playfair Display',serif;font-size:var(--fs-4xl);line-height:1.1;margin-bottom:40px}
.info-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.info-label{font-size:var(--fs-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.info-value{font-size:var(--fs-base);line-height:1.65;color:var(--text)}
.info-tag{display:inline-block;font-size:var(--fs-xs);letter-spacing:0.8px;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line);border-radius:4px;color:var(--muted);margin-bottom:6px}
.img-hero{width:100%;border-radius:8px;aspect-ratio:16/7}
.awards-list{display:flex;flex-direction:column;gap:0}
.award-row{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.award-row:first-child{border-top:1px solid var(--line)}
.award-badge{width:40px;height:40px;background:var(--line);border-radius:6px}
.award-name{font-size:var(--fs-base);font-weight:500;margin-bottom:2px}
.award-detail{font-size:var(--fs-sm);color:var(--muted)}
.section-divider{border:none;border-top:1px solid var(--line);margin:0 0 72px}
.col-label{font-size:var(--fs-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.col-heading{font-family:'Playfair Display',serif;font-size:var(--fs-lg);margin-bottom:14px}
.col-text{font-size:var(--fs-base);line-height:1.8;color:var(--text)}
.col-text+.col-text{margin-top:12px}
.col-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.col-2 p{font-size:var(--fs-base);line-height:1.85;color:var(--text)}
.col-2 p+p{margin-top:14px}
.col-2 em{font-style:italic;color:var(--muted)}
.col-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.col-3 p,.col-3 li{font-size:var(--fs-base);line-height:1.8;color:var(--text)}
.col-3 ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.col-3 li{padding-left:16px;position:relative}
.col-3 li::before{content:"—";position:absolute;left:0;color:var(--muted)}
.img-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.img-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.img-placeholder{border-radius:8px;background:linear-gradient(135deg,#e4dcd4,#d2cac2)}

/* =============================================================
   HOMEPAGE
   ============================================================= */

.container{max-width:1200px;margin:auto;padding:50px 40px}
.hero{position:relative;width:100%;height:82vh;overflow:hidden}
.hero-slides{display:flex;width:100%;height:100%;transition:transform .6s ease}
.hero-slide{flex:0 0 100%;height:100%;position:relative;background-color:#2a2a25}
.hero-slide:nth-child(2){background-color:#1e2a22}
.hero-slide:nth-child(3){background-color:#22221e}
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.55) 100%)}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 30px;z-index:1}
.hero h1{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);color:#fff;margin-bottom:14px;letter-spacing:0.5px}
.hero p{color:rgba(255,255,255,0.72);font-size:var(--fs-md);letter-spacing:0.5px}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,0.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,0.2);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition)}
.hero-arrow .material-symbols-outlined{font-size:28px;color:#fff}
.hero-arrow:hover{background:rgba(255,255,255,0.28)}
.hero-arrow-prev{left:24px}
.hero-arrow-next{right:24px}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.4);border:none;cursor:pointer;padding:0;transition:background var(--transition),transform var(--transition)}
.hero-dot.active{background:#fff;transform:scale(1.25)}
.section{margin-top:70px;margin-bottom:0}
.section h2{font-family:'Playfair Display',serif;font-size:var(--fs-xl);margin-bottom:20px}
.studio-intro{padding:50px 0;border-bottom:1px solid var(--line);max-width:600px}
.studio-intro p{font-size:var(--fs-md);line-height:1.85;color:var(--text)}
.studio-intro-link{display:inline-block;margin-top:18px;font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;transition:color var(--transition),border-color var(--transition)}
.studio-intro-link:hover{color:var(--text);border-color:var(--text)}
.work-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.work-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;transition:box-shadow var(--transition);cursor:pointer;position:relative}
.work-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.work-expand-hint{position:absolute;top:12px;right:12px;color:var(--muted);opacity:0;transition:opacity var(--transition);pointer-events:none;background:rgba(255,255,255,0.85);border-radius:4px;padding:2px 4px;display:flex;align-items:center}
.work-expand-hint .material-symbols-outlined{font-size:16px}
.work-card:hover .work-expand-hint,.work-card:focus .work-expand-hint{opacity:1}
.work-thumb{width:100%;aspect-ratio:16/7;background:linear-gradient(135deg,#e2e2e2,#cfcfcf)}
.work-thumb.warm,.work-thumb.a{background:linear-gradient(135deg,#e8e0d0,#d4c8b0)}
.work-thumb.cool,.work-thumb.b{background:linear-gradient(135deg,#d0d8e8,#b0bcd4)}
.work-thumb.d{background:linear-gradient(135deg,#e8d0d8,#d4b0bc)}
.work-info{padding:20px 24px}
.work-category{font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.work-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);margin-bottom:6px}
.work-desc{font-size:var(--fs-base);color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.section-footer{margin-top:16px}
.section-footer a{font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;transition:color var(--transition),border-color var(--transition)}
.section-footer a:hover{color:var(--text);border-color:var(--text)}
.shop-cta{margin-top:70px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:48px 40px;display:flex;justify-content:space-between;align-items:center;gap:32px}
.shop-cta-text h2{font-family:'Playfair Display',serif;font-size:var(--fs-xl);margin-bottom:8px}
.shop-cta-text p{color:var(--muted);font-size:var(--fs-base);line-height:1.6;max-width:440px}
.events-list{display:flex;flex-direction:column}
.event-item{display:flex;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.event-item:first-child{border-top:1px solid var(--line)}
.event-date{display:flex;flex-direction:column;align-items:center;min-width:44px;text-align:center}
.event-month{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.event-day{font-size:var(--fs-xl);font-family:'Playfair Display',serif;line-height:1.1}
.event-info{flex:1}
.event-name{font-size:var(--fs-base);font-weight:500;margin-bottom:3px}
.event-location{font-size:var(--fs-sm);color:var(--muted)}
.event-tag{font-size:var(--fs-xs);letter-spacing:0.8px;text-transform:uppercase;padding:3px 10px;border-radius:4px;background:var(--line);color:var(--muted);white-space:nowrap}
.event-tag.past{background:transparent;border:1px solid var(--line)}

/* =============================================================
   WORK PAGE
   ============================================================= */

.page-header{margin-bottom:50px;border-bottom:1px solid var(--line);padding-bottom:40px}
.page-header h1{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);margin-bottom:10px}
.page-header p{color:var(--muted);font-size:var(--fs-base);line-height:1.7;max-width:500px}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

/* Project modal */
.proj-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.proj-overlay.open{opacity:1;pointer-events:auto}
.proj-modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(24px);transition:transform .3s ease}
.proj-overlay.open .proj-modal{transform:translateY(0)}
.proj-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--transition);z-index:1}
.proj-modal-close:hover{background:var(--line)}
.proj-modal-close .material-symbols-outlined{font-size:22px;color:var(--muted)}
/* Icon font fallback: × text shown when Material Symbols fails to load;
   hidden as soon as the font is available (main.js swaps textContent instead) */
.icon-text-fallback{font-size:18px;line-height:1;color:var(--muted);display:none}
/* @media prefers-reduced-motion: hero carousel transitions only */
@media(prefers-reduced-motion:reduce){
  .hero-slides{transition:none}
}

/* Project modal editorial header */
.proj-header{padding:40px 40px 0}
.proj-header .work-category{margin-bottom:12px}
.proj-header .project-title{font-size:var(--fs-3xl);line-height:1.15;margin-bottom:14px}
.proj-about{color:var(--muted);font-size:var(--fs-base);line-height:1.75;max-width:580px;margin-bottom:0}
.proj-meta-strip{display:flex;gap:40px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--line);margin-top:24px}
.proj-meta-item{display:flex;flex-direction:column;gap:4px;min-width:100px}
.proj-hero-img{width:calc(100% + 80px);margin:0 -40px;aspect-ratio:21/9}
.proj-header-awards{padding:24px 0 32px;border-top:1px solid var(--line)}
.proj-body{padding:40px 28px 48px}
.proj-body .col-3{grid-template-columns:1fr 1fr}
.proj-body .img-grid-3{grid-template-columns:1fr 1fr}
.proj-body .text-image,.proj-body .text-image.reverse,.proj-body .process-layout{grid-template-columns:1fr 1fr}
.proj-body .stat-number{font-size:var(--fs-2xl)}

/* Project-specific: itishindi */
.section-heading{font-family:'Playfair Display',serif;font-size:var(--fs-xl);margin-bottom:28px}
.callout-block{text-align:center;padding:48px 80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.callout-block blockquote{font-family:'Playfair Display',serif;font-style:italic;font-size:var(--fs-xl);line-height:1.6;color:var(--text)}
.manifesto{padding:56px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center}
.manifesto-label{font-size:var(--fs-xs);letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.manifesto-heading{font-family:'Playfair Display',serif;font-size:var(--fs-2xl);margin-bottom:32px}
.manifesto ul{list-style:none;display:flex;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;text-align:left}
.manifesto li{font-size:var(--fs-base);line-height:1.7;color:var(--text);padding-left:20px;position:relative}
.manifesto li::before{content:"—";position:absolute;left:0;color:var(--muted)}
.subsection{padding-top:40px;border-top:1px solid var(--line)}
.subsection-heading{font-size:var(--fs-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:20px}

/* Project-specific: breakthemapart */
.stat-block{padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-number{font-family:'Playfair Display',serif;font-size:var(--fs-4xl);line-height:1.1;margin-bottom:20px}

/* Project-specific: vedant */
.text-image{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}
.text-image.reverse{grid-template-columns:2fr 1fr}
.process-layout{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}
.process-steps{display:flex;flex-direction:column;gap:0}
.process-step{display:flex;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.process-step:first-child{border-top:1px solid var(--line)}
.process-num{font-size:var(--fs-xs);color:var(--muted);min-width:22px;padding-top:2px;letter-spacing:0.5px}
.process-text{font-size:var(--fs-base);line-height:1.6;color:var(--text)}
.cta-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color var(--transition),border-color var(--transition)}
.cta-link:hover{color:var(--text);border-color:var(--text)}

/* Per-project gradient scoping */
[data-project="hindi"] .img-hero{background:linear-gradient(135deg,#e8dfd0,#d5ccbc)}
[data-project="hindi"] .img-full{width:100%;border-radius:8px;background:linear-gradient(135deg,#e0d8cc,#cec6ba)}
[data-project="break"] .img-hero{background:linear-gradient(135deg,#d0d8e8,#b8c8d8)}
[data-project="break"] .img-placeholder{background:linear-gradient(135deg,#d4d8e4,#c4c8d4)}
[data-project="vedant"] .img-hero{background:linear-gradient(135deg,#d4dcd0,#c4ccc0)}
[data-project="vedant"] .img-placeholder{background:linear-gradient(135deg,#d4dcd0,#c4ccc0)}

/* =============================================================
   ABOUT PAGE
   ============================================================= */

.page-title{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);margin-bottom:50px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.about-text p{line-height:1.8;font-size:var(--fs-base)}
.about-text p+p{margin-top:16px}
.contact{margin-top:28px}
.contact a{color:var(--text);font-size:var(--fs-base);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;transition:border-color var(--transition)}
.contact a:hover{border-color:var(--text)}
.about-image-stack .img-placeholder-lg{width:100%;aspect-ratio:1/1;background:#ddd;border-radius:8px}
.about-section{margin-top:70px}
.section-title{font-family:'Playfair Display',serif;font-size:var(--fs-xl);margin-bottom:32px}
.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 40px}
.person-card{display:flex;flex-direction:row;gap:40px;align-items:flex-start}
.person-photo{width:180px;flex-shrink:0;aspect-ratio:1/1;background:linear-gradient(135deg,#e2e2e2,#cfcfcf);border-radius:8px}
.person-name{font-family:'Playfair Display',serif;font-size:var(--fs-md)}
.person-role{font-size:var(--fs-xs);letter-spacing:0.8px;text-transform:uppercase;color:var(--muted);margin-top:6px}
.person-bio{font-size:var(--fs-base);color:var(--muted);line-height:1.75;margin-top:14px}
.person-social{display:flex;gap:14px;margin-top:22px;flex-wrap:wrap}
.person-social a{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);text-decoration:none;transition:opacity var(--transition)}
.person-social a:hover{opacity:0.75}
.person-social svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
.person-instagram,.person-linkedin{color:#0A66C2}

/* =============================================================
   SHOP PAGE
   ============================================================= */

.shop-section{margin-top:70px}
.shop-section:first-child{margin-top:0}
.shop-section h2{font-family:'Playfair Display',serif;font-size:var(--fs-xl);margin-bottom:20px}
.books{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px 24px;position:relative;cursor:pointer}
.card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.card-expand-hint{position:absolute;top:14px;right:14px;color:var(--muted);opacity:0.5;transition:opacity var(--transition);pointer-events:none}
.card-expand-hint .material-symbols-outlined{font-size:18px}
.card:hover .card-expand-hint{opacity:1}
.card-header{display:grid;grid-template-columns:160px 1fr;gap:20px}
.cover{width:100%;aspect-ratio:176/250;background:linear-gradient(135deg,#e2e2e2,#cfcfcf);position:relative;box-shadow:0 6px 18px rgba(0,0,0,0.08);border-radius:6px;overflow:hidden}
.cover::before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:linear-gradient(to right,rgba(0,0,0,0.15),transparent)}
.meta{display:flex;flex-direction:column;justify-content:flex-start}
.meta h3{font-family:'Playfair Display',serif;font-size:var(--fs-lg);margin-bottom:6px}
.meta p{color:var(--muted);font-size:var(--fs-base);line-height:1.6}
.price{margin-top:auto;padding-top:16px;font-size:var(--fs-md);font-weight:500;letter-spacing:0.5px;display:flex;align-items:baseline;gap:8px}
.price-note{font-size:var(--fs-xs);font-weight:400;color:var(--muted);letter-spacing:0}
.actions{margin-top:14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.actions-push{margin-top:auto;padding-top:16px}
.btn-primary{padding:10px 20px}
.btn-primary:disabled{opacity:0.45;cursor:not-allowed}
.btn-outline{display:inline-block;font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;background:#e2e2e0;color:var(--text);padding:9px 20px;border:1px solid #e2e2e0;cursor:pointer;border-radius:6px;font-family:inherit;transition:border-color var(--transition),background var(--transition)}
.btn-outline:hover{background:#d4d4d2;border-color:#d4d4d2}
.btn-secondary{font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;background:none;border:none;border-bottom:1px solid var(--line);padding:0 0 2px 0;color:var(--muted);cursor:pointer;font-family:inherit;transition:color var(--transition);align-self:flex-start;margin-top:10px}
.btn-secondary:hover{color:var(--text)}
.details{height:0;overflow:hidden;transition:height .35s ease}
.details-inner{padding-top:18px}
.details-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;font-size:var(--fs-sm);color:var(--muted)}
.detail-item{display:flex;align-items:center;gap:6px}
.material-symbols-outlined{font-size:16px;color:var(--muted)}
.cover-badge{position:absolute;top:10px;left:10px;font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:4px;font-family:inherit;font-weight:500;z-index:1}
.cover-badge.new{background:#111;color:#fff}
.cover-badge.limited{background:#c47f17;color:#fff}
.cover-badge.coming-soon{background:rgba(0,0,0,0.18);color:#fff}
.type-tag{font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
.book-author{font-size:var(--fs-sm);color:var(--muted);margin-bottom:14px}
.book-format{font-size:var(--fs-sm);color:var(--muted);margin-top:6px;letter-spacing:0.3px}
.stock-badge{font-size:var(--fs-xs);letter-spacing:0.5px;padding:3px 8px;border-radius:4px;font-weight:500}
.stock-badge.in-stock{background:#eaf5ea;color:#2d7a2d}
.stock-badge.limited{background:#fef3e2;color:#a06000}
.stock-badge.coming-soon{background:var(--line);color:var(--muted)}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(24px);transition:transform .3s ease}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background var(--transition);z-index:1}
.modal-close:hover{background:var(--line)}
.modal-close .material-symbols-outlined{font-size:22px;color:var(--muted)}
.modal-body{display:grid;grid-template-columns:2fr 3fr}
.modal-gallery{padding:28px 20px 28px 28px;display:flex;flex-direction:column;gap:10px}
.modal-main-img{width:100%;aspect-ratio:176/250;background:linear-gradient(135deg,#e2e2e2,#cfcfcf);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,0.08);position:relative;overflow:hidden}
.modal-main-img::before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:linear-gradient(to right,rgba(0,0,0,0.15),transparent)}
.modal-thumbs{display:flex;gap:10px}
.modal-thumb{flex:1;aspect-ratio:1/1;background:linear-gradient(135deg,#d8d8d8,#c8c8c8);border-radius:6px;cursor:pointer;border:2px solid transparent;transition:border-color var(--transition),opacity var(--transition);opacity:0.6}
.modal-thumb:nth-child(2){background:linear-gradient(135deg,#dde2d8,#cdd2c8)}
.modal-thumb.active{border-color:var(--primary);opacity:1}
.modal-thumb:hover{opacity:0.9}
.modal-info{padding:36px 28px 28px 20px;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.modal-title{font-family:'Playfair Display',serif;font-size:var(--fs-xl);margin-bottom:10px}
.modal-desc{color:var(--muted);font-size:var(--fs-base);line-height:1.7;margin-bottom:24px}
.modal-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:var(--fs-sm);color:var(--muted);padding:20px 0;border-top:1px solid var(--line)}
.modal-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px;border-top:1px solid var(--line);margin-top:24px}
.modal-buy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.modal-price{font-size:var(--fs-lg);font-weight:500;letter-spacing:0.5px;display:flex;align-items:baseline;gap:8px}
.modal-author{font-size:var(--fs-base);color:var(--muted);margin-bottom:6px}
.modal-stock{margin-bottom:16px}
.modal-long-desc{font-size:var(--fs-base);color:var(--muted);line-height:1.75;margin-top:-12px;margin-bottom:20px}
.return-policy{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;line-height:1.5}
.modal-related{border-top:1px solid var(--line);padding:24px 28px 28px}
.modal-related-heading{font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.modal-related-row{display:flex;gap:16px}
.modal-related-card{display:flex;flex-direction:column;gap:8px;cursor:pointer;flex:0 0 100px}
.modal-related-cover{width:100%;aspect-ratio:176/250;background:linear-gradient(135deg,#e2e2e2,#cfcfcf);border-radius:6px;transition:opacity var(--transition)}
.modal-related-card:hover .modal-related-cover{opacity:0.75}
.modal-related-title{font-size:var(--fs-sm);font-family:'Playfair Display',serif}
.modal-related-price{font-size:var(--fs-sm);color:var(--muted)}
.modal-peek{display:none;padding:20px 20px 0}
.cover-square{aspect-ratio:1/1}
.cover-print{background:linear-gradient(135deg,#e8e0d8,#d4c8bc)}
.cover-object{background:linear-gradient(135deg,#d8dde8,#c8cfd8)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-question{width:100%;background:none;border:none;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;cursor:pointer;font-family:inherit;font-size:var(--fs-base);color:var(--text)}
.faq-question:hover .faq-q-text{color:var(--muted)}
.faq-icon{color:var(--muted);transition:transform .25s;flex-shrink:0}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{height:0;overflow:hidden;transition:height .3s ease}
.faq-answer-inner{padding:0 0 20px;font-size:var(--fs-base);color:var(--muted);line-height:1.75;max-width:600px}
.faq-answer-inner a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px;transition:border-color var(--transition)}
.faq-answer-inner a:hover{border-color:var(--text)}
.btn-atc.added{background:#2d7a2d;pointer-events:none}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media(max-width:700px){
  .cart-drawer{width:100%}
  .work-grid,.work-list,.books{grid-template-columns:1fr}
  .proj-overlay{padding:0;align-items:flex-end}
  .proj-modal{border-radius:16px 16px 0 0;max-height:92vh}
  .proj-header{padding:24px 20px 0}
  .proj-header .project-title{font-size:var(--fs-2xl)}
  .proj-hero-img{width:calc(100% + 40px);margin:0 -20px}
  .proj-meta-strip{gap:20px}
  .proj-body{padding:24px 20px 32px}
  .modal-overlay{padding:0;align-items:flex-end}
  .modal{border-radius:16px 16px 0 0;max-height:92vh}
  .modal-body{grid-template-columns:1fr}
  .modal-peek{display:block}
  .modal-gallery{padding:16px 16px 0;max-width:360px;margin:0 auto;width:100%}
  .modal-info{padding:16px;border-left:none;border-top:1px solid var(--line)}
  .modal-info .modal-title,.modal-info .modal-author{display:none}
  .modal-details-grid{grid-template-columns:1fr}
  .modal-related{padding:16px 16px 20px}
  .modal-related-row{overflow-x:auto;padding-bottom:4px}
  .modal-related-card{flex:0 0 80px}
  .modal-footer{gap:12px}
}

@media(max-width:900px){
  .info-grid{grid-template-columns:1fr 1fr}
  .info-grid > *:last-child{display:none}
  .col-2,.col-3{grid-template-columns:1fr}
  .img-grid-3{grid-template-columns:1fr 1fr}
  .callout-block{padding:40px 24px}
  .manifesto{padding:36px 24px}
  .text-image,.text-image.reverse,.process-layout{grid-template-columns:1fr}
}

@media(max-width:600px){
  .header-inner{padding:16px 20px}
  .container{padding:24px 16px}
  .hero h1{font-size:var(--fs-2xl)}
  .hero-arrow{width:38px;height:38px}
  .hero-arrow-prev{left:12px}
  .hero-arrow-next{right:12px}
  .section{margin-top:40px}
  .section h2{font-size:var(--fs-lg);margin-bottom:14px}
  .studio-intro{padding:36px 0}
  .event-item{gap:16px}
  .shop-cta{flex-direction:column;align-items:flex-start;padding:28px 20px;gap:20px}
  .footer-newsletter-band{flex-direction:column;align-items:flex-start;padding:36px 20px;gap:28px}
  .footer-newsletter-band input{width:100%}
  .footer-newsletter-band form{width:100%}
  .footer-newsletter-band button{padding:12px 16px}
  .footer-icons{gap:16px}
  .footer-icons svg{width:32px;height:32px}
  .footer-bottom{padding:12px 20px}
  .footer-newsletter-band h3{font-size:var(--fs-lg)}
  .page{padding:40px 20px 80px}
  .project-title{font-size:var(--fs-3xl)}
  .info-grid{grid-template-columns:1fr}
  .info-grid > *:last-child{display:block}
  .img-grid-2,.img-grid-3{grid-template-columns:1fr}
  .stat-number{font-size:var(--fs-3xl)}
  .about-grid{grid-template-columns:1fr}
  .about-image-stack{display:none}
  .about-section{margin-top:50px}
  .people-grid{grid-template-columns:1fr;gap:28px}
  .card{padding:20px 16px}
  .card-header{grid-template-columns:120px 1fr;gap:14px}
}
