/* Cheers Pablo -- shared site stylesheet */

:root{
    --black:#161412;
    --white:#FFFFFF;
    --red:#B7202E;
    --red-dark:#8E1622;
    --gold:#D9A441;
    --grey:#6B6864;
    --line:#E8E5DF;
  }

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

body{
    background:var(--white);
    color:var(--black);
    font-family:'Inter',sans-serif;
    line-height:1.6;
  }

h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:700;
    line-height:1.1;
  }

a{color:inherit;}

img{max-width:100%;display:block;}

.site-header{
    background:#fff;
    padding:1.4rem 2rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1rem;
  }

.site-header img.logo{height:60px;}

.tagline{
    color:var(--red);
    font-weight:600;
    font-size:0.95rem;
    text-align:right;
    line-height:1.4;
  }

@media(max-width:600px){
    .site-header{padding:1rem 1.2rem;}
    .site-header img.logo{height:46px;}
    .tagline{font-size:0.8rem;text-align:left;}
  }

.navbar-inner{
    max-width:1200px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }

.nav-toggle{
    display:none;
    background:none;
    border:none;
    color:#fff;
    font-size:1.6rem;
    cursor:pointer;
    padding:0.85rem 1.2rem;
    line-height:1;
  }

.nav-collapse{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex:1;
    flex-wrap:wrap;
  }

.navbar > .navbar-inner .nav-collapse > ul > li{position:relative;}

.navbar a{
    display:block;
    padding:0.95rem 1.2rem;
    text-decoration:none;
    color:#fff;
    font-weight:600;
    font-size:0.9rem;
    white-space:nowrap;
  }

.navbar > .navbar-inner .nav-collapse > ul > li.current > a{color:var(--red);}

.navbar > .navbar-inner .nav-collapse > ul > li:hover > a{color:var(--red);}

.navbar .dropdown{
    position:absolute;
    top:100%;
    left:0;
    background:#fff;
    min-width:220px;
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
    display:none;
    z-index:20;
    border-top:3px solid var(--red);
  }

.navbar li:hover .dropdown{display:block;}

.navbar .dropdown a{
    color:var(--black);
    font-weight:500;
    padding:0.75rem 1.2rem;
    border-bottom:1px solid var(--line);
  }

.navbar .dropdown a:hover{background:var(--black);color:#fff;}

.navbar .dropdown li.current > a{color:var(--red);}

.navbar .dropdown li:last-child a{border-bottom:none;}

.has-caret::after{content:" ▾";font-size:0.7rem;opacity:0.8;}

.navbar-icons svg{width:18px;height:18px;fill:#fff;}

.navbar-icons a:hover svg{fill:var(--red);}

.navbar-icons a:hover{color:var(--red);}

/* ---- Mobile nav: hamburger toggle + click-to-open submenus ---- */
  @media(max-width:860px){
    .nav-toggle{display:block;}
    .nav-collapse{
      display:none;
      width:100%;
      flex-direction:column;
      align-items:stretch;
    }
    .nav-collapse.open{display:flex;}
    .navbar ul{flex-direction:column;width:100%;}
    .navbar > .navbar-inner .nav-collapse > ul > li{width:100%;}
    .navbar li:hover .dropdown{display:none;}
    .navbar .dropdown{
      position:static;
      box-shadow:none;
      border-top:none;
      border-left:3px solid var(--red);
      width:100%;
      display:none;
    }
    .navbar li.dropdown-open > .dropdown{display:block;}
    .has-caret::after{float:right;}
    .navbar-icons{
      flex-direction:column;
      align-items:flex-start;
      gap:0.9rem;
      padding:1rem 1.2rem;
      border-top:1px solid rgba(255,255,255,0.15);
      width:100%;
    }
  }

/* ---- Page banner (static image, not a rotating hero) ---- */
  .page-banner{
    position:relative;
    height:340px;
    overflow:hidden;
    background:var(--black);
  }

.page-banner img{
    width:100%;height:100%;
    object-fit:cover;
    opacity:0.55;
  }

.page-banner-text{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

.page-banner-text h1{
    color:#fff;
    font-size:clamp(2.2rem,4.5vw,3.2rem);
  }

.section-heading{max-width:640px;margin-bottom:2.4rem;}

.section-heading .eyebrow{
    color:var(--red);
    font-weight:600;
    font-size:0.85rem;
    display:block;
    margin-bottom:0.5rem;
  }

.section-heading h2{font-size:2.1rem;}

.vision-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:2.5rem;
    align-items:start;
  }

@media(max-width:800px){.vision-grid{grid-template-columns:1fr;}}

.vision-card{
    background:var(--black);
    color:#fff;
    padding:2rem;
    border-radius:18px;
  }

.vision-card .eyebrow{color:var(--gold);font-weight:600;font-size:0.85rem;display:block;margin-bottom:0.6rem;}

.vision-card h3{font-size:1.3rem;margin-bottom:0.8rem;}

.vision-card p{font-size:0.95rem;opacity:0.9;}

.photo-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0.9rem;
  }

@media(max-width:800px){.photo-grid{grid-template-columns:repeat(2,1fr);}}

.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}

