/* ============================================
   LEA RICHELIEU — learichelieu.com
   Style: Gallery Minimalism · Warm Neutral
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Jost:wght@200;300;400&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Jost',sans-serif;font-weight:300;color:#1a1a1a;background:#faf9f7;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:15px}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:'Jost',sans-serif}

:root{
  --bg:#faf9f7;
  --bg2:#f5f3ef;
  --bg3:#f0ede8;
  --bg4:#e8e4dc;
  --dark:#0e0e16;
  --ink:#1a1a1a;
  --ink2:#555;
  --ink3:#888;
  --ink4:#bbb;
  --purple:#5a4a7a;
  --purple-light:#b8a8d4;
  --border:rgba(0,0,0,0.08);
  --border2:rgba(0,0,0,0.12);
  --serif:'Cormorant Garamond',serif;
  --sans:'Jost',sans-serif;
}

/* NAV */
.nav{display:flex;justify-content:space-between;align-items:center;padding:22px 48px;border-bottom:.5px solid var(--border);position:sticky;top:0;background:rgba(250,249,247,0.96);backdrop-filter:blur(8px);z-index:100}
.nav-logo{font-family:var(--serif);font-size:17px;letter-spacing:.15em;text-transform:uppercase}
.nav-links{display:flex;gap:32px}
.nav-links a{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#444;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:#1a1a1a}
.nav-lang{display:flex;gap:8px;font-size:10px;letter-spacing:.12em;color:var(--ink4)}
.nav-lang span{cursor:pointer}
.nav-lang span.on{color:#1a1a1a;border-bottom:.5px solid #1a1a1a}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
.nav-burger span{width:22px;height:1px;background:#1a1a1a;display:block}

/* MOBILE NAV */
.nav-mobile{display:none;position:fixed;inset:0;background:var(--bg);z-index:200;padding:48px;flex-direction:column;gap:24px}
.nav-mobile.open{display:flex}
.nav-mobile a{font-size:28px;font-family:var(--serif);font-weight:300;color:#1a1a1a}
.nav-mobile-close{position:absolute;top:22px;right:48px;font-size:24px;background:none;border:none;cursor:pointer}

/* BREADCRUMB */
.breadcrumb{padding:13px 48px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:.5px solid rgba(0,0,0,0.06);display:flex;justify-content:space-between;align-items:center;color:var(--ink4)}
.breadcrumb-cur{color:#1a1a1a}

/* TICKER */
.ticker{padding:14px 48px;background:var(--bg2);border-bottom:.5px solid var(--border);display:flex;gap:56px;overflow:hidden}
.ticker-item{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.ticker-item strong{color:#1a1a1a;font-weight:400;margin-right:8px}

/* SECTIONS */
.section{padding:72px 48px}
.section--bg2{background:var(--bg2)}
.section--bg3{background:var(--bg3)}
.section--dark{background:var(--dark);color:#e8e4dc}
.section-hdr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px;padding-bottom:12px;border-bottom:.5px solid var(--border)}
.section-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink3)}
.section-link{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);border-bottom:.5px solid #ccc;padding-bottom:1px}

/* BUTTONS */
.btn{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:15px 38px;border:none;cursor:pointer;font-family:var(--sans);font-weight:300;transition:opacity .2s}
.btn:hover{opacity:.85}
.btn-dark{background:#1a1a1a;color:var(--bg)}
.btn-light{background:var(--bg4);color:var(--dark)}
.btn-ghost{background:transparent;color:#1a1a1a;border:.5px solid var(--border2)}
.btn-ghost-light{background:transparent;color:rgba(255,255,255,.6);border:.5px solid rgba(255,255,255,.2)}
.btn-purple{background:var(--purple);color:#fff}
.btn-full{width:100%;display:block;text-align:center}
.btn-sm{padding:10px 18px}

/* TYPOGRAPHY */
.eyebrow{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink3)}
.eyebrow-light{color:rgba(255,255,255,.3)}
h1.serif{font-family:var(--serif);font-size:52px;font-weight:300;line-height:1.08}
h2.serif{font-family:var(--serif);font-size:40px;font-weight:300;line-height:1.1}
h3.serif{font-family:var(--serif);font-size:28px;font-weight:300;line-height:1.15}
.serif-title{font-family:var(--serif);font-weight:300}
em{font-style:italic;color:var(--purple)}
.light em{color:var(--purple-light)}

/* GALLERY GRID */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.artwork-card{cursor:pointer}
.artwork-card:hover .artwork-overlay{opacity:1}
.artwork-img{width:100%;aspect-ratio:1/1;position:relative;overflow:hidden;background:var(--bg3)}
.artwork-img img{transition:transform .4s ease;width:100%;height:100%;object-fit:cover}
.artwork-card:hover .artwork-img img{transform:scale(1.04)}
.artwork-overlay{position:absolute;inset:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center}
.artwork-overlay span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9);border-bottom:.5px solid rgba(255,255,255,.5);padding-bottom:2px}
.artwork-badge{position:absolute;top:10px;left:10px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px}
.badge-gold{background:rgba(180,130,50,.9);color:#fff8e0}
.badge-green{background:rgba(30,100,50,.85);color:#e8ffe8}
.artwork-meta{padding:12px 0 4px}
.artwork-title-card{font-family:var(--serif);font-size:19px;font-weight:300;color:#1a1a1a}
.artwork-dims{font-size:12px;color:var(--ink3);margin-top:3px}
.artwork-price-card{font-size:14px;color:var(--purple);margin-top:4px}

/* ARTWORK PAGE SLIDER */
.slider-wrap{position:relative;overflow:hidden}
.slides{display:flex;transition:transform .4s ease}
.slide{min-width:100%;display:flex;align-items:center;justify-content:center;position:relative}
.slide-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.slide-label-dark{color:rgba(0,0,0,.25)}
.slide-label-light{color:rgba(255,255,255,.35)}
.slide-counter{position:absolute;top:16px;right:16px;font-size:10px;letter-spacing:.1em}
.slide-counter-dark{color:rgba(0,0,0,.3)}
.slide-counter-light{color:rgba(255,255,255,.4)}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#1a1a1a;z-index:5}
.slider-prev{left:16px}
.slider-next{right:16px}
.slider-dots{display:flex;justify-content:center;gap:6px;padding:12px 0}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.15);border:none;cursor:pointer;transition:background .2s;padding:0}
.dot.active{background:rgba(0,0,0,.55)}

/* ARTWORK INFO BLOCK */
.artwork-block{display:grid;grid-template-columns:1fr 340px;border-top:.5px solid var(--border)}
.artwork-left{padding:48px;border-right:.5px solid var(--border)}
.artwork-right{padding:48px 36px;display:flex;flex-direction:column}
.specs{display:flex;flex-direction:column;margin:20px 0}
.spec-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:.5px solid rgba(0,0,0,.05)}
.spec-row:first-child{border-top:.5px solid var(--border)}
.spec-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.spec-val{font-size:14px;color:#1a1a1a;text-align:right}
.price-big{font-family:var(--serif);font-size:42px;font-weight:300;color:#1a1a1a}
.price-note{font-size:10px;color:var(--ink4);letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
.delivery{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:.5px solid var(--border);margin-top:auto}
.del-row{display:flex;justify-content:space-between}
.del-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4)}
.del-val{font-size:11px;color:var(--ink2);text-align:right;line-height:1.5}

/* COURSE TAGS */
.tag{font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:3px 9px;display:inline-block}
.tag-pencil{background:#e8e4dc;color:#666}
.tag-oil{background:#e0d8e8;color:var(--purple)}
.tag-portrait{background:#e8dcd8;color:#7a4a40}
.tag-realism{background:#dce8dc;color:#3a6a3a}
.tag-best{background:#1a1a1a;color:var(--bg)}

/* COACHING PLANS */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border)}
.plan{background:var(--bg);padding:40px 32px;display:flex;flex-direction:column;gap:16px;position:relative}
.plan-featured{background:var(--bg3)}
.plan-warm{background:#e8e0d4}
.plan-badge{position:absolute;top:-1px;left:32px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;background:var(--purple);color:#fff;padding:4px 10px}
.plan-price{font-family:var(--serif);font-size:38px;font-weight:300;color:#1a1a1a}
.plan-features{display:flex;flex-direction:column;gap:8px;flex:1}
.plan-feature{font-size:14px;color:var(--ink);padding-left:18px;position:relative;line-height:1.6}
.plan-feature::before{content:'—';position:absolute;left:0;color:var(--ink3)}

/* FORM */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.field input,.field select,.field textarea{background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.1);color:#e8e4dc;padding:12px 14px;font-size:12px;font-family:var(--sans);font-weight:300;outline:none}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.2)}
.field textarea{resize:none;min-height:80px}
.field select option{background:#1a1a28;color:#e8e4dc}

/* LAYOUT UTILS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr)}
.gap-2{gap:2px}
.gap-3{gap:3px}
.gap-12{gap:12px}
.gap-16{gap:16px}
.gap-20{gap:20px}
.gap-24{gap:24px}
.gap-32{gap:32px}
.gap-48{gap:48px}
.gap-64{gap:64px}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mt-32{margin-top:32px}
.mb-8{margin-bottom:8px}
.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}
.mb-32{margin-bottom:32px}
.p-24{padding:24px}
.p-32{padding:32px}
.p-40{padding:40px}
.p-48{padding:48px}
.border-b{border-bottom:.5px solid var(--border)}
.border-r{border-right:.5px solid var(--border)}
.border-t{border-top:.5px solid var(--border)}
.bg-dark{background:var(--dark);color:#e8e4dc}
.bg-2{background:var(--bg2)}
.bg-3{background:var(--bg3)}
.text-center{text-align:center}
.text-right{text-align:right}
.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.items-baseline{align-items:baseline}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.flex-1{flex:1}

/* FOOTER */
.footer{padding:32px 48px;border-top:.5px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.footer-logo{font-family:var(--serif);font-size:15px;letter-spacing:.15em;text-transform:uppercase}
.footer-links{display:flex;gap:24px}
.footer-links a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.footer-links a:hover{color:#1a1a1a}
.footer-copy{font-size:12px;color:#999}

/* MOBILE */
@media(max-width:768px){
  .nav{padding:16px 20px}
  .nav-links,.nav-lang{display:none}
  .nav-burger{display:flex}
  .breadcrumb{padding:12px 20px}
  .ticker{padding:12px 20px;gap:32px;overflow-x:auto}
  .section{padding:40px 20px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .artwork-block{grid-template-columns:1fr}
  .artwork-left{padding:24px 20px;border-right:none;border-bottom:.5px solid var(--border)}
  .artwork-right{padding:24px 20px}
  .plans{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .footer{flex-direction:column;gap:16px;text-align:center;padding:24px 20px}
  h1.serif{font-size:32px}
  h2.serif{font-size:26px}
  .btn{padding:13px 20px;font-size:11px}
  /* hero sections */
  section[style*="grid-template-columns:55%"]{display:block!important}
  section[style*="grid-template-columns:1fr 1fr"]{display:block!important}
  section[style*="grid-template-columns:1fr 1fr;gap"]{display:block!important}
  /* coaching */
  .coaching-hero{display:block!important}
  .coaching-hero-content{padding:36px 20px!important}
  .coaching-hero-img{min-height:220px!important}
  .plans-grid{grid-template-columns:1fr!important}
  .plans-bonus{flex-direction:column!important;gap:20px!important;padding:24px 20px!important}
  .plans-bonus-guarantee{flex-direction:column!important;gap:12px!important}
  .process-grid{grid-template-columns:1fr 1fr!important}
  .testimonials-grid{grid-template-columns:1fr!important}
  .consult-banner{display:block!important;padding:40px 20px!important}
  .consult-banner a{margin-top:24px!important;display:block!important;text-align:center!important}
  /* education */
  .edu-hero{display:block!important;padding:40px 20px!important}
  .courses-grid{grid-template-columns:1fr!important}
  .trials-grid{grid-template-columns:1fr 1fr!important}
  .pdf-grid{grid-template-columns:1fr 1fr!important}
  .reviews-track{grid-template-columns:1fr!important}
  .guarantee-strip{display:block!important;padding:20px!important}
  .guarantee-item{padding:16px 20px!important;text-align:left!important}
  /* services index */
  .services-grid{grid-template-columns:1fr!important}
  .service-card{padding:36px 20px!important}
  .courses-preview{grid-template-columns:1fr!important}
  /* contact */
  .contact-wrap{display:block!important}
  .contact-left{padding:40px 20px!important}
  .contact-right{padding:32px 20px!important}
  /* about section */
  section[style*="grid-template-columns:1fr 1fr"]{display:block!important}
}
@media(max-width:480px){
  .gallery-grid{grid-template-columns:1fr}
  .trials-grid{grid-template-columns:1fr!important}
  .pdf-grid{grid-template-columns:1fr!important}
  .process-grid{grid-template-columns:1fr!important}
  h1.serif{font-size:28px}
  h2.serif{font-size:22px}
}

/* LANG SWITCHER */
.lang-switcher{position:relative}
.lang-btn{background:none;border:.5px solid var(--border2);padding:5px 10px;font-size:11px;letter-spacing:.1em;font-family:var(--sans);cursor:pointer;color:var(--ink)}
.lang-dropdown{display:none;position:absolute;right:0;top:calc(100% + 4px);background:var(--bg);border:.5px solid var(--border2);min-width:160px;z-index:200;padding:6px 0}
.lang-dropdown.open{display:block}
.lang-option{display:block;padding:7px 16px;font-size:11px;letter-spacing:.08em;cursor:pointer;color:var(--ink3);white-space:nowrap}
.lang-option:hover{background:var(--bg2);color:var(--ink)}
.lang-option.active{color:var(--ink);font-weight:400}
