/* ============================================================
   BEAUTY BY DANIELA — stylesheet
   Exact replica of the design prototype chosen by the client.
   Palette & type system: cream / clay / espresso.
   ============================================================ */
:root{
  --cream:#F8F2E7;
  --sand:#EADFC7;
  --card:#F1E8D8;
  --clay:#C9805A;
  --clay-deep:#8C6E3A;
  --clay-soft:#D9C79A;
  --espresso:#2B2118;
  --espresso-soft:#6B5C4E;
  --line:rgba(43,33,24,0.12);
  --dur:0.7s;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--espresso);
  font-family:'Archivo', sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3{font-family:'Instrument Serif', serif; font-weight:400; letter-spacing:-0.01em; color:var(--clay-deep);}
h1{font-weight:400;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.skip-link{position:absolute; left:-999px; top:0; background:var(--espresso); color:var(--cream); padding:12px 20px; z-index:10001;}
.skip-link:focus{left:16px; top:16px;}

/* custom cursor */
.cursor-dot{position:fixed; top:0; left:0; width:10px; height:10px; border-radius:50%; background:var(--clay-deep); pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .25s, height .25s, background .25s;}
.cursor-dot.big{width:46px; height:46px; background:rgba(201,128,90,0.16); border:1px solid var(--clay-deep);}
@media (hover:none){.cursor-dot{display:none;}}

/* page load curtain */
.curtain{position:fixed; inset:0; background:var(--espresso); z-index:9998; transform-origin:bottom; animation:curtainUp 1.1s cubic-bezier(.76,0,.24,1) .15s forwards;}
@keyframes curtainUp{to{transform:scaleY(0);}}

/* ghost watermark */
.ghost-text{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:'Instrument Serif', serif; font-style:italic; font-size:min(22vw,320px); color:var(--espresso); opacity:0.045; white-space:nowrap; z-index:0; pointer-events:none; letter-spacing:-0.02em;}

.split-line{overflow:hidden; display:block;}
.split-line span{display:inline-block; transform:translateY(115%); animation:lineUp .9s cubic-bezier(.16,.8,.24,1) forwards;}
.split-line:nth-child(1) span{animation-delay:.9s;}
.split-line:nth-child(2) span{animation-delay:1.05s;}
@keyframes lineUp{to{transform:translateY(0);}}
.eyebrow{font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--clay-deep); font-weight:700; display:flex; align-items:center; gap:10px;}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--clay-deep); display:inline-block;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:15px 30px; border-radius:2px; font-family:'Archivo', sans-serif; font-weight:600; font-size:14px; letter-spacing:0.02em; cursor:pointer; border:1px solid transparent; transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s, color .3s, border-color .3s; position:relative; overflow:hidden;}
.btn-primary{background:var(--espresso); color:var(--cream);}
.btn-primary:hover{transform:translateY(-2px); background:var(--clay-deep);}
.btn-ghost{border-color:var(--espresso); color:var(--espresso);}
.btn-ghost:hover{transform:translateY(-2px); background:var(--espresso); color:var(--cream);}

.arc{stroke:var(--clay-deep); stroke-width:2; fill:none; stroke-linecap:round; stroke-dasharray:220; stroke-dashoffset:220; transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1);}
.in-view .arc{stroke-dashoffset:0;}