.photo-grid figure:hover img{transform:scale(1.06);}

.cta-wrap{
    display:grid;
    grid-template-columns:1fr 1.3fr 1fr;
    gap:1.6rem;
    max-width:1100px;
    margin:0 auto;
    align-items:stretch;
  }

@media(max-width:900px){.cta-wrap{grid-template-columns:1fr;}}

.cta-col{
    border-radius:18px;
    padding:2.4rem 1.8rem;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }

.cta-col.side{
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 14px 30px -14px rgba(0,0,0,0.2);
  }

.cta-col.side .cta-icon{
    width:52px;height:52px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;
    margin-bottom:1rem;
    color:#fff;
  }

.cta-col.side.gift .cta-icon{background:var(--gold);}

.cta-col.side.artist .cta-icon{background:var(--black);}

.cta-col.side h3{font-size:1.15rem;margin-bottom:0.6rem;}

.cta-col.side p{font-size:0.9rem;color:var(--grey);margin-bottom:1.3rem;}

.cta-col.main{
    background:var(--red);
    color:#fff;
    box-shadow:0 20px 40px -14px rgba(183,32,46,0.45);
    position:relative;
    overflow:hidden;
  }

.cta-col.main .blob{
    position:absolute;
    width:160px;height:160px;
    border-radius:50%;
    background:rgba(255,255,255,0.12);
    top:-60px;right:-60px;
  }

