/* ========================================
   Szewc & Kaletnik – Artisan CSS
   Warm leather palette, elegant serif type
   ======================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ---------- Tokens ---------- */
:root {
  --amber:      #c17f24;
  --amber-light:#e8a83e;
  --amber-pale: #fdf3e0;
  --amber-dim:  rgba(193,127,36,0.12);
  --brown:      #3d2008;
  --brown-mid:  #6b3a1f;
  --brown-light:#a0622a;
  --cream:      #faf6ef;
  --cream-dark: #f0e8d6;
  --stone:      #7a6a58;
  --stone-light:#b8a898;
  --text-dark:  #1c1208;
  --text-mid:   #4a3728;
  --text-light: #8a7060;
  --white:      #ffffff;
  --dark-bg:    #1c1008;
  --dark-bg2:   #251508;

  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'DM Sans', system-ui, sans-serif;

  --radius-sm:  6px;
  --radius-md:  14px;
  --radius-lg:  24px;
  --radius-xl:  36px;
  --radius-pill:100px;

  --shadow-warm: 0 8px 40px rgba(61,32,8,0.15);
  --shadow-card: 0 4px 24px rgba(61,32,8,0.10);
  --transition:  0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:var(--font-sans);
  background:var(--cream);
  color:var(--text-dark);
  overflow-x:hidden;
  line-height:1.65;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

/* ===================================
   NAVBAR
   =================================== */
.navbar{
  position:fixed;top:0;left:0;right:0;
  z-index:1000;
  padding:1.1rem 0;
  transition:var(--transition);
}
.navbar.scrolled{
  background:rgba(250,246,239,0.95);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(193,127,36,0.18);
  box-shadow:0 2px 20px rgba(61,32,8,0.08);
  padding:0.7rem 0;
}
.nav-container{
  max-width:1240px;margin:0 auto;padding:0 2rem;
  display:flex;align-items:center;gap:1.5rem;
}
.nav-logo{
  display:flex;align-items:center;gap:0.75rem;
  color:var(--brown);
  flex-shrink:0;
}
.logo-mark{
  width:38px;height:38px;color:var(--amber);flex-shrink:0;
}
.logo-mark svg{width:100%;height:100%;}
.logo-text-block{display:flex;flex-direction:column;line-height:1.2;}
.logo-main{
  font-family:var(--font-serif);
  font-size:1.15rem;font-weight:700;
  color:var(--brown);letter-spacing:0.01em;
}
.logo-sub{
  font-size:0.68rem;font-weight:500;
  color:var(--stone);letter-spacing:0.08em;
  text-transform:uppercase;
}
.nav-links{display:flex;gap:0.1rem;margin-left:auto;}
.nav-link{
  padding:0.45rem 0.9rem;
  font-size:0.9rem;font-weight:500;
  color:var(--text-mid);border-radius:var(--radius-sm);
  transition:var(--transition);
}
.nav-link:hover{color:var(--amber);background:var(--amber-dim);}
.btn-call{
  display:flex;align-items:center;gap:0.45rem;
  background:var(--brown);color:var(--amber-light);
  font-weight:600;font-size:0.87rem;
  padding:0.55rem 1.2rem;border-radius:var(--radius-pill);
  transition:var(--transition);white-space:nowrap;flex-shrink:0;
}
.btn-call:hover{background:var(--amber);color:var(--brown);transform:translateY(-1px);box-shadow:0 4px 16px rgba(193,127,36,0.35);}
.hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:0.25rem;margin-left:auto;
}
.hamburger span{display:block;width:24px;height:2px;background:var(--brown);border-radius:2px;transition:var(--transition);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===================================
   HERO
   =================================== */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  background:var(--cream);
  padding-top:80px;
  overflow:hidden;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:5rem 3rem 5rem 4rem;
  width:100%;
}
.hero-eyebrow{
  display:flex;align-items:center;gap:1rem;
  font-size:0.75rem;font-weight:600;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--stone);
  margin-bottom:1.8rem;
}
.eyebrow-line{width:32px;height:1px;background:var(--amber);}
.hero-title{
  font-family:var(--font-serif);
  font-size:clamp(2.4rem,4.5vw,3.8rem);
  font-weight:700;line-height:1.12;
  letter-spacing:-0.01em;
  color:var(--brown);
  margin-bottom:1.2rem;
}
.hero-title em{font-style:italic;color:var(--amber);}
.hero-lead{
  font-size:1.05rem;color:var(--text-mid);
  line-height:1.75;margin-bottom:1.8rem;
  max-width:440px;
}
.hero-rating{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:2rem;
}
.stars-row{display:flex;gap:2px;}
.star{font-size:1.2rem;color:var(--amber);}
.star.half{opacity:0.85;}
.rating-info{font-size:0.95rem;color:var(--text-mid);}
.rating-info strong{font-size:1.1rem;color:var(--brown);font-weight:700;}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem;}
.btn-primary{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:var(--brown);color:var(--amber-light);
  font-weight:600;font-size:0.97rem;
  padding:0.85rem 2rem;border-radius:var(--radius-pill);
  transition:var(--transition);border:2px solid var(--brown);
}
.btn-primary:hover{background:var(--amber);color:var(--brown);border-color:var(--amber);transform:translateY(-2px);box-shadow:0 6px 24px rgba(193,127,36,0.35);}
.btn-primary.light{background:var(--amber);color:var(--brown);border-color:var(--amber);}
.btn-primary.light:hover{background:var(--amber-light);border-color:var(--amber-light);}
.btn-ghost{
  display:inline-flex;align-items:center;
  background:transparent;color:var(--brown);
  font-weight:600;font-size:0.97rem;
  padding:0.85rem 2rem;border-radius:var(--radius-pill);
  border:2px solid rgba(61,32,8,0.2);
  transition:var(--transition);
}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-dim);}
.btn-outline{
  display:inline-flex;align-items:center;
  background:transparent;color:var(--amber);
  font-weight:600;font-size:0.95rem;
  padding:0.75rem 1.8rem;border-radius:var(--radius-pill);
  border:1.5px solid rgba(193,127,36,0.4);
  transition:var(--transition);
}
.btn-outline:hover{background:var(--amber-dim);border-color:var(--amber);}
.hero-meta{display:flex;align-items:center;gap:0.8rem;font-size:0.85rem;color:var(--stone);}
.meta-item{display:flex;align-items:center;gap:0.4rem;}
.meta-item svg{color:var(--amber);}
.meta-sep{color:var(--stone-light);}

