/* ============================================
   SKIN-LOUETTE — SHARED STYLESHEET
   Edit colors/fonts here to update the whole site.
   ============================================ */

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

:root{
  --bg:      #F7E9D9;
  --bg2:     #EFE4D4;
  --white:   #FAF8F5;
  --gold:    #B8892A;
  --gold-lt: #D4AF37;
  --gold-dk: #8B6510;
  --black:   #1C1C1C;
  --gray:    #666;
  --taupe:   #B0A090;
  --radius:  6px;
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--black);
  font-family:'Lato',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.fu{animation:fadeUp .7s ease both}

.gold-italic{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:400;
  color:var(--gold-dk);
}

.sec-label{
  font-family:'Tenor Sans',sans-serif;font-size:.62rem;
  letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dk);
  text-align:center;margin-bottom:10px;
}
.sec-rule{display:block;width:26px;height:1px;background:var(--gold);margin:0 auto 40px;}

.h1, h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;line-height:1.15;color:var(--black);
}
h2{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  color:var(--black);line-height:1.2;
}

.btn{
  display:inline-block;background:var(--gold);color:#fff;
  font-family:'Tenor Sans',sans-serif;font-size:.62rem;
  letter-spacing:.3em;text-transform:uppercase;text-decoration:none;
  padding:17px 34px;text-align:center;border:none;cursor:pointer;
  transition:transform .25s,box-shadow .25s,background .25s;
}
.btn:hover{background:var(--gold-dk);transform:translateY(-2px);box-shadow:0 10px 28px rgba(184,137,42,.35);}
.btn-outline{
  display:inline-block;background:transparent;color:var(--gold-dk);
  font-family:'Tenor Sans',sans-serif;font-size:.6rem;
  letter-spacing:.28em;text-transform:uppercase;text-decoration:none;
  padding:15px 30px;border:1px solid var(--gold);transition:all .25s;
}
.btn-outline:hover{background:var(--gold);color:#fff;}

/* ── NAV ── */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(247,233,217,.94);backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(184,137,42,.18);
}
.nav-wrap{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 5vw;
}
.nav-logo{
  display:flex;align-items:center;gap:9px;text-decoration:none;
}
.logo-icon{height:30px;width:auto;display:block;}
.logo-word{height:15px;width:auto;display:block;}
.nav-links{
  display:flex;align-items:center;gap:30px;
  font-family:'Tenor Sans',sans-serif;font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;
}
.nav-links a{text-decoration:none;color:var(--black);transition:color .2s;position:relative;}
.nav-links a:hover, .nav-links a.active{color:var(--gold-dk)}
.nav-links .btn{padding:11px 22px;font-size:.58rem;}

.has-drop{position:relative;}
.drop{
  position:absolute;top:130%;left:50%;transform:translateX(-50%);
  background:var(--white);box-shadow:0 12px 30px rgba(0,0,0,.12);
  min-width:200px;padding:10px 0;border-radius:var(--radius);
  opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;
  transform-origin:top center;
}
.has-drop:hover .drop{opacity:1;visibility:visible;top:120%;}
.drop a{
  display:block;padding:9px 20px;font-size:.58rem;letter-spacing:.14em;
  text-transform:none;font-family:'Lato',sans-serif;font-weight:400;
  white-space:nowrap;
}
.drop a:hover{background:var(--bg);color:var(--gold-dk);}

.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--black);margin:5px 0;transition:.25s;}

@media(max-width:860px){
  .nav-links{
    position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);
    background:var(--white);flex-direction:column;align-items:flex-start;
    padding:90px 32px 32px;gap:26px;
    transform:translateX(100%);transition:transform .3s ease;
    box-shadow:-8px 0 30px rgba(0,0,0,.1);
  }
  .nav-links.open{transform:translateX(0);}
  .drop{position:static;transform:none;box-shadow:none;opacity:1;visibility:visible;
    display:none;padding-left:10px;background:none;min-width:0;}
  .has-drop.open .drop{display:block;}
  .nav-toggle{display:block;z-index:110;}
}

/* ── HERO (interior pages) ── */
.page-hero{
  background:var(--white);padding:70px 5vw 50px;text-align:center;
}
.page-hero .kicker{
  font-family:'Tenor Sans',sans-serif;font-size:.6rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold-dk);margin-bottom:14px;
}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:14px;}
.page-hero p{max-width:560px;margin:0 auto;color:var(--gray);font-size:.9rem;line-height:1.85;}