/* NAV */
nav{position:fixed; top:0; left:0; right:0; z-index:100; padding:22px 0; transition:background .4s ease, padding .4s ease, box-shadow .4s ease;}
nav.scrolled{background:rgba(248,242,231,0.92); backdrop-filter:blur(10px); padding:14px 0; box-shadow:0 1px 0 var(--line);}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.logo{font-family:'Instrument Serif', serif; font-size:20px; letter-spacing:0.02em; display:flex; align-items:center; gap:12px;}
.logo-mark{height:40px; width:auto; display:flex; align-items:center; flex-shrink:0;}
.logo-mark img, .logo-mark svg{height:100%; width:auto; display:block;}
.logo-text{font-family:'Instrument Serif', serif; font-size:20px; letter-spacing:0.02em; white-space:nowrap; text-transform:none; font-weight:400;}
.logo-text em{font-style:italic;}
.logo .logo-caption{display:block; font-family:'Archivo',sans-serif; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--espresso-soft); font-weight:600; margin-top:2px;}
.nav-links{display:flex; gap:34px; align-items:center;}
.nav-links a{font-size:13.5px; font-weight:600; letter-spacing:0.03em; position:relative; padding-bottom:4px;}
.nav-links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--clay-deep); transition:width .3s ease;}
.nav-links a:hover::after, .nav-links a:focus-visible::after{width:100%;}
.nav-toggle{display:none; background:none; border:none; font-size:24px; cursor:pointer; color:var(--espresso);}
@media (max-width:1000px){
  .nav-links{position:fixed; top:0; right:-100%; height:100vh; width:min(78vw,320px); background:var(--cream); flex-direction:column; justify-content:center; align-items:flex-start; padding:0 42px; gap:28px; transition:right .4s cubic-bezier(.2,.8,.2,1); box-shadow:-10px 0 40px rgba(0,0,0,0.12);}
  .nav-links.open{right:0;}
  .nav-toggle{display:block;}
}

/* HERO */
.hero{position:relative; padding:150px 0 90px; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
.hero h1{font-size:clamp(38px,5vw,60px); line-height:1.06; margin:18px 0 22px;}
.hero h1 em{font-style:italic; color:var(--clay-deep);}
.hero p.lede{font-size:17px; color:var(--espresso-soft); max-width:440px; margin-bottom:34px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px;}
.hero-stats{display:flex; gap:34px;}
.hero-stats div p:first-child{font-family:'Instrument Serif',serif; font-size:26px;}
.hero-stats div p:last-child{font-size:12.5px; color:var(--espresso-soft); letter-spacing:0.02em;}
.hero-photo-wrap{position:relative;}
.hero-blob{position:absolute; inset:-6% -10% -6% 6%; background:var(--sand); border-radius:46% 54% 58% 42% / 42% 46% 54% 58%; z-index:0; transition:transform .1s linear;}
.hero-photo{position:relative; z-index:1; border-radius:8px 8px 90px 8px; overflow:hidden; box-shadow:0 30px 60px -20px rgba(43,33,24,0.28); transform-style:preserve-3d; transition:transform .12s ease-out;}
.hero-photo img{width:100%; aspect-ratio:1016/1350; object-fit:cover; object-position:top center;}
.hero-badge{position:absolute; bottom:26px; left:-28px; z-index:2; background:var(--espresso); color:var(--cream); padding:16px 20px; border-radius:4px; max-width:210px; box-shadow:0 16px 30px -10px rgba(0,0,0,0.35); font-size:13px; display:flex; gap:12px; align-items:center; transform:translateY(20px); opacity:0; transition:all .8s cubic-bezier(.2,.8,.2,1) .3s;}
.in-view .hero-badge{transform:translateY(0); opacity:1;}
.hero-badge b{font-family:'Instrument Serif',serif; font-size:22px; display:block; color:var(--clay-soft);}
.hero-badge svg{flex-shrink:0;}
.hero-badge--clickable{cursor:pointer; border:none; text-align:left; font-family:'Archivo',sans-serif; line-height:1.35; background:var(--espresso);}
.hero-badge--clickable:hover{background:var(--clay-deep);}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr; text-align:left;}
  .hero-photo{max-width:340px; margin:0 auto;}
  .hero-badge{left:0;}
}