.cta-col.main h2{color:#fff;margin-bottom:0.8rem;font-size:1.8rem;position:relative;}

.cta-col.main p{max-width:360px;margin:0 auto 1.6rem;opacity:0.92;position:relative;}

.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

.btn:hover{background:var(--red-dark);}

.btn.ghost-dark:hover{background:var(--black);color:#fff;}

.btn.ghost:hover{background:#fff;color:var(--red);}

.btn.small{padding:0.55rem 1.3rem;font-size:0.85rem;}

/* ---- Lightbox ---- */
  .photo-grid figure{cursor:zoom-in;}

.lightbox{
    position:fixed;inset:0;
    background:rgba(22,20,18,0.9);
    display:none;
    align-items:center;justify-content:center;
    z-index:100;
    padding:2rem;
    cursor:zoom-out;
  }

.lightbox.active{display:flex;}

.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,0.5);}

.lightbox-close{
    position:absolute;top:1.3rem;right:2rem;
    color:#fff;font-size:2.2rem;
    cursor:pointer;line-height:1;
    font-family:Arial,sans-serif;
  }

.footer-logo-wrap{display:inline-block;background:#fff;padding:0.5rem 1.1rem;border-radius:10px;margin-bottom:1.1rem;}

.footer-logo{height:30px;display:block;}

footer a{text-decoration:underline;color:#fff;}

/* ---- Static page banner ---- */
  .page-banner{
    position:relative;
    height:340px;
    overflow:hidden;
    background:var(--black);
  }

/* ---- Painting/photo gallery + lightbox ---- */
  .photo-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0.9rem;
  }

.photo-grid figure{margin:0;border-radius:10px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in;}

.lede{font-size:1.05rem;max-width:760px;margin-bottom:1.1rem;color:var(--grey);}

.apply-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:2.6rem;
    align-items:start;
  }

@media(max-width:900px){.apply-grid{grid-template-columns:1fr;}}

.apply-sidebar h3{font-size:1.2rem;margin-bottom:0.8rem;}

.apply-sidebar p{font-size:0.95rem;color:var(--grey);margin-bottom:1.2rem;}

.fit-list{list-style:none;}

.fit-list li{
    display:flex;
    gap:0.8rem;
    margin-bottom:1.1rem;
    font-size:0.92rem;
    color:var(--grey);
  }

.fit-list .icon{
    width:34px;height:34px;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;
  }

.fit-list strong{color:var(--black);display:block;font-size:0.95rem;}

.jotform-wrap{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:1.6rem;
    box-shadow:0 14px 30px -14px rgba(0,0,0,0.15);
  }

.btn{
    display:inline-block;
    background:var(--red);
    color:#fff;
    padding:0.8rem 1.7rem;
    text-decoration:none;
    font-weight:600;
    font-size:0.95rem;
    border:none;
    cursor:pointer;
    font-family:'Inter',sans-serif;
  }

.btn.ghost-dark{
    background:transparent;
    border:1.5px solid var(--black);
    color:var(--black);
  }

.btn.ghost{
    background:transparent;
    border:1.5px solid #fff;
    color:#fff;
  }

/* ---- Simple page header (no image, this page has none) ---- */
  .page-intro{
    background:linear-gradient(135deg, var(--black) 55%, var(--red-dark) 160%);
    color:#fff;
    padding:3rem 2rem;
    text-align:center;
    position:relative;
    overflow:hidden;
  }

.page-intro .blob{
    position:absolute;
    border-radius:50%;
  }

.page-intro .blob.one{
    width:240px;height:240px;
    top:-100px;left:-70px;
    background:rgba(255,255,255,0.05);
  }

.page-intro .blob.two{
    width:200px;height:200px;
    bottom:-100px;right:-60px;
    background:rgba(183,32,46,0.35);
  }

.page-intro-inner{position:relative;}

.page-intro h1{font-size:clamp(2.2rem,4.5vw,3rem);margin-bottom:0.7rem;}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:2.8rem;
    align-items:start;
  }

@media(max-width:800px){.contact-grid{grid-template-columns:1fr;}}

.contact-info{
    background:var(--black);
    color:#fff;
    border-radius:18px;
    padding:2.2rem;
  }

.contact-info h3{font-size:1.3rem;margin-bottom:1.2rem;}

.contact-row{
    display:flex;
    align-items:center;
    gap:0.9rem;
    margin-bottom:1.3rem;
  }

.contact-row .icon{
    width:42px;height:42px;
    border-radius:50%;
    background:var(--red);
    flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
  }