/* ── FOOTER ── */
.site-footer{background:var(--bg2);border-top:1px solid rgba(184,137,42,.15);padding:56px 5vw 24px;}
.foot-grid{
  max-width:1100px;margin:0 auto 36px;
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;
}
.foot-col h4{
  font-family:'Tenor Sans',sans-serif;font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--black);margin-bottom:16px;
}
.foot-col p, .foot-col a{
  display:block;font-size:.8rem;color:var(--gray);text-decoration:none;
  line-height:2;font-weight:300;
}
.foot-col a:hover{color:var(--gold-dk)}
.foot-logo{font-family:'Cormorant Garamond',serif;font-size:1.3rem;margin-bottom:10px;color:var(--black);}
.foot-social{display:flex;gap:14px;margin-top:14px;}
.foot-social a{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
}
.foot-social svg{width:15px;height:15px;stroke:var(--gold-dk);fill:none;stroke-width:1.6;}
.foot-copy{
  text-align:center;font-family:'Tenor Sans',sans-serif;font-size:.52rem;
  letter-spacing:.18em;text-transform:uppercase;color:#aaa;
  padding-top:20px;border-top:1px solid rgba(184,137,42,.12);
}
@media(max-width:760px){
  .foot-grid{grid-template-columns:1fr 1fr;}
}

/* ── GENERIC SECTION HELPERS ── */
.section{padding:80px 5vw;}
.section-white{background:var(--white);}
.section-bg{background:var(--bg);}
.section-bg2{background:var(--bg2);}
.container{max-width:1100px;margin:0 auto;}
.container-sm{max-width:680px;margin:0 auto;}
.center{text-align:center;}

/* ── CARDS ── */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card{
  background:var(--white);border:1px solid rgba(184,137,42,.16);
  border-radius:var(--radius);overflow:hidden;
  transition:transform .25s,box-shadow .25s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.08);}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.card-body{padding:24px 22px;text-align:center;}
.card-text-only .card-body{padding-top:34px;}
.card-sub{
  font-family:'Tenor Sans',sans-serif;font-size:.56rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-dk);display:block;margin-bottom:8px;
}
.card-body h3{font-size:1.25rem;margin-bottom:10px;}
.card-body p{font-size:.8rem;line-height:1.8;color:var(--gray);margin-bottom:14px;}
.card-price{font-family:'Tenor Sans',sans-serif;font-size:.66rem;letter-spacing:.06em;color:var(--black);margin-bottom:14px;}
.card-price .from{color:var(--taupe);text-transform:uppercase;font-size:.55rem;letter-spacing:.16em;display:block;margin-bottom:2px;}

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

/* ── SIMPLE LIST (shots / add-ons) ── */
.list-panel{
  background:var(--white);border:1px solid rgba(184,137,42,.16);border-radius:var(--radius);
  overflow:hidden;display:grid;grid-template-columns:1fr 1.15fr;
}
.list-panel img{
  width:100%;height:100%;object-fit:contain;background:var(--bg);
  padding:20px;
}
.list-panel-body{padding:38px;}
.list-row{
  display:flex;align-items:baseline;justify-content:space-between;
  padding:13px 0;border-bottom:1px solid rgba(184,137,42,.12);gap:16px;
}
.list-row:last-child{border-bottom:none;}
.list-row .name{font-size:.86rem;color:var(--black);}
.list-row .price{font-family:'Tenor Sans',sans-serif;font-size:.68rem;color:var(--gold-dk);white-space:nowrap;}
@media(max-width:760px){
  .list-panel{grid-template-columns:1fr;}
  .list-panel img{max-height:280px;}
}

/* ── TWO COLUMN (about) ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.two-col img{border-radius:var(--radius);}
.two-col .text p{font-size:.9rem;line-height:1.95;color:var(--gray);margin-bottom:18px;}
@media(max-width:860px){.two-col{grid-template-columns:1fr;gap:32px;}}

/* ── PILLARS / VALUES ── */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto;}
.pillar{padding:20px 24px;text-align:center;border-right:1px solid rgba(184,137,42,.2);}
.pillar:last-child{border-right:none;}
.pillar svg{width:38px;height:38px;stroke:var(--gold);fill:none;stroke-width:1.4;margin:0 auto 14px;display:block;}
.pillar h4{font-family:'Tenor Sans',sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;}
.pillar p{font-size:.76rem;line-height:1.8;color:var(--gray);}
@media(max-width:860px){
  .pillars{grid-template-columns:1fr 1fr;}
  .pillar:nth-child(2n){border-right:none;}
  .pillar:nth-child(3),.pillar:nth-child(4){border-top:1px solid rgba(184,137,42,.2);}
}