/* Reviews modal */
.modal-overlay{position:fixed; inset:0; background:rgba(43,33,24,0.55); backdrop-filter:blur(3px); z-index:10000; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; transition:opacity .3s ease;}
.modal-overlay.open{opacity:1; pointer-events:auto;}
.modal-panel{background:var(--cream); border-radius:10px; max-width:620px; width:100%; max-height:85vh; overflow-y:auto; padding:40px 36px 32px; transform:translateY(24px) scale(.98); transition:transform .35s cubic-bezier(.2,.8,.2,1); box-shadow:0 40px 80px -20px rgba(0,0,0,0.4); position:relative;}
.modal-overlay.open .modal-panel{transform:translateY(0) scale(1);}
.modal-close{position:absolute; top:18px; right:18px; width:34px; height:34px; border-radius:50%; background:transparent; border:1px solid var(--line); color:var(--espresso); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease;}
.modal-close:hover{background:var(--sand);}
.modal-rating-head{display:flex; align-items:center; gap:16px; margin-bottom:6px;}
.modal-rating-head .stars{color:var(--clay-deep); font-size:20px; letter-spacing:2px;}
.modal-rating-head b{font-family:'Instrument Serif',serif; font-size:34px; font-weight:400; color:var(--clay-deep);}
.modal-panel .eyebrow{margin-bottom:14px;}
.modal-sub{font-size:13.5px; color:var(--espresso-soft); margin-bottom:28px;}
.review-card{border-top:1px solid var(--line); padding:18px 0;}
.review-card:first-of-type{border-top:none; padding-top:0;}
.review-card .stars{color:var(--clay-deep); font-size:13px; letter-spacing:2px; margin-bottom:6px; display:block;}
.review-card p{font-size:14.5px; margin-bottom:8px;}
.review-meta{font-size:12px; color:var(--espresso-soft); display:flex; gap:8px; align-items:center;}
.review-meta b{color:var(--espresso); font-weight:600;}
.modal-cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line);}
.modal-cta-row .btn{flex:1; min-width:180px; justify-content:center; text-align:center;}
.btn-book{background:var(--espresso); color:var(--cream); display:flex; align-items:center; justify-content:center; gap:8px;}
.btn-book span.tag{font-size:10px; letter-spacing:.08em; text-transform:uppercase; background:var(--clay-deep); color:var(--cream); padding:2px 7px; border-radius:3px; margin-left:4px;}
@media (max-width:520px){
  .modal-panel{padding:32px 22px 26px;}
  .modal-rating-head b{font-size:28px;}
}

.scroll-cue{position:absolute; bottom:24px; left:32px; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; display:flex; align-items:center; gap:10px; color:var(--espresso-soft);}
.scroll-cue .line{width:1px; height:30px; background:var(--espresso-soft); position:relative; overflow:hidden;}
.scroll-cue .line::after{content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--clay-deep); animation:scrollline 1.8s ease-in-out infinite;}
@keyframes scrollline{0%{top:-100%;} 50%{top:0%;} 100%{top:100%;}}
@media (max-width:760px){.scroll-cue{display:none;}}

/* REVEAL */
.reveal{opacity:0; transform:translateY(46px); transition:opacity 1s cubic-bezier(.16,.8,.24,1), transform 1s cubic-bezier(.16,.8,.24,1);}
.in-view .reveal, .reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-1{transition-delay:.05s;} .reveal-2{transition-delay:.2s;} .reveal-3{transition-delay:.35s;}

section{padding:100px 0;}
.section-head{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:54px;}
.section-head h2{font-size:clamp(28px,3.4vw,40px); margin-top:14px;}
.section-head p{color:var(--espresso-soft); font-size:15.5px; max-width:380px;}
@media (max-width:800px){.section-head{grid-template-columns:1fr;}}

/* TREATMENTS */
.treatments{background:var(--card); padding-bottom:50px;}
.t-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
.t-card{background:var(--cream); border-radius:6px; overflow:hidden; border:1px solid var(--line); transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s;}
.t-card:hover{transform:translateY(-8px); box-shadow:0 26px 40px -22px rgba(43,33,24,0.28);}
.t-img{aspect-ratio:4/3; overflow:hidden;}
.t-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.t-card:hover .t-img img{transform:scale(1.08);}
.t-body{padding:26px 24px 28px;}
.t-num{font-size:12px; color:var(--espresso-soft); letter-spacing:0.08em;}
.t-body h3{font-size:20px; margin:10px 0 8px;}
.t-body p{font-size:14px; color:var(--espresso-soft); margin-bottom:16px;}
.t-link{font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:6px; color:var(--clay-deep);}
.t-link svg{transition:transform .3s;}
.t-card:hover .t-link svg{transform:translateX(5px);}
@media (max-width:820px){.t-grid{grid-template-columns:1fr;}}