.contact-row .icon svg{width:18px;height:18px;fill:#fff;}

.contact-row a{color:#fff;text-decoration:none;font-weight:500;}

.contact-row a:hover{color:var(--gold);}

.contact-row p{font-size:0.92rem;opacity:0.85;margin:0;}

.contact-info .btn{margin-top:0.6rem;}

.contact-form{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:2.2rem;
    box-shadow:0 14px 30px -14px rgba(0,0,0,0.15);
  }

.contact-form h3{font-size:1.3rem;margin-bottom:1.4rem;}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;}

@media(max-width:600px){.form-row{grid-template-columns:1fr;}}

.form-group{margin-bottom:1.2rem;}

.form-group label{
    display:block;
    font-size:0.85rem;
    font-weight:600;
    margin-bottom:0.4rem;
  }

.form-group input,
  .form-group select,
  .form-group textarea{
    width:100%;
    padding:0.7rem 0.9rem;
    border:1.5px solid var(--line);
    border-radius:8px;
    font-family:'Inter',sans-serif;
    font-size:0.95rem;
    color:var(--black);
    background:#fff;
  }

.form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus{
    outline:none;
    border-color:var(--red);
  }

.form-group textarea{resize:vertical;min-height:130px;}

.form-note{
    font-size:0.82rem;
    color:var(--grey);
    margin-top:1rem;
  }

/* ---- Bio layout ---- */
  .bio-grid{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:2.8rem;
    align-items:start;
  }

@media(max-width:700px){.bio-grid{grid-template-columns:1fr;}}

.bio-photo{
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 40px -20px rgba(0,0,0,0.3);
    cursor:zoom-in;
  }

.bio-photo img{width:100%;display:block;}

.bio-role{
    color:var(--red);
    font-weight:600;
    font-size:0.85rem;
    text-transform:uppercase;
    letter-spacing:0.03em;
    display:block;
    margin-bottom:0.5rem;
  }

.bio-text p{font-size:1.02rem;margin-bottom:1.1rem;color:var(--black);}

.quote-box{
    background:var(--black);
    color:#fff;
    border-radius:16px;
    padding:1.8rem 2rem;
    margin:1.6rem 0;
    position:relative;
  }

.quote-box::before{
    content:"\201C";
    font-family:'Fraunces',serif;
    font-size:3.5rem;
    color:var(--gold);
    position:absolute;
    top:-0.3rem;
    left:1.2rem;
    opacity:0.6;
  }

.quote-box p{
    font-family:'Fraunces',serif;
    font-style:italic;
    font-size:1.15rem;
    position:relative;
    padding-left:0.5rem;
    color:#fff;
  }

/* ---- Lightbox ---- */
  .lightbox{
    position:fixed;inset:0;
    background:rgba(22,20,18,0.9);
    display:none;
    align-items:center;justify-content:center;
    z-index:100;
    padding:2rem;
    cursor:zoom-out;
  }

/* ---- FAQ accordion (native <details>, no JS needed) ---- */
  .faq-list{max-width:820px;margin:0 auto;}

.faq-item{
    border-bottom:1px solid var(--line);
  }

.faq-item summary{
    list-style:none;
    cursor:pointer;
    padding:1.3rem 2.2rem 1.3rem 0;
    font-family:'Fraunces',serif;
    font-weight:700;
    font-size:1.08rem;
    position:relative;
  }

.faq-item summary::-webkit-details-marker{display:none;}

.faq-item summary::after{
    content:"+";
    position:absolute;
    right:0;
    top:1.2rem;
    color:var(--red);
    font-size:1.4rem;
    font-weight:400;
    line-height:1;
  }

.faq-item[open] summary::after{content:"−";}

.faq-item p{
    padding-bottom:1.4rem;
    color:var(--grey);
    max-width:680px;
  }

/* ---- How it works cards ---- */
  .provide-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.6rem;
  }

@media(max-width:800px){.provide-grid{grid-template-columns:1fr;}}

.provide-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:1.8rem;
    box-shadow:0 14px 30px -16px rgba(0,0,0,0.15);
  }

.provide-card .icon{
    width:48px;height:48px;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
    margin-bottom:1rem;
  }

.provide-card h3{font-size:1.1rem;margin-bottom:0.5rem;}

.provide-card p{font-size:0.9rem;color:var(--grey);}

@media(max-width:860px){
    .nav-toggle{display:block;}
    .nav-collapse{
      display:none;
      width:100%;
      flex-direction:column;
      align-items:stretch;
    }
    .nav-collapse.open{display:flex;}
    .navbar ul{flex-direction:column;width:100%;}
    .navbar > .navbar-inner .nav-collapse > ul > li{width:100%;}
    .navbar li:hover .dropdown{display:none;}
    .navbar .dropdown{
      position:static;
      box-shadow:none;
      border-top:none;
      border-left:3px solid var(--red);
      width:100%;
      display:none;
    }
    .navbar li.dropdown-open > .dropdown{display:block;}
    .has-caret::after{float:right;}
    .navbar-icons{
      flex-direction:column;
      align-items:flex-start;
      gap:0.9rem;
      padding:1rem 1.2rem;
      border-top:1px solid rgba(255,255,255,0.15);
      width:100%;
    }
  }

.page-intro{
    background:linear-gradient(135deg, var(--black) 55%, var(--red-dark) 160%);
    color:#fff;
    padding:3rem 2rem;
    text-align:center;
    position:relative;
    overflow:hidden;
  }

.page-intro p{max-width:620px;margin:0 auto;opacity:0.85;font-size:1.05rem;}

