  /* HERO */
  .hero{margin-top:64px;position:relative;height:calc(100vh - 64px);min-height:560px;max-height:900px;overflow:hidden;display:flex;align-items:flex-end}
  .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
  .hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,10,.72) 0%,rgba(10,10,10,.35) 55%,rgba(10,10,10,.08) 100%)}
  .hero-left{position:relative;z-index:2;padding:0 56px 72px;max-width:700px}
  .hero-tag{font-size:10px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gray-light);margin-bottom:24px;display:flex;align-items:center;gap:12px}
  .hero-tag::before{content:'';display:block;width:32px;height:1px;background:var(--gray-mid)}
  .hero-h1{font-family:'Cormorant',serif;font-size:clamp(40px,5vw,72px);font-weight:300;line-height:1.1;color:var(--white);letter-spacing:-.01em;margin-bottom:12px}
  .hero-h1 em{font-style:italic;font-weight:300}
  .hero-accent{font-family:'Dancing Script',cursive;font-size:clamp(28px,3.5vw,52px);color:var(--gray-light);margin-bottom:40px;line-height:1.2}
  .hero-btns{display:flex;gap:16px;flex-wrap:wrap}

  /* INTRO */
  .intro{padding:100px 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
  .intro-heading{font-family:'Cormorant',serif;font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.25;letter-spacing:-.01em;margin-bottom:32px}
  .intro-img-wrap{overflow:hidden;margin-top:40px;max-width:774px}
  .intro-img-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1s ease;display:block}
  .intro-img-wrap:hover img{transform:scale(1.04)}
  .intro-text{font-size:14px;line-height:1.85;color:var(--gray-dark);margin-bottom:20px;font-weight:300}
  .intro-stats{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;padding-top:48px;border-top:1px solid var(--gray-light)}
  .stat-num{font-family:'Cormorant',serif;font-size:52px;font-weight:300;line-height:1;color:var(--black)}
  .stat-label{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-mid);margin-top:8px}

  /* SERVICES */
  .services{padding:100px 48px;background:var(--black)}
  .services-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:64px;flex-wrap:wrap;gap:24px}
  .services-list{}
  .service-row{display:grid;grid-template-columns:1fr 1fr;height:500px;margin-bottom:2px}
  .service-row.reverse .service-content{order:2}
  .service-row.reverse .service-image{order:1}
  .service-content{background:#111;padding:56px 48px;display:flex;flex-direction:column;justify-content:space-between;height:100%}
  .service-num{font-family:'Cormorant',serif;font-size:64px;font-weight:300;color:rgba(255,255,255,.08);line-height:1;margin-bottom:auto}
  .service-title{font-family:'Cormorant',serif;font-size:clamp(24px,2.5vw,36px);font-weight:400;color:var(--white);line-height:1.2;margin-bottom:16px}
  .service-desc{font-size:13px;color:var(--gray-mid);line-height:1.75;font-weight:300;margin-bottom:32px}
  .service-link{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-mid);text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:color .3s,gap .3s}
  .service-link:hover{color:var(--white);gap:16px}
  .service-image{overflow:hidden;height:100%}
  .service-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
  .service-row:hover .service-image img{transform:scale(1.04)}
  .btn-outline-light{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.3);padding:14px 32px;text-decoration:none;transition:border-color .3s;display:inline-block}
  .btn-outline-light:hover{border-color:var(--white)}

  /* PHILOSOPHY */
  .philosophy{display:grid;grid-template-columns:1fr 1fr}
  .philosophy-image{overflow:hidden;min-height:600px}
  .philosophy-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
  .philosophy-image:hover img{transform:scale(1.04)}
  .philosophy-content{background:var(--black);padding:80px 56px;display:flex;flex-direction:column;justify-content:center}
  .philosophy-quote{font-family:'Dancing Script',cursive;font-size:clamp(22px,2.5vw,36px);color:var(--white);line-height:1.4;margin:20px 0 28px;opacity:.9}
  .philosophy-text{font-size:14px;line-height:1.85;color:var(--gray-mid);font-weight:300;margin-bottom:16px}

  /* MASTERS */
  .masters{padding:100px 48px}
  .masters-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;flex-wrap:wrap;gap:24px}
  .masters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
  .master-card{position:relative;overflow:hidden}
  .master-photo{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform 1s ease}
  .master-card:hover .master-photo{transform:scale(1.04)}
  .master-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent);padding:32px 24px 28px;transform:translateY(8px);transition:transform .4s}
  .master-card:hover .master-overlay{transform:translateY(0)}
  .master-role{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-mid);margin-bottom:6px}
  .master-name{font-family:'Cormorant',serif;font-size:22px;font-weight:400;color:var(--white)}

  /* GALLERY */
  .gallery{padding:80px 0}
  .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:280px 280px;gap:2px}
  .gallery-item{overflow:hidden;position:relative}
  .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
  .gallery-item:hover img{transform:scale(1.05)}
  .g1{grid-column:span 5;grid-row:span 2}
  .g2{grid-column:span 4}
  .g3{grid-column:span 3}
  .g4{grid-column:span 3;grid-row:span 2}
  .g5{grid-column:span 4}
  .g6{grid-column:span 2}
  .g7{grid-column:span 3}
  .g8{grid-column:span 4}

  /* REVIEWS */
  .reviews{padding:100px 48px;background:var(--white)}
  .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px}
  .review-card{background:var(--gray-light);padding:48px 40px}
  .review-card.featured{background:var(--black)}
  .review-stars{color:#c9a84c;font-size:14px;margin-bottom:20px;letter-spacing:2px}
  .review-text{font-size:14px;line-height:1.8;color:var(--gray-dark);font-weight:300;margin-bottom:28px;font-style:italic}
  .review-card.featured .review-text{color:var(--gray-mid)}
  .review-author{font-size:13px;font-weight:500;color:var(--black)}
  .review-card.featured .review-author{color:var(--white)}
  .review-service{font-size:11px;color:var(--gray-mid);margin-top:4px;font-weight:300}
  .review-card.featured .review-service{color:var(--gray-dark)}

  /* NEWS */
  .news{padding:100px 48px;background:var(--black)}
  .news-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;flex-wrap:wrap;gap:24px}
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
  .news-card{background:#111;overflow:hidden;text-decoration:none;display:block;transition:background .3s}
  .news-card:hover{background:#161616}
  .news-image{overflow:hidden;aspect-ratio:4/3}
  .news-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
  .news-card:hover .news-image img{transform:scale(1.04)}
  .news-body{padding:28px}
  .news-date{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-dark);margin-bottom:12px}
  .news-title{font-family:'Cormorant',serif;font-size:22px;font-weight:400;color:var(--white);line-height:1.3;margin-bottom:10px}
  .news-excerpt{font-size:12px;color:var(--gray-mid);line-height:1.7;font-weight:300}

  /* FAQ */
  .faq{padding:100px 48px;background:var(--white)}
  .faq-list{margin-top:56px;border-top:1px solid var(--gray-light)}
  .faq-item{border-bottom:1px solid var(--gray-light)}
  .faq-question{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:15px;font-weight:300;color:var(--black);transition:color .3s}
  .faq-question:hover{color:var(--gray-dark)}
  .faq-arrow{font-size:18px;transition:transform .4s;color:var(--black);flex-shrink:0;margin-left:24px}
  .faq-item.open .faq-arrow{transform:rotate(90deg)}
  .faq-answer{font-size:13px;color:var(--gray-dark);line-height:1.85;font-weight:300;max-height:0;overflow:hidden;transition:max-height .5s ease,padding .3s;padding-bottom:0}
  .faq-item.open .faq-answer{max-height:300px;padding-bottom:24px}

  /* BOOKING */
  .booking{padding:100px 48px;background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
  .booking-h{font-family:'Cormorant',serif;font-size:clamp(32px,4vw,52px);font-weight:300;line-height:1.15;margin:16px 0 0}
  .booking-h em{font-style:italic}
  .booking-intro{font-size:14px;color:var(--gray-dark);line-height:1.85;margin:24px 0 40px;font-weight:300}
  .contact-details{display:flex;flex-direction:column;gap:20px}
  .contact-item{display:flex;gap:16px;align-items:flex-start}
  .contact-icon{width:44px;height:44px;border:1px solid var(--gray-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px;line-height:1}
  .contact-label{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-mid);margin-bottom:4px}
  .contact-value{font-size:15px;color:var(--black);font-weight:300}
  .contact-value a{color:inherit;text-decoration:none}
  .contact-value a:hover{text-decoration:underline}

  /* MAP */
  .map-section{position:relative;height:480px;overflow:hidden;background:var(--gray-light)}
  .map-section iframe{width:100%;height:100%;border:none;filter:grayscale(100%);transition:filter .4s}
  .map-section:hover iframe{filter:grayscale(60%)}
  .map-overlay{position:absolute;top:40px;right:48px;background:var(--black);color:var(--white);padding:28px 32px;max-width:280px;z-index:2}
  .map-overlay-title{font-family:'Cormorant',serif;font-size:20px;font-weight:400;margin-bottom:12px}
  .map-overlay-text{font-size:12px;color:var(--gray-mid);line-height:1.7;font-weight:300}

  /* TABLET */
  @media(max-width:1024px){
    .intro{grid-template-columns:1fr;gap:48px;padding:64px 24px}
    .service-row{grid-template-columns:1fr;height:auto}
    .service-row.reverse .service-content,.service-row.reverse .service-image{order:unset}
    .service-content{height:auto;min-height:280px}
    .service-image{height:300px}
    .philosophy{grid-template-columns:1fr}
    .philosophy-image{min-height:400px}
    .philosophy-content{padding:56px 40px}
    .masters-grid{grid-template-columns:repeat(2,1fr)}
    .reviews-grid{grid-template-columns:1fr}
    .news-grid{grid-template-columns:1fr}
    .booking{grid-template-columns:1fr;gap:48px;padding:64px 24px}
    .services{padding:64px 24px}
    .masters,.faq,.reviews,.news{padding:64px 24px}
    .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
    .g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8{grid-column:span 1;grid-row:span 1;min-height:200px}
    .map-overlay{right:16px;top:16px;max-width:220px;padding:20px}
  }

  /* MOBILE */
  @media(max-width:768px){
    .hero{margin-top:56px;height:85vh;min-height:480px;max-height:none}
    .hero-left{padding:0 20px 48px;max-width:100%}
    .hero-h1{font-size:clamp(32px,9vw,52px)}
    .hero-accent{font-size:clamp(20px,5vw,30px)}
    .hero-btns{flex-direction:column;gap:12px}
    .hero-btns .btn-primary,.hero-btns .btn-outline{width:100%;text-align:center}
    .intro{padding:56px 20px}
    .intro-stats{gap:20px}
    .stat-num{font-size:40px}
    .services{padding:56px 20px}
    .services-header{margin-bottom:40px}
    .service-content{padding:36px 24px}
    .service-image{height:240px}
    .philosophy-content{padding:48px 20px}
    .philosophy-quote{font-size:clamp(20px,5vw,28px)}
    .masters,.faq,.reviews,.news{padding:56px 20px}
    .masters-grid{grid-template-columns:repeat(2,1fr)}
    .masters-header{flex-direction:column;align-items:flex-start}
    .reviews-grid,.news-grid{grid-template-columns:1fr}
    .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
    .booking{padding:56px 20px}
    .map-section{height:380px}
    .map-overlay{display:none}
  }

  @media(max-width:480px){
    .masters-grid{grid-template-columns:1fr}
    .gallery-grid{grid-template-columns:1fr}
    .g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8{min-height:240px}
    .intro-grid{grid-template-columns:1fr 1fr}
  }