/* RESULTS — before / after slider */
.results-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.ba-wrap{position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/3.1; box-shadow:0 30px 50px -25px rgba(43,33,24,0.3);}
.ba-wrap img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.ba-after{clip-path:inset(0 0 0 50%);}
.ba-tag{position:absolute; bottom:14px; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; background:rgba(43,33,24,0.75); color:#fff; padding:5px 10px; border-radius:2px;}
.ba-before-tag{left:14px;} .ba-after-tag{right:14px;}
.ba-handle{position:absolute; top:0; bottom:0; left:50%; width:2px; background:#fff; z-index:5; pointer-events:none;}
.ba-handle::after{content:"⇔"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:#fff; color:var(--espresso); width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px;}
.ba-range{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; z-index:6; margin:0;}
.quote{font-family:'Instrument Serif',serif; font-style:italic; font-size:22px; line-height:1.5; margin-bottom:20px;}
.quote-by{font-size:13px; color:var(--espresso-soft); letter-spacing:0.03em;}
@media (max-width:820px){.results-grid{grid-template-columns:1fr;}}

/* ABOUT */
.about{background:var(--card);}
.about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center;}
.about-img{border-radius:6px 60px 6px 6px; overflow:hidden; aspect-ratio:4/5;}
.about-img img{width:100%; height:100%; object-fit:cover;}
.about h2{font-size:clamp(26px,3.2vw,38px); margin:14px 0 18px;}
.about p{color:var(--espresso-soft); font-size:15.5px; max-width:460px; margin-bottom:14px;}
.badge-list{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:16px;}
.badge-list span{font-size:13.5px; display:flex; align-items:center; gap:7px;}
@media (max-width:820px){.about-grid{grid-template-columns:1fr;} .about-img{max-width:320px;}}

/* TEAM / GALLERY */
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.team-grid figure{border-radius:6px; overflow:hidden; aspect-ratio:4/5; background:var(--sand);}
.team-grid img{width:100%; height:100%; object-fit:cover;}
.team-grid .team-empty{display:flex; align-items:center; justify-content:center; text-align:center; font-size:12.5px; letter-spacing:0.05em; color:var(--espresso-soft); padding:16px; border:1px dashed var(--clay-soft);}
@media (max-width:760px){.team-grid{grid-template-columns:1fr 1fr;} .team-grid figure:nth-child(3){grid-column:span 2;}}

/* MAP + CONTACT INFO (kept — practical addition alongside the restored contact CTA) */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; margin-top:60px;}
.contact-card{background:var(--cream); border-radius:8px; padding:36px; border:1px solid var(--line);}
.contact-card h3{font-size:15px; letter-spacing:0.06em; text-transform:uppercase; color:var(--espresso); font-family:'Archivo',sans-serif; font-weight:700; margin-bottom:18px;}
.contact-row{display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; font-size:14.5px;}
.contact-row:last-child{margin-bottom:0;}
.contact-row a{color:var(--clay-deep); font-weight:600;}
.map-embed{border-radius:8px; overflow:hidden; border:1px solid var(--line); aspect-ratio:4/3;}
.map-embed iframe{width:100%; height:100%; border:0;}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}

/* CTA BANNER */
.cta-banner{background:var(--espresso); color:var(--cream); border-radius:8px; padding:64px 50px; display:flex; justify-content:space-between; align-items:center; gap:30px; position:relative; overflow:hidden; flex-wrap:wrap;}
.cta-banner svg.bg-arc{position:absolute; right:-40px; top:-60px; opacity:0.5;}
.cta-banner h2{font-size:clamp(26px,3vw,36px); max-width:480px; position:relative; z-index:1; color:var(--cream);}
.cta-banner .btn-primary{background:var(--clay); position:relative; z-index:1;}
.cta-banner .btn-primary:hover{background:var(--clay-soft); color:var(--espresso);}
@media (max-width:760px){.cta-banner{flex-direction:column; align-items:flex-start; padding:44px 28px;}}