.cta-band{
    background:#fff;
    padding:4rem 2rem;
    border-top:1px solid var(--line);
  }

.breadcrumb{max-width:1300px;margin:1.4rem auto 0;padding:0 2rem;font-size:0.85rem;color:var(--grey);}

.breadcrumb a{color:var(--red);text-decoration:none;font-weight:600;}

.breadcrumb a:hover{text-decoration:underline;}

.painting-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0.8rem;
  }

@media(max-width:1000px){.painting-grid{grid-template-columns:repeat(4,1fr);}}

@media(max-width:760px){.painting-grid{grid-template-columns:repeat(3,1fr);}}

@media(max-width:480px){.painting-grid{grid-template-columns:repeat(2,1fr);}}

.painting-grid figure{margin:0;border-radius:8px;overflow:hidden;aspect-ratio:1/1;background:var(--line);cursor:zoom-in;}

.painting-grid img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}

.painting-grid figure:hover img{transform:scale(1.06);}

.lightbox-inner{max-width:92vw;max-height:88vh;text-align:center;}

.lightbox-caption{color:#fff;margin-top:0.8rem;font-size:0.95rem;opacity:0.9;}

/* ---- Gift certificate mockup ---- */
  .gc-wrap{display:flex;justify-content:center;padding:1rem 0 2.5rem;}

.gc-card{
    position:relative;
    width:100%;
    max-width:620px;
    background:var(--white);
    border:2px solid var(--black);
    border-radius:14px;
    padding:2.4rem 2.4rem 2rem;
    box-shadow:0 24px 50px -20px rgba(0,0,0,0.35);
    overflow:hidden;
  }

.gc-card::before,
  .gc-card::after{
    content:"";
    position:absolute;
    top:50%;
    width:28px;height:28px;
    background:var(--white);
    border:2px solid var(--black);
    border-radius:50%;
    transform:translateY(-50%);
  }

.gc-card::before{left:-15px;}

.gc-card::after{right:-15px;}

.gc-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:2px dashed var(--line);
    padding-bottom:1.2rem;
    margin-bottom:1.4rem;
  }

.gc-top img{height:38px;}

.gc-top span{
    color:var(--gold);
    font-family:'Fraunces',serif;
    font-weight:700;
    font-size:0.95rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
  }

.gc-amount{
    font-family:'Fraunces',serif;
    font-size:2.6rem;
    font-weight:700;
    color:var(--red);
    margin-bottom:0.3rem;
  }

.gc-amount span{font-size:1rem;color:var(--grey);font-weight:500;font-family:'Inter',sans-serif;}

.gc-lines{margin:1.4rem 0;}

.gc-line{
    display:flex;
    align-items:baseline;
    gap:0.6rem;
    font-size:0.92rem;
    color:var(--grey);
    margin-bottom:0.9rem;
  }

.gc-line .fill{
    flex:1;
    border-bottom:1px solid var(--line);
    height:1.3rem;
  }

.gc-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-top:2px dashed var(--line);
    padding-top:1.2rem;
    margin-top:0.6rem;
  }

.gc-footer .brush{font-size:1.6rem;}

.gc-footer .valid{font-size:0.78rem;color:var(--grey);text-align:right;}

.navbar{
    background:var(--black);
  }

.navbar ul{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
  }

.navbar-icons{
    display:flex;
    align-items:center;
    gap:1.2rem;
    padding:0 1.2rem;
  }

.navbar-icons a{
    padding:0;
    display:flex;
    align-items:center;
    gap:0.4rem;
    color:#fff;
    font-size:0.88rem;
    font-weight:500;
  }

section{
    padding:4.5rem 2rem;
    max-width:1100px;
    margin:0 auto;
  }

/* ---- Artist cards ---- */
  .artists{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.6rem;
  }

@media(max-width:700px){.artists{grid-template-columns:1fr;}}

.artist-card{
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 14px 30px -14px rgba(0,0,0,0.25);
    border:1px solid var(--line);
  }

.artist-card .avatar-band{
    height:8px;
  }

.artist-card.red .avatar-band{background:var(--red);}

.artist-card.black .avatar-band{background:var(--black);}

