  :root{
    --ivory:#F6F1F3;
    --cream:#FFFFFF;
    --charcoal:#2B2730;
    --charcoal-soft:#5B5560;
    --rose:#B97A93;
    --rose-deep:#8C5468;
    --rose-pale:#E9D3DB;
    --sand:#EAD9DF;
    --line:#E3D3DA;
    --radius-s: 4px;
    --radius-m: 10px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ivory);
    color:var(--charcoal);
    font-family:'Manrope',sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.serif{
    font-family:'Fraunces',serif;
    font-weight:600;
    color:var(--charcoal);
    line-height:1.12;
    margin:0;
  }
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  /* Buttons */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 26px;
    border-radius:999px;
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:0.96rem;
    cursor:pointer;
    border:1.5px solid transparent;
    transition:transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--rose-deep);color:var(--cream);}
  .btn-primary:hover{background:#754156;}
  .btn-ghost{background:transparent;color:var(--charcoal);border-color:var(--charcoal);}
  .btn-ghost:hover{border-color:var(--rose-deep);color:var(--rose-deep);}
  .btn-on-dark{background:var(--cream);color:var(--rose-deep);}
  .btn-on-dark:hover{background:var(--rose-pale);}
  .btn[disabled], .btn.is-disabled{
    opacity:0.4; cursor:not-allowed; transform:none !important;
    pointer-events:none;
  }

  /* Header */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(246,241,243,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 0;
  }
  .logo-brand{
    display:flex;align-items:center;gap:10px;
    text-decoration:none;
  }
  .logo-img{
    height:42px;width:42px;
    object-fit:contain;
    display:block;
  }
  .logo-text{
    font-family:'Fraunces',serif;
    font-size:1.28rem;
    font-weight:600;
    letter-spacing:0.01em;
    color:var(--charcoal);
    white-space:nowrap;
  }
  .nav-links{display:flex;gap:36px;align-items:center;}
  .nav-links a{font-size:0.94rem;font-weight:600;color:var(--charcoal-soft);transition:color .15s;}
  .nav-links a:hover{color:var(--rose-deep);}
  .nav-cta{display:flex;align-items:center;gap:14px;}
  .nav-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--charcoal);}
  @media(max-width:860px){
    .nav-links{display:none;}
    .nav-toggle{display:block;}
  }

  /* Hero */
  .hero{
    padding:88px 0 96px;
    display:grid;
    grid-template-columns:1.05fr 0.85fr;
    gap:56px;
    align-items:center;
  }
  .hero-eyebrow{
    font-size:0.95rem;
    color:var(--rose-deep);
    font-weight:700;
    margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(2rem, 3.6vw, 2.9rem);
    max-width:20ch;
  }
  .hero-sub{
    margin-top:22px;
    font-size:1.12rem;
    color:var(--charcoal-soft);
    max-width:46ch;
  }
  .hero-cta{
    margin-top:34px;
    display:flex;gap:16px;flex-wrap:wrap;
  }
  .hero-meta{
    margin-top:38px;
    display:flex;gap:28px;
    flex-wrap:wrap;
  }
  .hero-meta div{
    font-size:0.88rem;
    color:var(--charcoal-soft);
    border-left:2px solid var(--rose);
    padding-left:12px;
  }
  .hero-meta strong{display:block;color:var(--charcoal);font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600;}

  .hero-visual{
    position:relative;
    aspect-ratio:4/5;
    border-radius:200px 200px 24px 24px;
    overflow:hidden;
    display:flex;align-items:flex-end;
    background:var(--rose-deep);
  }
  .hero-visual img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;
    object-position:top center;
  }
  .hero-visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(43,39,48,0.55) 0%, rgba(43,39,48,0.05) 42%, transparent 60%);
  }
  .hero-visual-card{
    position:relative;
    z-index:2;
    margin:24px;
    background:rgba(255,255,255,0.94);
    border-radius:var(--radius-m);
    padding:20px 22px;
    width:calc(100% - 48px);
  }
  .hero-visual-card p{font-size:0.85rem;color:var(--charcoal-soft);font-weight:600;}
  .hero-visual-card strong{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;display:block;margin-bottom:2px;}
  @media(max-width:920px){
    .hero{grid-template-columns:1fr;padding:56px 0 64px;}
    .hero-visual{aspect-ratio:4/5;border-radius:24px;order:-1;max-width:380px;margin:0 auto;}
  }

  /* Section shared */
  section{padding:88px 0;}
  .section-tag{
    font-size:0.92rem;
    font-weight:700;
    color:var(--rose-deep);
    margin-bottom:14px;
  }
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head h2{font-size:clamp(1.9rem,3vw,2.5rem);}
  .section-head p{margin-top:16px;color:var(--charcoal-soft);font-size:1.06rem;}

  /* About */
  .about{background:var(--cream);}
  .about-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:60px;
    align-items:center;
  }
  .about-figure{
    border-radius:28px;
    overflow:hidden;
    position:relative;
    aspect-ratio:9/16;
    max-width:340px;
    margin:0 auto;
    box-shadow:0 18px 40px rgba(43,39,48,0.16);
  }
  .about-video{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    border-radius:28px;
  }
  .about-text h2{font-size:1.6rem;margin-bottom:18px;}
  .about-text p{color:var(--charcoal-soft);font-size:1.03rem;margin-bottom:16px;}
  .about-signoff{margin-top:24px;font-family:'Fraunces',serif;font-style:italic;color:var(--rose-deep);font-size:1.05rem;}
  @media(max-width:860px){.about-grid{grid-template-columns:1fr;}.about-figure{order:-1;}}

  /* Services */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
  }
  .service-card{
    background:var(--cream);
    border:1px solid var(--line);
    border-radius:20px;
    overflow:visible;
    display:flex;flex-direction:column;
    align-items:center;
    text-align:center;
    padding:0 30px 34px;
    box-shadow:0 2px 14px rgba(43,39,48,0.04);
    transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .service-card:hover{
    border-color:var(--rose);
    transform:translateY(-6px);
    box-shadow:0 18px 34px rgba(140,84,104,0.14);
  }
  .service-photo-wrap{
    position:relative;
    margin-top:-1px;
    padding-top:34px;
  }
  .service-photo{
    width:132px;height:132px;
    border-radius:50%;
    object-fit:cover;
    box-shadow:0 0 0 6px var(--rose-pale), 0 10px 24px rgba(140,84,104,0.22);
  }
  .service-number{
    position:absolute;
    top:26px;right:-6px;
    width:34px;height:34px;
    border-radius:50%;
    background:var(--rose-deep);
    color:var(--cream);
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:0.92rem;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 10px rgba(140,84,104,0.35);
  }
  .service-body{padding-top:24px;width:100%;}
  .service-card h3{font-size:1.2rem;margin-bottom:6px;}
  .service-kicker{
    display:block;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.04em;
    color:var(--rose-deep);
    margin-bottom:8px;
    text-transform:uppercase;
  }
  .service-card > .service-body > p.service-desc{
    font-size:0.92rem;color:var(--charcoal-soft);
    margin-bottom:20px;
  }
  .service-divider{
    width:36px;height:2px;
    background:var(--rose-pale);
    margin:0 auto 20px;
  }
  .service-card ul{
    list-style:none;margin:0;padding:0;
    display:grid;gap:12px;
    text-align:left;
  }
  .service-card li{
    font-size:0.95rem;color:var(--charcoal-soft);
    padding-left:26px;position:relative;
  }
  .service-card li::before{
    content:"";
    position:absolute;left:0;top:1px;
    width:16px;height:16px;
    border-radius:50%;
    background:var(--rose-pale);
  }
  .service-card li::after{
    content:"";
    position:absolute;left:5px;top:5px;
    width:7px;height:4px;
    border-left:2px solid var(--rose-deep);
    border-bottom:2px solid var(--rose-deep);
    transform:rotate(-45deg);
  }
  @media(max-width:900px){.services-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}

  .services-grid-2{grid-template-columns:repeat(2,1fr);max-width:100%;}
  .service-card-wide{padding-left:38px;padding-right:38px;}
  .service-list-2col{
    grid-template-columns:repeat(2,1fr);
    column-gap:20px;
    text-align:left;
  }
  @media(max-width:900px){
    .services-grid-2{grid-template-columns:1fr;max-width:520px;}
    .service-list-2col{grid-template-columns:1fr;}
  }

  /* Gallery */
  .gallery{background:var(--cream);}
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
  }
  .gallery-tile{
    aspect-ratio:3/4;
    border-radius:var(--radius-m);
    position:relative;
    overflow:hidden;
    display:flex;align-items:flex-end;
    padding:18px;
  }
  .gallery-tile span{
    position:relative;color:var(--cream);font-size:0.88rem;font-weight:700;
    text-shadow:0 1px 6px rgba(0,0,0,0.35);
  }
  .gallery-tile:nth-child(1){background:linear-gradient(155deg,#d8a9bb,#8C5468);}
  .gallery-tile:nth-child(2){background:linear-gradient(155deg,#c9909e,#733f56);}
  .gallery-tile:nth-child(3){background:linear-gradient(155deg,#e0bcc8,#9C5D74);}
  .gallery-tile:nth-child(4){background:linear-gradient(155deg,#b97a93,#5b3c47);}
  .gallery-tile-photo img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  }
  .gallery-tile-photo::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(to top, rgba(43,39,48,0.55) 0%, transparent 55%);
  }
  .gallery-tile-photo span{z-index:2;}
  .gallery-note{
    margin-top:22px;font-size:0.85rem;color:var(--charcoal-soft);font-style:italic;
  }
  @media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

  /* Trust points */
  .trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  .trust-item{padding:6px 0;border-top:2px solid var(--sand);padding-top:20px;}
  .trust-item h3{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;margin-bottom:10px;}
  .trust-item p{font-size:0.92rem;color:var(--charcoal-soft);}
  @media(max-width:860px){.trust-grid{grid-template-columns:repeat(2,1fr);}}

  /* Avantages */
  .avantages{background:transparent;}
  .avantages-card{
    background:var(--rose-pale);
    border-radius:32px;
    padding:52px 48px 60px;
  }
  .avantages-top{
    display:flex;justify-content:space-between;align-items:flex-start;
    gap:28px;flex-wrap:wrap;
    margin-bottom:56px;
  }
  .avantages-title{
    font-size:clamp(1.6rem,2.6vw,2.1rem);
    max-width:15ch;
    line-height:1.28;
    color:var(--charcoal);
  }
  .avantages-note{
    font-size:0.88rem;color:var(--charcoal-soft);
    max-width:30ch;
    padding-top:4px;
  }
  .avantages-cta{
    display:inline-flex;align-items:center;gap:8px;
    border:1.5px solid var(--rose-deep);
    color:var(--rose-deep);
    padding:13px 24px;
    border-radius:999px;
    font-size:0.78rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;
    white-space:nowrap;
    transition:background .18s ease, color .18s ease;
  }
  .avantages-cta:hover{background:var(--rose-deep);color:var(--cream);}

  .avantages-body{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:36px;
    align-items:center;
  }
  .avantages-col{display:grid;gap:36px;}
  .avantage-item{display:flex;gap:16px;align-items:flex-start;}
  .avantage-icon{
    width:52px;height:52px;border-radius:50%;
    background:var(--cream);
    box-shadow:0 6px 16px rgba(43,39,48,0.10);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .avantage-item h3{font-size:1rem;margin-bottom:4px;}
  .avantage-item p{font-size:0.86rem;color:var(--charcoal-soft);}

  .avantages-photo-wrap{
    position:relative;
    width:260px;height:260px;
    margin:0 auto;
  }
  .avantages-photo-ring{
    position:absolute;inset:-18px;
    border-radius:50%;
    border:2px dashed var(--rose-deep);
  }
  .avantages-photo{
    width:100%;height:100%;
    border-radius:50%;
    object-fit:cover;
    object-position:top center;
    display:block;
    box-shadow:0 14px 30px rgba(43,39,48,0.16);
  }

  @media(max-width:960px){
    .avantages-body{grid-template-columns:1fr;justify-items:center;}
    .avantages-photo-wrap{order:-1;margin-bottom:12px;}
    .avantages-col{grid-template-columns:1fr 1fr;width:100%;}
  }
  @media(max-width:640px){
    .avantages-card{padding:36px 24px 44px;border-radius:24px;}
    .avantages-top{flex-direction:column;}
    .avantages-col{grid-template-columns:1fr;}
  }

  /* FAQ */
  .faq{background:var(--cream);}
  .faq-list{
    display:grid;gap:0;
    max-width:820px;
  }
  .faq-item{
    padding:26px 0;
    border-top:1px solid var(--line);
  }
  .faq-list .faq-item:last-child{border-bottom:1px solid var(--line);}
  .faq-item h3{font-size:1.08rem;font-weight:600;margin-bottom:10px;}
  .faq-item p{font-size:0.95rem;color:var(--charcoal-soft);}

  /* Booking */
  .booking-section{background:var(--cream);}
  .booking-panel{
    background:var(--ivory);
    border:1px solid var(--line);
    border-radius:24px;
    padding:44px;
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:44px;
  }
  @media(max-width:900px){
    .booking-panel{grid-template-columns:1fr;padding:28px;border-radius:18px;}
  }

  /* Calendar */
  .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .cal-head-label{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;text-transform:capitalize;margin:0;}
  .cal-nav-btn{
    width:34px;height:34px;border-radius:50%;
    border:1px solid var(--line);background:var(--cream);
    font-size:1rem;cursor:pointer;color:var(--charcoal);
    display:flex;align-items:center;justify-content:center;
    transition:background .15s;
  }
  .cal-nav-btn:hover:not(:disabled){background:var(--rose-pale);}
  .cal-nav-btn:disabled{opacity:0.35;cursor:not-allowed;}
  .cal-dow{
    display:grid;grid-template-columns:repeat(7,1fr);
    margin-bottom:6px;
  }
  .cal-dow span{
    text-align:center;font-size:0.72rem;font-weight:700;color:var(--charcoal-soft);
  }
  .cal-grid{
    display:grid;grid-template-columns:repeat(7,1fr);
    gap:4px;
  }
  .cal-day{
    aspect-ratio:1;
    display:flex;align-items:center;justify-content:center;
    border-radius:10px;
    font-size:0.88rem;
    font-weight:600;
    background:transparent;
    border:none;
    cursor:pointer;
    color:var(--charcoal);
    transition:background .15s, color .15s;
  }
  .cal-day:hover:not(:disabled):not(.is-empty){background:var(--rose-pale);}
  .cal-day:disabled{color:#C9BFC4;cursor:not-allowed;}
  .cal-day.is-empty{visibility:hidden;cursor:default;}
  .cal-day.is-today{box-shadow:inset 0 0 0 1.5px var(--rose-deep);}
  .cal-day.is-selected{background:var(--rose-deep);color:var(--cream);}
  .cal-legend{margin-top:16px;font-size:0.78rem;color:var(--charcoal-soft);}

  /* Slots */
  .slots-title{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;margin-bottom:6px;}
  .slots-sub{font-size:0.88rem;color:var(--charcoal-soft);margin-bottom:18px;}
  .slots-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:10px;margin-bottom:26px;
    min-height:44px;
  }
  .slot-btn{
    padding:11px 8px;
    border-radius:10px;
    border:1px solid var(--line);
    background:var(--cream);
    font-size:0.86rem;font-weight:600;
    cursor:pointer;
    color:var(--charcoal);
    transition:background .15s, border-color .15s, color .15s;
  }
  .slot-btn:hover{border-color:var(--rose);}
  .slot-btn.is-selected{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--cream);}
  .slots-empty{
    grid-column:1/-1;
    font-size:0.9rem;color:var(--charcoal-soft);font-style:italic;
    display:flex;align-items:center;
  }
  .booking-confirm{
    display:flex;flex-direction:column;gap:10px;
  }
  .booking-confirm-summary{
    font-size:0.9rem;color:var(--charcoal-soft);
    min-height:20px;
  }
  .booking-confirm-summary strong{color:var(--charcoal);}

  /* SEO keywords */
  .seo-keywords{
    background:var(--ivory);
    padding:56px 0 72px;
    border-top:1px solid var(--line);
  }
  .seo-keywords h2{
    font-size:1.3rem;
    margin-bottom:16px;
  }
  .seo-keywords > .wrap > p{
    font-size:0.88rem;
    line-height:1.7;
    color:var(--charcoal-soft);
    max-width:78ch;
  }
  .seo-keywords strong{color:var(--charcoal);font-weight:600;}
  .seo-tags{
    margin-top:26px;
    display:flex;flex-wrap:wrap;gap:10px;
  }
  .seo-tags a{
    font-size:0.78rem;
    padding:8px 16px;
    border-radius:999px;
    background:var(--cream);
    border:1px solid var(--line);
    color:var(--charcoal-soft);
    text-decoration:none;
    transition:border-color .15s ease, color .15s ease;
  }
  .seo-tags a:hover{border-color:var(--rose-deep);color:var(--rose-deep);}

  /* Contact / footer */
  footer{background:var(--charcoal);color:var(--ivory);padding:80px 0 0;margin-top:88px;}
  .footer-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr 0.9fr;
    gap:48px;
    padding-bottom:56px;
    border-bottom:1px solid rgba(246,241,243,0.14);
  }
  footer h3{color:var(--ivory);font-size:1.1rem;margin-bottom:20px;}
  .footer-brand .logo-text{color:var(--ivory);}
  .footer-brand .logo-brand{margin-bottom:16px;}
  .footer-brand p{color:rgba(246,241,243,0.7);font-size:0.95rem;max-width:34ch;}
  .footer-list{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
  .footer-list, .footer-list li{font-size:0.94rem;color:rgba(246,241,243,0.82);}
  .footer-list a:hover{color:#E3AFC2;}
  .footer-map{
    border-radius:var(--radius-m);
    overflow:hidden;
    border:1px solid rgba(246,241,243,0.14);
  }
  .footer-map iframe{width:100%;height:180px;border:0;display:block;filter:grayscale(0.3) contrast(1.05);}
  .footer-bottom{
    padding:26px 0 32px;
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:12px;
    font-size:0.85rem;color:rgba(246,241,243,0.55);
  }
  .footer-social a{color:rgba(246,241,243,0.75);font-weight:600;}
  @media(max-width:860px){.footer-grid{grid-template-columns:1fr;}}

  /* Floating WhatsApp */
  .wa-float{
    position:fixed;bottom:26px;right:26px;z-index:60;
    width:60px;height:60px;border-radius:50%;
    background:var(--rose-deep);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 26px rgba(140,84,104,0.45);
    animation:pulse 2.6s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{box-shadow:0 10px 26px rgba(140,84,104,0.45);}
    50%{box-shadow:0 10px 30px rgba(140,84,104,0.7), 0 0 0 8px rgba(140,84,104,0.14);}
  }
  .wa-float svg{width:28px;height:28px;}

  /* Mobile nav panel */
  .mobile-panel{
    display:none;
    position:fixed;inset:0;
    background:var(--ivory);
    z-index:70;
    padding:26px 24px;
    flex-direction:column;
  }
  .mobile-panel.open{display:flex;}
  .mobile-panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px;}
  .mobile-panel a{
    font-family:'Fraunces',serif;font-size:1.7rem;padding:14px 0;border-bottom:1px solid var(--line);
  }
  .mobile-panel .btn{margin-top:30px;justify-content:center;}

  /* Tabs */
  .tabs{
    display:flex;gap:10px;flex-wrap:wrap;
    margin-bottom:36px;
  }
  .tab-btn{
    padding:11px 22px;
    border-radius:999px;
    border:1.5px solid var(--line);
    background:var(--cream);
    font-family:'Manrope',sans-serif;
    font-weight:700;
    font-size:0.9rem;
    cursor:pointer;
    color:var(--charcoal-soft);
    transition:all .18s ease;
  }
  .tab-btn:hover{border-color:var(--rose);color:var(--charcoal);}
  .tab-btn.is-active{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--cream);}

  /* Service list grid (tab panels) */
  .service-list-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  @media(max-width:900px){.service-list-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:600px){.service-list-grid{grid-template-columns:1fr;}}
  .service-mini-card{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    aspect-ratio:3/4;
    display:flex;flex-direction:column;justify-content:flex-end;
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .service-mini-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 32px rgba(140,84,104,0.28);
  }
  .service-mini-card::after{
    content:"";
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(to top, rgba(43,39,48,0.85) 0%, rgba(43,39,48,0.35) 48%, rgba(43,39,48,0.05) 72%);
  }
  .service-mini-photo{
    position:absolute;inset:0;z-index:0;
    width:100%;height:100%;
    border-radius:0;
    object-fit:cover;
    box-shadow:none;
    display:block;
  }
  .service-mini-body{
    position:relative;z-index:2;
    padding:20px 20px 22px;
    background:transparent;
    display:flex;flex-direction:column;
    gap:7px;
  }
  .service-mini-card h4{
    font-family:'Fraunces',serif;font-weight:600;font-size:1.06rem;color:#FFFFFF;
  }
  .service-mini-card p{font-size:0.85rem;color:rgba(255,255,255,0.82);}
  .service-mini-cat{
    font-size:0.7rem;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;
    color:#E9C3D0;
  }
  .service-mini-link{
    margin-top:6px;font-size:0.84rem;font-weight:700;color:#FFFFFF;
  }

  /* Breadcrumb */
  .breadcrumb{
    font-size:0.85rem;color:var(--charcoal-soft);
    padding:20px 0 0;
  }
  .breadcrumb a{color:var(--charcoal-soft);font-weight:600;}
  .breadcrumb a:hover{color:var(--rose-deep);}
  .breadcrumb span{margin:0 6px;}

  /* Service detail hero */
  .soin-hero{padding:36px 0 56px;}
  .soin-hero-cat{
    font-size:0.9rem;font-weight:700;color:var(--rose-deep);margin-bottom:14px;
  }
  .soin-hero h1{font-size:clamp(2rem,4vw,2.8rem);max-width:16ch;}
  .soin-hero-sub{
    margin-top:18px;font-size:1.08rem;color:var(--charcoal-soft);max-width:52ch;
  }
  .soin-hero-cta{margin-top:30px;display:flex;gap:16px;flex-wrap:wrap;}
  .soin-photo{
    width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;
    margin-top:40px;
  }

  /* Service detail content */
  .soin-body{padding:0 0 40px;}
  .soin-grid{
    display:grid;grid-template-columns:1.4fr 1fr;gap:56px;
    align-items:start;
  }
  @media(max-width:900px){.soin-grid{grid-template-columns:1fr;}}
  .soin-block{margin-bottom:40px;}
  .soin-block h2{font-size:1.5rem;margin-bottom:16px;}
  .soin-block p{color:var(--charcoal-soft);font-size:1.02rem;margin-bottom:14px;}
  .soin-block ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
  .soin-block li{
    font-size:0.98rem;color:var(--charcoal-soft);padding-left:26px;position:relative;
  }
  .soin-block li::before{
    content:"";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;
    background:var(--rose-pale);
  }
  .soin-block li::after{
    content:"";position:absolute;left:5px;top:5px;width:7px;height:4px;
    border-left:2px solid var(--rose-deep);border-bottom:2px solid var(--rose-deep);
    transform:rotate(-45deg);
  }
  .soin-steps{display:grid;gap:22px;}
  .soin-step{display:flex;gap:16px;}
  .soin-step-num{
    flex:0 0 auto;width:34px;height:34px;border-radius:50%;
    background:var(--rose-pale);color:var(--rose-deep);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:600;font-size:0.95rem;
  }
  .soin-step p{margin:0;color:var(--charcoal-soft);font-size:0.95rem;}
  .soin-step strong{display:block;color:var(--charcoal);font-family:'Fraunces',serif;font-weight:600;margin-bottom:4px;}

  /* Sidebar card */
  .soin-sidebar{
    background:var(--ivory);border:1px solid var(--line);border-radius:20px;
    padding:32px;position:sticky;top:96px;
  }
  .soin-sidebar h3{font-size:1.15rem;margin-bottom:16px;}
  .soin-sidebar-row{
    display:flex;justify-content:space-between;padding:12px 0;
    border-top:1px solid var(--line);font-size:0.9rem;
  }
  .soin-sidebar-row:first-of-type{border-top:none;}
  .soin-sidebar-row span:first-child{color:var(--charcoal-soft);}
  .soin-sidebar-row span:last-child{font-weight:700;color:var(--charcoal);}
  .soin-sidebar .btn{width:100%;justify-content:center;margin-top:20px;}

  /* Related services */
  .related-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
  }
  @media(max-width:600px){.related-grid{grid-template-columns:1fr;}}