/* FOOTER */
footer{background:var(--espresso); color:var(--sand); padding:70px 0 26px; margin-top:0;}
.foot-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(248,242,231,0.14);}
.foot-grid h4{font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--clay-soft); margin-bottom:16px;}
.foot-grid a, .foot-grid p{font-size:13.5px; color:rgba(248,242,231,0.75); display:block; margin-bottom:9px; transition:color .25s;}
.foot-grid a:hover{color:var(--cream);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:22px; font-size:12.5px; color:rgba(248,242,231,0.5); flex-wrap:wrap; gap:10px;}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr; gap:32px 24px;} .foot-grid>*{min-width:0;} .foot-grid a,.foot-grid p{overflow-wrap:anywhere;}}

/* COURSES — scroll section within the one-page site */
.course-card h3{font-size:24px; margin-bottom:10px;}
.course-meta{display:flex; flex-wrap:wrap; gap:10px 24px; margin:16px 0 18px; font-size:13.5px; color:var(--espresso-soft);}
.course-meta b{color:var(--espresso);}

/* Performance / accessibility helpers */
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
:focus-visible{outline:2px solid var(--clay-deep); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
  html{scroll-behavior:auto;}
}

/* PRICES */
.prices-section{background:var(--card); padding-top:30px;}
.patch-note{display:flex; gap:14px; align-items:flex-start; background:var(--cream); border:1px solid var(--line); border-left:3px solid var(--clay-deep); border-radius:4px; padding:20px 24px; margin-bottom:28px; font-size:14.5px; color:var(--espresso-soft);}
.patch-note svg{flex:none; margin-top:2px;}
.patch-note b{color:var(--espresso);}
.price-groups{display:grid; gap:14px;}
.price-group{background:var(--cream); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.price-group summary, .faq-item summary{list-style:none; cursor:pointer;}
.price-group summary::-webkit-details-marker, .faq-item summary::-webkit-details-marker{display:none;}
.price-group summary{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 26px; font-family:'Instrument Serif',serif; font-size:24px; color:var(--espresso);}
.price-group summary::after{content:"+"; font-family:'Archivo',sans-serif; font-size:22px; color:var(--clay-deep); transition:transform .3s; margin-left:0; padding-left:6px;}
.price-group[open] summary::after{transform:rotate(45deg);}
.price-group summary:focus-visible, .faq-item summary:focus-visible{outline:2px solid var(--clay-deep); outline-offset:-4px;}
.pg-count{font-family:'Archivo',sans-serif; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--espresso-soft); font-weight:600; margin-left:auto;}
.price-list{list-style:none; border-top:1px solid var(--line);}
.price-list li{display:grid; grid-template-columns:1fr auto 90px; gap:18px; align-items:baseline; padding:15px 26px; border-bottom:1px solid var(--line); font-size:15px;}
.price-list li:last-child{border-bottom:none;}
.p-name{font-weight:600;}
.p-time{color:var(--espresso-soft); font-size:13.5px;}
.p-price{font-family:'Instrument Serif',serif; font-size:20px; color:var(--clay-deep); text-align:right; white-space:nowrap;}
.p-was{color:var(--espresso-soft); font-size:15px; opacity:.7; margin-right:4px;}
.price-foot{margin-top:22px; font-size:13.5px; color:var(--espresso-soft);}
.price-foot a{color:var(--clay-deep); text-decoration:underline; text-underline-offset:3px;}
@media (max-width:620px){
  .price-list li{grid-template-columns:1fr auto; row-gap:2px; padding:14px 18px;}
  .p-time{grid-column:1; grid-row:2;}
  .p-price{grid-column:2; grid-row:1 / span 2; align-self:center;}
  .price-group summary{padding:18px; font-size:21px;}
  .pg-count{display:none;}
}