.artist-card-body{
    padding:1.8rem;
    display:flex;
    gap:1.2rem;
    align-items:flex-start;
  }

.avatar{
    width:64px;height:64px;
    border-radius:50%;
    flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;
    font-weight:700;
    font-size:1.3rem;
    color:#fff;
  }

.artist-card.red .avatar{background:var(--red);}

.artist-card.black .avatar{background:var(--black);}

.artist-card h3{font-size:1.15rem;margin-bottom:0.3rem;}

.artist-card .role{
    font-size:0.82rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.03em;
    color:var(--grey);
    margin-bottom:0.5rem;
  }

.artist-card p{font-size:0.93rem;}

/* ---- Colorful offer cards ---- */
  .offers{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.6rem;
  }

@media(max-width:800px){.offers{grid-template-columns:1fr;}}

.offer:hover{transform:translateY(-6px);}

.offer.red{background:var(--red);}

.offer.black{background:var(--black);}

.offer.gold{background:var(--gold);color:var(--black);}

.offer .blob{
    position:absolute;
    width:140px;height:140px;
    border-radius:50%;
    background:rgba(255,255,255,0.14);
    top:-50px;right:-50px;
  }

.offer.gold .blob{background:rgba(0,0,0,0.08);}

.offer .icon{
    width:52px;height:52px;
    border-radius:50%;
    background:rgba(255,255,255,0.2);
    display:flex;align-items:center;justify-content:center;
    font-size:1.5rem;
    margin-bottom:1.1rem;
  }

.offer.gold .icon{background:rgba(0,0,0,0.1);}

.offer h3{font-size:1.3rem;margin-bottom:0.6rem;}

.offer p{font-size:0.95rem;opacity:0.95;position:relative;}

/* ---- Homepage photo gallery (simple grid, not rotating) ---- */
  .photo-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0.8rem;
  }

.testimonial{
    background:var(--black);
    color:#fff;
    padding:4rem 2rem;
  }

.testimonial-inner{
    max-width:760px;
    margin:0 auto;
    display:grid;
    grid-template-columns:220px 1fr;
    gap:2.2rem;
    align-items:center;
  }

@media(max-width:700px){.testimonial-inner{grid-template-columns:1fr;}}

.testimonial-inner img{border:3px solid var(--gold);}

.testimonial blockquote{
    font-family:'Fraunces',serif;
    font-size:1.4rem;
    font-style:italic;
    margin-bottom:0.7rem;
  }

.stars{color:var(--gold);letter-spacing:0.2rem;margin-bottom:0.8rem;font-size:1.1rem;}

footer{
    background:var(--black);
    color:#cfcac2;
    padding:2.5rem 2rem;
    font-size:0.88rem;
    text-align:center;
  }

/* ---- Lightbox (for zooming into the flyer) ---- */
  .flyer-zoom{cursor:zoom-in;}

.provide-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.6rem;
  }

.price-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.6rem;
  }

@media(max-width:700px){.price-grid{grid-template-columns:1fr;}}

.price-card{
    background:var(--black);
    color:#fff;
    border-radius:18px;
    padding:2.2rem;
    text-align:center;
  }

.price-card.featured{background:var(--red);}

.price-card .amount{
    font-family:'Fraunces',serif;
    font-size:2.6rem;
    font-weight:700;
    margin:0.4rem 0;
  }

.price-card .amount span{font-size:1rem;font-weight:500;opacity:0.8;}

.price-card h3{font-size:1.1rem;opacity:0.85;}

.price-card p{font-size:0.88rem;opacity:0.85;margin-top:0.8rem;}

.feature-photo{
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 40px -20px rgba(0,0,0,0.3);
    cursor:zoom-in;
  }

.feature-photo img{width:100%;display:block;}

.feature-photo-caption{
    text-align:center;
    color:var(--grey);
    font-size:0.9rem;
    margin-top:0.9rem;
  }

/* ---- Party type cards (pricing/policy) ---- */
  .party-types{display:flex;flex-direction:column;gap:1.6rem;}

.party-type{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:2rem 2.2rem;
    box-shadow:0 10px 24px -16px rgba(0,0,0,0.2);
  }