/* Hero right */
.hero-right{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  background:var(--cream-dark);
  overflow:hidden;
}
.hero-right::before{
  content:'';position:absolute;inset:0;
  background:
    repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(193,127,36,0.03) 30px, rgba(193,127,36,0.03) 31px);
}
.hero-photo-frame{
  position:relative;width:80%;height:70%;
  border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:var(--shadow-warm);
  border:3px solid rgba(193,127,36,0.2);
  z-index:1;
}
.hero-photo-frame img{width:100%;height:100%;object-fit:cover;}
.hero-card-float{
  position:absolute;bottom:2.5rem;left:1.5rem;z-index:2;
  background:var(--brown);color:var(--cream);
  padding:1.1rem 1.4rem;border-radius:var(--radius-md);
  box-shadow:0 8px 32px rgba(61,32,8,0.3);
  animation:floatCard 3s ease-in-out infinite;
}
.float-number{
  font-family:var(--font-serif);
  font-size:2.2rem;font-weight:700;color:var(--amber-light);line-height:1;
}
.float-label{font-size:0.75rem;color:var(--stone-light);margin-top:0.2rem;}

/* Real images */
.hero-img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  border-radius:var(--radius-xl);
}
.workshop-img-wrap{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  min-height:400px;
}
.workshop-img{
  width:100%;height:100%;min-height:400px;object-fit:cover;object-position:center;
}
/* Sample photo label */
.photo-sample-label{
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(180,60,10,0.88);
  color:#fff;
  font-family:var(--font-sans);
  font-size:0.82rem;font-weight:700;
  letter-spacing:0.04em;
  text-align:center;
  padding:0.65rem 1rem;
  backdrop-filter:blur(4px);
  pointer-events:none;
}

/* Photo placeholder */
.photo-placeholder{
  width:100%;height:100%;min-height:320px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:0.8rem;background:var(--cream-dark);
  border:2px dashed rgba(193,127,36,0.3);
  border-radius:var(--radius-xl);
}
.photo-placeholder.dark{
  background:rgba(61,32,8,0.08);
  border-color:rgba(193,127,36,0.2);
  border-radius:var(--radius-lg);
  min-height:400px;
}
.placeholder-icon{width:64px;height:64px;color:var(--amber);opacity:0.5;}
.placeholder-icon svg{width:100%;height:100%;}
.placeholder-text{font-family:var(--font-serif);font-size:1rem;color:var(--stone);font-style:italic;}
.placeholder-hint{font-size:0.75rem;color:var(--stone-light);}
.placeholder-hint code{background:var(--amber-dim);padding:0.1rem 0.4rem;border-radius:4px;font-family:monospace;color:var(--amber);}