/* ABOUT story */
.about-quote{margin:26px 0 8px; padding:6px 0 6px 24px; border-left:2px solid var(--clay); font-family:'Instrument Serif',serif; font-size:clamp(20px,2.2vw,25px); line-height:1.4; color:var(--espresso);}
.about-quote p+p{margin-top:12px;}
.about-quote+p{margin-top:20px;}
.about-quote .about-by{display:block; margin-top:14px; font-size:12.5px; font-family:'Archivo',sans-serif; font-style:normal; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--clay-deep); font-weight:700;}

/* QUALIFICATIONS */
.qualifications{background:var(--card);}
.cert-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:26px; align-items:start;}
.cert{background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:14px; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s;}
.cert:hover{transform:translateY(-6px); box-shadow:0 26px 40px -22px rgba(43,33,24,0.28);}
.cert a{display:block; border-radius:3px; overflow:hidden; background:var(--sand);}
.cert img{width:100%; height:auto; display:block;}
.cert figcaption{padding:14px 6px 4px; font-size:13px; color:var(--espresso-soft); line-height:1.5;}
.cert figcaption b{color:var(--espresso);}

/* COURSES */
.courses-section{background:var(--cream);}
.course-facts{list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:0; border:1px solid var(--line); border-radius:6px; background:var(--card); margin-bottom:38px; overflow:hidden;}
.course-facts li{padding:20px 22px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:6px; font-size:13.5px; color:var(--espresso-soft);}
.course-facts li:last-child{border-right:none;}
.course-facts b{font-size:11.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--clay-deep);}
.course-facts span{color:var(--espresso);}
.course-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px;}
.course-card{background:var(--card); border:1px solid var(--line); border-radius:8px; padding:32px; display:flex; flex-direction:column; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s;}
.course-card:hover{transform:translateY(-6px); box-shadow:0 26px 40px -22px rgba(43,33,24,0.28);}
.course-card h3{font-size:26px; margin:12px 0 20px;}
.course-prices{width:100%; border-collapse:collapse; margin-bottom:26px; font-size:14.5px;}
.course-prices th, .course-prices td{padding:12px 6px; border-bottom:1px solid var(--line); text-align:left;}
.course-prices thead th{font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--espresso-soft);}
.course-prices tbody th{font-weight:600;}
.course-prices td{font-family:'Instrument Serif',serif; font-size:20px; color:var(--clay-deep);}
.course-prices td.na{font-family:'Archivo',sans-serif; font-size:12.5px; color:var(--espresso-soft);}
.course-card .btn{margin-top:auto; align-self:flex-start;}
.course-cta{display:flex; align-items:center; gap:28px; margin-top:38px; padding:30px 34px; background:var(--espresso); color:var(--cream); border-radius:8px;}
.course-cta img{width:120px; height:auto; flex:none; border-radius:3px;}
.course-cta>div{flex:1;} .course-cta p{ font-size:15px; opacity:.9;}
.course-cta .btn-primary{background:var(--clay); flex:none;}
.course-cta .btn-primary:hover{background:var(--clay-soft); color:var(--espresso);}
@media (max-width:760px){.course-cta{flex-direction:column; align-items:flex-start;} .course-facts li{border-right:none; border-bottom:1px solid var(--line);} .course-facts li:last-child{border-bottom:none;} .course-card{padding:26px;}}