.party-type h3{font-size:1.35rem;margin-bottom:0.7rem;}

.party-type p{color:var(--grey);margin-bottom:0.9rem;}

.party-type .price-line{
    color:var(--red);
    font-weight:600;
    font-size:0.95rem;
    background:#FBEEEF;
    border-radius:10px;
    padding:0.85rem 1.1rem;
    display:inline-block;
  }

.party-note{font-size:0.88rem;color:var(--grey);margin-top:1.6rem;}

.cat-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.6rem;
  }

@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr);}}

@media(max-width:560px){.cat-grid{grid-template-columns:1fr;}}

.cat-card{
    display:block;
    text-decoration:none;
    color:var(--black);
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 14px 30px -18px rgba(0,0,0,0.25);
    transition:transform 0.25s ease, box-shadow 0.25s ease;
  }

.cat-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -16px rgba(0,0,0,0.3);}

.cat-thumbs{display:grid;grid-template-columns:repeat(3,1fr);height:150px;background:var(--line);}

.cat-thumbs img{width:100%;height:100%;object-fit:cover;}

.cat-body{padding:1.5rem;}

.cat-icon{font-size:1.6rem;display:block;margin-bottom:0.5rem;}

.cat-body h3{font-size:1.25rem;margin-bottom:0.5rem;}

.cat-body p{font-size:0.92rem;color:var(--grey);margin-bottom:0.9rem;}

.cat-count{display:inline-block;font-size:0.8rem;font-weight:600;color:var(--red);}

/* ---- Colorful occasion cards ---- */
  .offers{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.6rem;
  }

.offer{
    border-radius:18px;
    padding:2.2rem 1.8rem;
    color:#fff;
    position:relative;
    overflow:hidden;
    box-shadow:0 14px 30px -10px rgba(0,0,0,0.35);
    transition:transform 0.25s ease;
  }

/* ---- Painting gallery ---- */
  .photo-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0.9rem;
  }

@media(max-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr);}}

@media(max-width:600px){.photo-grid{grid-template-columns:repeat(2,1fr);}}

.lightbox-inner img{max-height:80vh;margin:0 auto;}

/* ---- Rotating hero slider (index.html + remotes.html only) ---- */
.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity 1.2s ease-in-out;
  }

.hero-slide.active{opacity:1;}

.hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(22,20,18,0.85), rgba(22,20,18,0.15) 60%);
    display:flex;
    align-items:flex-end;
    padding:3rem 2.5rem;
  }

.hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(22,20,18,0.45);
    border:none;
    color:#fff;
    width:44px;height:44px;
    border-radius:50%;
    font-size:1.3rem;
    cursor:pointer;
    z-index:10;
    display:flex;align-items:center;justify-content:center;
    transition:background 0.2s ease;
  }

.hero-arrow:hover{background:var(--red);}

.hero-arrow.prev{left:1.2rem;}

.hero-arrow.next{right:1.2rem;}

.hero-dots{
    position:absolute;
    bottom:1.2rem;
    right:2.5rem;
    display:flex;
    gap:0.5rem;
    z-index:10;
  }

.hero-dot{
    width:10px;height:10px;
    border-radius:50%;
    background:rgba(255,255,255,0.5);
    border:none;
    cursor:pointer;
    padding:0;
  }

.hero-dot.active{background:var(--red);}

.hero-text{
    color:#fff;
    max-width:580px;
  }

.hero-text p{
    font-size:1.05rem;
    margin-bottom:1.4rem;
    opacity:0.92;
  }

/* ---- Lightbox prev/next arrows ---- */
.lightbox-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(255,255,255,0.15);
  border:none;
  color:#fff;
  width:48px;height:48px;
  border-radius:50%;
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background 0.2s ease;
  z-index:101;
}
.lightbox-arrow:hover{background:var(--red);}
.lightbox-arrow.prev{left:1.5rem;}
.lightbox-arrow.next{right:1.5rem;}
@media(max-width:700px){
  .lightbox-arrow{width:40px;height:40px;font-size:1.3rem;}
  .lightbox-arrow.prev{left:0.6rem;}
  .lightbox-arrow.next{right:0.6rem;}
}