/* ===================================
   ORNAMENT DIVIDER
   =================================== */
.ornament-divider{
  display:flex;align-items:center;gap:1.5rem;
  padding:0 max(2rem, calc((100vw - 1240px)/2 + 2rem));
  background:var(--cream);
}
.orn-line{flex:1;height:1px;background:linear-gradient(to right, transparent, rgba(193,127,36,0.3), transparent);}
.orn-symbol{color:var(--amber);font-size:1rem;flex-shrink:0;}

/* ===================================
   SERVICES
   =================================== */
.services{background:var(--cream);padding:5rem 0 6rem;}
.container{max-width:1240px;margin:0 auto;padding:0 2rem;}

.section-head{margin-bottom:3.5rem;}
.section-head.centered{text-align:center;}
.section-eyebrow{
  display:inline-block;
  font-size:0.72rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--amber);margin-bottom:0.7rem;
}
.section-eyebrow.light{color:var(--amber-light);}
.section-title{
  font-family:var(--font-serif);
  font-size:clamp(1.9rem,3vw,2.8rem);
  font-weight:700;line-height:1.18;
  color:var(--brown);margin-bottom:0.7rem;
}
.section-title.light{color:var(--cream);}
.section-title em{font-style:italic;color:var(--amber);}
.section-desc{font-size:1rem;color:var(--text-light);max-width:480px;}

/* Services layout */
.services-layout{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:auto;
  gap:1.5rem;
  align-items:start;
}
.service-main{
  background:var(--white);
  border:1px solid rgba(193,127,36,0.12);
  border-radius:var(--radius-lg);
  padding:2.2rem;
  position:relative;overflow:hidden;
  transition:var(--transition);
  grid-row:span 2;
}
.service-main::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--amber),var(--amber-light));
  transform:scaleX(0);transform-origin:left;
  transition:var(--transition);
}
.service-main:hover{transform:translateY(-4px);box-shadow:var(--shadow-warm);}
.service-main:hover::after{transform:scaleX(1);}
.service-num{
  font-family:var(--font-serif);
  font-size:3.5rem;font-weight:700;
  color:var(--amber-dim);line-height:1;
  margin-bottom:0.5rem;
  background:linear-gradient(135deg,rgba(193,127,36,0.15),rgba(193,127,36,0.05));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.service-icon-wrap{
  width:48px;height:48px;color:var(--amber);margin-bottom:1rem;
}
.service-icon-wrap svg{width:100%;height:100%;}
.service-main h3{
  font-family:var(--font-serif);font-size:1.3rem;font-weight:700;
  color:var(--brown);margin-bottom:0.6rem;
}
.service-main p{font-size:0.92rem;color:var(--text-light);line-height:1.65;margin-bottom:1rem;}
.service-list{display:flex;flex-direction:column;gap:0.4rem;}
.service-list li{
  font-size:0.88rem;color:var(--text-mid);
  padding-left:1rem;position:relative;
}
.service-list li::before{
  content:'—';position:absolute;left:0;
  color:var(--amber);font-size:0.75rem;
}

.service-side-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1rem;grid-column:3;grid-row:1/3;
}
.service-small{
  background:var(--white);
  border:1px solid rgba(193,127,36,0.12);
  border-radius:var(--radius-md);
  padding:1.5rem 1.4rem;
  transition:var(--transition);
}
.service-small:hover{border-color:rgba(193,127,36,0.35);transform:translateY(-3px);box-shadow:var(--shadow-card);}
.service-small-icon{font-size:1.8rem;margin-bottom:0.7rem;display:block;}
.service-small h4{
  font-family:var(--font-serif);font-size:0.95rem;font-weight:700;
  color:var(--brown);margin-bottom:0.4rem;
}
.service-small p{font-size:0.82rem;color:var(--text-light);line-height:1.6;}

/* ===================================
   WORKSHOP
   =================================== */