/* FAQ */
.faq-section{background:var(--card);}
.faq-list{max-width:820px; margin:0 auto; border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{display:flex; justify-content:space-between; gap:20px; padding:22px 4px; font-family:'Instrument Serif',serif; font-size:21px; color:var(--espresso);}
.faq-item summary::after{content:"+"; font-family:'Archivo',sans-serif; font-size:22px; color:var(--clay-deep); transition:transform .3s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 4px 24px; color:var(--espresso-soft); font-size:15px; max-width:680px;}

@media (max-width:1180px){.nav-links{gap:22px;}}

@media (max-width:560px){
  .nav-book{display:none;}
  .logo-text{font-size:18px;}
}

/* Meet Daniela: two photos + presentation, certificates aligned */
.team-grid--two{grid-template-columns:repeat(2,1fr); max-width:760px; margin:0 auto;}
.team-grid--two .team-empty{display:none;}
@media (max-width:760px){.team-grid--two figure:nth-child(3){grid-column:auto;}}
.team-bio{max-width:760px; margin:38px auto 0; text-align:center;}
.team-bio h3{font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(26px,3vw,34px); color:var(--espresso); margin:0;}
.team-role{margin:6px 0 16px; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--clay);}
.team-bio > p:not(.team-role){color:var(--espresso-soft); line-height:1.7; margin:0 auto; max-width:620px;}
.team-titles{list-style:none; padding:0; margin:22px 0 20px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.team-titles li{border:1px solid var(--line); background:var(--card); border-radius:999px; padding:8px 16px; font-size:13px; color:var(--espresso);}
.cert-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); align-items:stretch;}
.cert{display:flex; flex-direction:column;}
.cert a{aspect-ratio:4/3;}
.cert img{height:100%; object-fit:contain;}

/* Polish: photo 2 trims its own white margin, course grid centres last row */
.team-grid--two figure:nth-child(2) img{transform:scale(1.14);}
.course-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:26px;}
.course-grid > *{flex:1 1 300px; max-width:calc((100% - 52px)/3); min-width:300px;}
@media (max-width:1000px){.course-grid > *{max-width:calc((100% - 26px)/2);}}
@media (max-width:680px){.course-grid > *{max-width:100%; min-width:0;}}

/* Hero fix: the <img height="1600"> attribute was stretching the photo to 1600px tall and pushing the text down */
.hero-photo img{height:auto; max-height:calc(100vh - 230px); min-height:380px; object-fit:cover; object-position:top center;}
.hero{padding:130px 0 80px;}
@media (max-width:900px){.hero-photo img{max-height:none; min-height:0;}}

/* COURSES: editorial list, titles first */
.course-grid{display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; border-top:1px solid var(--line);}
.course-grid > *{flex:none; max-width:none; min-width:0;}
.course-row{display:grid; grid-template-columns:96px minmax(0,1.25fr) minmax(0,1.1fr) auto; align-items:center; gap:28px; padding:38px 30px; border-bottom:1px solid var(--line); background:transparent; position:relative; overflow:hidden; transition:background .5s cubic-bezier(.2,.8,.2,1), color .5s;}
.course-row::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--clay); transform:scaleY(0); transform-origin:top; transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.course-row:hover::before{transform:scaleY(1);}
.course-row:hover{background:var(--espresso);}
.course-num{font-family:'Instrument Serif',serif; font-size:76px; line-height:1; color:var(--clay-soft); font-style:italic; transition:color .5s;}
.course-row:hover .course-num{color:var(--clay);}
.course-title .eyebrow{margin:0 0 10px;}
.course-row h3{font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(32px,3.6vw,48px); line-height:1.04; margin:0; color:var(--espresso); transition:color .5s;}
.course-from{margin-top:12px; font-size:13.5px; color:var(--espresso-soft); letter-spacing:.02em; transition:color .5s;}
.course-row .course-prices{margin:0; font-size:14px;}
.course-row .course-prices th, .course-row .course-prices td{padding:9px 8px;}
.course-row .course-btn, .course-row .btn{margin:0; align-self:center; white-space:nowrap;}
.course-row:hover h3{color:var(--cream);}
.course-row:hover .course-from, .course-row:hover .eyebrow, .course-row:hover .course-prices thead th{color:var(--clay-soft);}
.course-row:hover .course-prices th, .course-row:hover .course-prices td{border-color:rgba(248,242,231,.18); color:var(--cream);}
.course-row:hover .course-prices td.na{color:var(--clay-soft);}
.course-row:hover .btn{background:var(--clay); border-color:var(--clay); color:var(--cream);}
@media (max-width:1020px){
  .course-row{grid-template-columns:70px 1fr; row-gap:22px; padding:32px 20px;}
  .course-num{font-size:56px;}
  .course-row .course-prices{grid-column:1 / -1;}
  .course-row .btn{grid-column:1 / -1; justify-self:start;}
}
@media (max-width:560px){
  .course-row{grid-template-columns:1fr; gap:16px;}
  .course-num{font-size:44px;}
  .course-row h3{font-size:34px;}
}
@media (hover:none){.course-row:hover{background:transparent;}}