/* ── FAQ ACCORDION (native <details>, no JS needed) ── */
.faq-item{
  border-bottom:1px solid rgba(184,137,42,.18);
}
.faq-item summary{
  list-style:none;cursor:pointer;padding:22px 4px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--black);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{
  font-family:'Tenor Sans',sans-serif;font-size:1.2rem;color:var(--gold);
  transition:transform .25s;flex-shrink:0;
}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item .faq-a{
  padding:0 4px 24px;max-width:640px;
  font-size:.86rem;line-height:1.9;color:var(--gray);
}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.contact-info-row{
  display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:.88rem;
}
.contact-info-row svg{width:17px;height:17px;stroke:var(--gold);fill:none;stroke-width:1.6;flex-shrink:0;}
.contact-info-row a{text-decoration:none;border-bottom:1px solid var(--gold);}
.hours-table{width:100%;font-size:.84rem;color:var(--gray);border-collapse:collapse;}
.hours-table td{padding:7px 0;border-bottom:1px solid rgba(184,137,42,.1);}
.hours-table td:last-child{text-align:right;color:var(--black);}

.form-group{margin-bottom:18px;}
.form-group label{
  display:block;font-family:'Tenor Sans',sans-serif;font-size:.56rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:8px;
}
.form-group input, .form-group textarea, .form-group select{
  width:100%;padding:13px 14px;border:1px solid rgba(184,137,42,.3);
  border-radius:4px;background:var(--white);font-family:'Lato',sans-serif;
  font-size:.86rem;color:var(--black);
}
.form-group textarea{resize:vertical;min-height:110px;}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus{
  outline:none;border-color:var(--gold);
}
.map-frame{width:100%;border:0;border-radius:var(--radius);filter:sepia(.15) saturate(.85);}

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

/* ── TESTIMONIALS ── */
.testimonial{
  background:var(--white);border:1px solid rgba(184,137,42,.16);
  border-radius:var(--radius);padding:30px 26px;text-align:center;
}
.testimonial p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;color:var(--black);line-height:1.7;margin-bottom:16px;}
.testimonial .who{font-family:'Tenor Sans',sans-serif;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dk);}
.testimonial .stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px;font-size:.85rem;}

/* ── CTA BANNER ── */
.cta-banner{
  background:var(--black);color:var(--white);text-align:center;padding:70px 5vw;
}
.cta-banner .sec-label{color:var(--gold-lt)}
.cta-banner h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.3rem);margin-bottom:18px;}
.cta-banner p{color:#cfc7bb;max-width:520px;margin:0 auto 28px;font-size:.9rem;line-height:1.8;}

/* ── HOMEPAGE HERO (photo + real HTML text overlay, no logo baked into photo) ── */
@keyframes shine{0%{background-position:-200% center}100%{background-position:200% center}}
.hero-shine{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;
  background:linear-gradient(110deg,#8B6510 20%,#D4AF37 40%,#F5E17A 50%,#D4AF37 60%,#8B6510 80%);
  background-size:250% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:shine 4s linear infinite;
  margin-bottom:26px;
}
.home-hero-text{position:relative;background:var(--bg);overflow:hidden;}
.home-hero-text img{width:100%;max-height:82vh;object-fit:cover;object-position:center center;display:block;}
.home-hero-text-content{
  position:absolute;top:0;left:0;height:100%;width:50%;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:0 4vw 0 6vw;text-align:left;
}
.home-hero-text-content h1{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:10px;}
@media(max-width:760px){
  .home-hero-text img{max-height:38vh;object-position:75% center;}
  .home-hero-text-content{
    position:static;width:100%;height:auto;align-items:center;text-align:center;
    padding:36px 6vw 44px;background:var(--white);
  }
}

/* ── HOW IT WORKS ── */
.steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  max-width:1000px;margin:0 auto;gap:10px;
}
.step{text-align:center;padding:0 16px;}
.step-num{
  width:44px;height:44px;border-radius:50%;border:1.5px solid var(--gold);
  color:var(--gold-dk);font-family:'Cormorant Garamond',serif;font-size:1.25rem;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;background:var(--white);
}
.step h4{
  font-family:'Tenor Sans',sans-serif;font-size:.6rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--black);margin-bottom:10px;
}
.step p{font-size:.78rem;line-height:1.8;color:var(--gray);}
@media(max-width:760px){
  .steps{grid-template-columns:1fr 1fr;row-gap:34px;}
}

/* ── POLICY CARDS ── */
.policy-card{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:var(--white);border:1px solid rgba(184,137,42,.16);
  border-radius:var(--radius);padding:26px 28px;margin-bottom:18px;
}
.policy-card-text h3{font-size:1.15rem;margin-bottom:8px;}
.policy-card-text p{font-size:.8rem;line-height:1.75;color:var(--gray);}
.policy-card .btn-outline{flex-shrink:0;white-space:nowrap;}
@media(max-width:640px){
  .policy-card{flex-direction:column;align-items:flex-start;}
}

/* ── UTILITY ── */
.mt{margin-top:34px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:760px){.grid-2{grid-template-columns:1fr;}}