.workshop{
  background:var(--dark-bg);
  padding:6rem 0;
}
.workshop-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:5rem;align-items:center;
}
.workshop-content .section-eyebrow{color:var(--amber-light);}
.workshop-text{font-size:1rem;color:var(--stone-light);line-height:1.8;margin-bottom:1.5rem;}
.workshop-quote{
  font-family:var(--font-serif);font-style:italic;
  font-size:1.05rem;color:var(--amber-light);
  border-left:3px solid var(--amber);
  padding:1rem 1.4rem;margin-bottom:2rem;
  background:rgba(193,127,36,0.08);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  line-height:1.6;
}
.workshop-quote cite{
  display:block;margin-top:0.5rem;
  font-size:0.8rem;color:var(--stone);font-style:normal;font-weight:500;
}
.workshop-stats{display:flex;gap:2.5rem;margin-top:0.5rem;}
.wstat{text-align:left;}
.wstat-num{
  font-family:var(--font-serif);font-size:2.4rem;font-weight:700;
  color:var(--amber-light);line-height:1;display:inline;
}
.wstat-plus{font-family:var(--font-serif);font-size:1.8rem;color:var(--amber-light);}
.wstat-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--stone);margin-top:0.25rem;}

.workshop-photo-area{position:relative;}
.craft-badge{
  position:absolute;top:-1.5rem;right:-1.5rem;
  width:90px;height:90px;
  background:var(--amber);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(193,127,36,0.4);
  animation:spinBadge 12s linear infinite;
  z-index:2;
}
.craft-badge-inner{text-align:center;line-height:1.2;}
.craft-year{display:block;font-family:var(--font-serif);font-size:0.65rem;font-weight:700;color:var(--brown);}
.craft-label{display:block;font-size:0.5rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--brown-mid);}

/* ===================================
   REVIEWS
   =================================== */
.reviews{background:var(--cream-dark);padding:6rem 0;}
.review-score-row{
  display:flex;align-items:center;gap:1.2rem;
  margin-top:1.2rem;justify-content:center;
}
.score-big{
  font-family:var(--font-serif);font-size:4rem;font-weight:800;
  color:var(--brown);line-height:1;
}
.score-stars{font-size:1.6rem;color:var(--amber);letter-spacing:3px;}
.score-count{font-size:0.85rem;color:var(--stone);margin-top:0.2rem;}

.reviews-grid{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  gap:1.5rem;margin:3rem 0 2.5rem;
}
.review-card{
  background:var(--white);
  border:1px solid rgba(193,127,36,0.12);
  border-radius:var(--radius-lg);
  padding:2rem;
  position:relative;
  transition:var(--transition);
}
.review-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);}
.review-card.featured{
  background:var(--brown);
  border-color:var(--brown);
}
.review-card.featured .review-body{color:var(--stone-light);}
.review-card.featured .review-quote-mark{color:var(--amber);}
.review-card.featured .reviewer-name{color:var(--cream);}
.review-card.featured .reviewer-meta{color:var(--stone-light);}
.review-card.featured .review-stars-sm{color:var(--amber-light);}
.review-quote-mark{
  font-family:var(--font-serif);font-size:4rem;font-weight:700;
  color:rgba(193,127,36,0.15);line-height:0.8;margin-bottom:0.5rem;display:block;
}
.review-body{font-size:0.92rem;color:var(--text-mid);line-height:1.75;margin-bottom:1.5rem;}
.review-footer{display:flex;align-items:center;gap:0.75rem;}
.reviewer-avatar{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.78rem;font-weight:700;color:#fff;flex-shrink:0;
}
.reviewer-name{font-size:0.9rem;font-weight:600;color:var(--brown);}
.reviewer-meta{font-size:0.72rem;color:var(--stone);}
.review-stars-sm{margin-left:auto;color:#c17f24;font-size:0.9rem;flex-shrink:0;}
.reviews-cta{text-align:center;}

/* ===================================
   CONTACT
   =================================== */
.contact{background:var(--dark-bg2);padding:6rem 0 0;}
.contact-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:start;padding-bottom:4rem;
}
.contact-left .section-title.light em{color:var(--amber-light);}
.contact-items{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0;}
.contact-item{
  display:flex;gap:1rem;align-items:flex-start;
}
.ci-icon{
  width:42px;height:42px;flex-shrink:0;
  background:rgba(193,127,36,0.12);border:1px solid rgba(193,127,36,0.25);
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--amber-light);
}
.contact-item h4{
  font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;
  color:var(--stone);margin-bottom:0.3rem;
}
.contact-item p{font-size:0.95rem;color:var(--stone-light);line-height:1.65;}
.ci-link{font-size:0.85rem;color:var(--amber-light);font-weight:600;display:inline-block;margin-top:0.4rem;transition:var(--transition);}
.ci-link:hover{opacity:0.75;}
.phone-num{
  font-family:var(--font-serif);font-size:2rem;font-weight:700;
  color:var(--amber-light);display:block;
  transition:var(--transition);
}
.phone-num:hover{color:var(--white);}
.hours{display:flex;flex-direction:column;gap:0.3rem;margin-top:0.3rem;}
.hour-row{display:flex;justify-content:space-between;gap:1.5rem;font-size:0.9rem;color:var(--stone-light);}
.hour-row.closed{color:var(--stone);opacity:0.6;}
.contact-map{
  height:420px;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid rgba(193,127,36,0.15);
  box-shadow:0 8px 40px rgba(0,0,0,0.3);
}
.contact-map iframe{width:100%;height:100%;}