/* Certificate showcase inside courses */
.cert-showcase{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; align-items:center; margin-top:56px; padding:48px; background:var(--card); border:1px solid var(--line); border-radius:8px;}
.cert-showcase h3{font-family:'Instrument Serif',serif; font-weight:400; font-size:clamp(28px,3vw,38px); line-height:1.1; margin:12px 0 22px;}
.cert-showcase ul{list-style:none; display:grid; gap:14px;}
.cert-showcase li{position:relative; padding-left:26px; color:var(--espresso-soft); font-size:15px; line-height:1.55;}
.cert-showcase li::before{content:""; position:absolute; left:0; top:.55em; width:12px; height:12px; border-radius:50%; background:var(--clay);}
.cert-showcase-img img{width:100%; height:auto; display:block; border-radius:4px; box-shadow:0 30px 50px -24px rgba(43,33,24,.4); transform:rotate(-1.2deg); transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.cert-showcase-img:hover img{transform:rotate(0) scale(1.02);}
@media (max-width:900px){.cert-showcase{grid-template-columns:1fr; gap:32px; padding:28px 22px;}}

/* Instagram icon */
.ig-ico{width:17px; height:17px; fill:currentColor; flex:none; vertical-align:-3px;}
.nav-links a.nav-ig{display:inline-flex; align-items:center; gap:7px;}
.foot-grid a.foot-ig{display:flex; align-items:center; gap:8px;}
.contact-ico{width:18px; height:18px;}
@media (min-width:1001px){.nav-links a.nav-ig span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}}

/* Secondary booking link under the WhatsApp button */
.alt-book{display:inline-block;margin-top:14px;font-size:13px;letter-spacing:.02em;color:var(--espresso-soft);text-decoration:underline;text-underline-offset:3px;}
.alt-book:hover{color:var(--espresso);}
.alt-book--light{color:var(--cream);opacity:.8;margin-top:2px;}
.alt-book--light:hover{color:var(--cream);opacity:1;}

/* Mobile nav fixes: close button above the panel, 44px touch targets, booking button inside the menu */
@media (max-width:1000px){
  .nav-links{z-index:1000;}
  .nav-toggle{position:relative; z-index:1001; width:44px; height:44px; font-size:0; line-height:1;}
  .nav-toggle::before{content:"\2630"; font-size:24px;}
  .nav-toggle[aria-expanded="true"]::before{content:"\2715"; font-size:22px;}
  .nav-links a{padding:10px 0;}
}
.nav-links a.nav-ig{min-width:44px; min-height:44px; justify-content:center;}
.nav-links a.nav-book-m{display:none;}
.nav-links a.nav-book-m::after{display:none;}
@media (max-width:560px){.nav-links a.nav-book-m{display:inline-flex; color:var(--cream); padding:14px 26px; margin-top:8px;}}
.hero-ctas + .alt-book{display:block; width:max-content; margin:-30px 0 44px;}
.alt-book{padding:12px 0;}

/* Mobile hero: Daniela's photo first, visible without scrolling */
@media (max-width:760px){
  .hero{padding:92px 0 56px;}
  .hero-grid{gap:26px;}
  .hero-photo-wrap{order:-1;}
  .hero-blob{inset:-4% -6% -4% 8%;}
  .hero-photo{max-width:none; border-radius:8px 8px 60px 8px;}
  .hero-photo img{aspect-ratio:auto; height:44vh; min-height:300px; max-height:420px; object-position:50% 12%;}
  .hero-badge{bottom:14px; left:12px; padding:10px 14px; font-size:12px;}
  .hero-badge b{font-size:18px;}
  .hero h1{margin:10px 0 14px;}
  .hero p.lede{margin-bottom:24px;}
}