/* ===================================
   FOOTER
   =================================== */
.footer{background:var(--dark-bg);border-top:1px solid rgba(193,127,36,0.1);}
.footer-inner{
  max-width:1240px;margin:0 auto;padding:3rem 2rem 2.5rem;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;
}
.footer-logo{display:flex;flex-direction:column;gap:0.4rem;}
.footer-logo .logo-main{font-family:var(--font-serif);font-size:1.3rem;color:var(--cream);font-weight:700;}
.footer-tagline{font-size:0.85rem;color:var(--stone);}
.footer-links-col h5{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-bottom:1rem;}
.footer-links-col ul{display:flex;flex-direction:column;gap:0.5rem;}
.footer-links-col li,.footer-links-col a{font-size:0.9rem;color:var(--stone-light);transition:var(--transition);}
.footer-links-col a:hover{color:var(--amber-light);}
.footer-bottom{border-top:1px solid rgba(193,127,36,0.08);padding:1.2rem 2rem;text-align:center;font-size:0.8rem;color:var(--stone);}

/* ===================================
   FLOATING PHONE
   =================================== */
.floating-phone{
  position:fixed;bottom:2rem;right:2rem;z-index:999;
  width:54px;height:54px;
  background:var(--amber);color:var(--brown);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(193,127,36,0.5);
  transition:var(--transition);
  animation:phonePulse 2.5s ease infinite;
}
.floating-phone:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(193,127,36,0.6);}

/* ===================================
   ANIMATIONS
   =================================== */
@keyframes floatCard{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}
@keyframes spinBadge{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes phonePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(193,127,36,0.5);}
  50%{box-shadow:0 0 0 10px rgba(193,127,36,0);}
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ===================================
   RESPONSIVE
   =================================== */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;}
  .hero-right{min-height:50vw;}
  .hero-left{max-width:100%;padding:4rem 2rem 2rem;}
  .services-layout{grid-template-columns:1fr 1fr;}
  .service-side-grid{grid-column:auto;grid-row:auto;grid-template-columns:1fr 1fr;}
  .service-main{grid-row:auto;}
  .workshop-layout{grid-template-columns:1fr;gap:3rem;}
  .reviews-grid{grid-template-columns:1fr;}
  .contact-layout{grid-template-columns:1fr;gap:2rem;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .hamburger{display:flex;}
  .nav-links{
    position:fixed;inset:0;
    background:rgba(250,246,239,0.98);backdrop-filter:blur(20px);
    flex-direction:column;justify-content:center;align-items:center;gap:0;
    transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);z-index:999;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-link{font-size:1.4rem;padding:1rem 2rem;}
  .btn-call{display:none;}
  .hero{padding-top:70px;}
  .hero-right{display:none;}
  .services-layout{grid-template-columns:1fr;}
  .service-side-grid{grid-template-columns:1fr 1fr;}
  .reviews-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;gap:2rem;}
  .workshop-stats{gap:1.5rem;flex-wrap:wrap;}
}
@media(max-width:480px){
  .service-side-grid{grid-template-columns:1fr;}
  .hero-cta{flex-direction:column;}
  .btn-primary,.btn-ghost{width:100%;justify-content:center;}
  .review-score-row{flex-direction:column;gap:0.5rem;}
}
