
:root{--cream:#fbf7ef;--ivory:#fffdf8;--purple:#43275d;--plum:#654477;--gold:#b99a55;--rose:#b97882;--ink:#302936;--muted:#756d78;--line:#e6dccb;--shadow:0 24px 70px rgba(67,39,93,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.7}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--gold);font-weight:600}.serif{font-family:'Cormorant Garamond'}.script{font-family:'Great Vibes';color:var(--rose);font-weight:400}.btn{display:inline-block;padding:14px 24px;border-radius:999px;background:var(--purple);color:#fff;font-weight:600;box-shadow:0 10px 25px rgba(67,39,93,.18);transition:.25s}.btn:hover{transform:translateY(-2px)}.btn.alt{background:transparent;color:var(--purple);border:1px solid var(--gold);box-shadow:none}
.site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(251,247,239,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(185,154,85,.16)}.navin{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:'Cormorant Garamond';font-size:22px;font-weight:600;color:var(--purple)}.brand img{width:54px;height:54px;object-fit:contain}.links{display:flex;gap:24px;align-items:center;font-size:14px;color:var(--muted)}.links a:hover{color:var(--purple)}
.hero{padding:150px 0 105px;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 35%,#f2e7df 0,#fbf7ef 38%,#fbf7ef 72%)}.hero:after{content:'';position:absolute;width:540px;height:540px;border:1px solid rgba(185,154,85,.2);border-radius:50%;right:-190px;top:110px}.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.hero h1{font-family:'Cormorant Garamond';font-size:clamp(58px,7vw,92px);line-height:.9;margin:15px 0;color:var(--purple);font-weight:500}.hero p{font-size:19px;max-width:650px;color:#5d5660;margin:26px 0}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-art{background:rgba(255,253,248,.65);border:1px solid rgba(185,154,85,.25);border-radius:50% 50% 46% 46%;padding:34px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.hero-art img{width:100%;max-width:440px;display:block;border-radius:50%}
section{padding:100px 0}.center{text-align:center}.section-title{font-family:'Cormorant Garamond';font-size:54px;color:var(--purple);line-height:1.05;margin:10px 0 18px;font-weight:500}.lead{max-width:730px;margin:0 auto;color:var(--muted);font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.card{background:var(--ivory);padding:35px;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 35px rgba(67,39,93,.05);text-align:left}.icon{font-size:28px;color:var(--gold)}.card h3{font-family:'Cormorant Garamond';font-size:31px;color:var(--purple);margin:10px 0 7px}.card p{color:var(--muted);margin:0}.split{background:#f3ece5}.splitgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.quote{font-family:'Cormorant Garamond';font-size:36px;line-height:1.2;color:var(--purple)}.list{display:grid;gap:18px}.list div{display:flex;gap:14px;align-items:flex-start}.dot{width:26px;height:26px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);flex:none;margin-top:4px}.list strong{display:block;color:var(--purple)}
.programs{background:var(--purple);color:#fdf9f2}.programs .section-title{color:#fff}.programs .lead{color:#ddd4df}.programcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.program{padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.055);text-align:left}.program h3{font-family:'Cormorant Garamond';font-size:31px;margin:0 0 10px;color:#fff}.program p{color:#d8cedd}.program small{color:#d8b970;text-transform:uppercase;letter-spacing:1.8px}.program .btn.alt{color:#fff;border-color:#d8b970}
.experiences{background:#fffaf3}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:45px}.experience{padding:35px;background:#fff;border:1px solid var(--line);border-radius:24px}.experience h3{font-family:'Cormorant Garamond';font-size:34px;color:var(--purple);margin:0 0 8px}.experience p{color:var(--muted);margin:0}.experience span{display:inline-block;color:var(--rose);font-family:'Great Vibes';font-size:30px;margin-bottom:6px}
.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.portrait{min-height:430px;border-radius:18px 18px 18px 18px;background:linear-gradient(145deg,#ead7d5,#efe5d7);display:grid;place-items:center;overflow:hidden}.portrait img{width:78%;filter:drop-shadow(0 20px 25px rgba(67,39,93,.12))}.quote2{font-family:'Great Vibes';font-size:43px;color:var(--rose)}.manifesto{padding-top:0}.manifesto-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:65px 0;text-align:center}.manifesto-box p{font-family:'Cormorant Garamond';font-size:34px;color:var(--purple);max-width:800px;margin:0 auto}.manifesto-box .script{font-size:44px}
.cta{padding:90px 0;background:radial-gradient(circle at center,#fffaf0 0,#f5e8e1 60%,#efe1d8 100%)}.cta .box{border:1px solid rgba(185,154,85,.4);border-radius:28px;padding:55px;text-align:center;background:rgba(255,253,248,.65)}footer{padding:35px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:800px){.links{display:none}.grid,.splitgrid,.about,.experience-grid{grid-template-columns:1fr}.hero{padding-top:125px}.hero-art{max-width:500px;margin:auto}.cards,.programcards{grid-template-columns:1fr}.section-title{font-size:44px}.hero h1{font-size:65px}.about{gap:35px}}


.page-hero{padding:155px 0 90px;background:radial-gradient(circle at 75% 35%,#f2e7df 0,#fbf7ef 45%,#fbf7ef 72%)} .page-hero h1{font-family:'Cormorant Garamond';font-size:clamp(52px,7vw,78px);font-weight:500;color:var(--purple);margin:10px 0 18px}.serif-lead{font-family:'Cormorant Garamond';font-size:25px;color:var(--purple)}.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.site-header .links{flex-wrap:wrap}.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--purple)}@media(max-width:980px){.site-header .links{gap:12px;font-size:12px}.site-header .brand span{display:none}}@media(max-width:800px){.menu-toggle{display:block}.site-header .links{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header .links.open{display:flex}.booking-grid{grid-template-columns:1fr}}

/* Consultation sections - preserves the site's existing typography and palette. */
.consultation-copy{max-width:760px;margin:22px auto 28px;color:var(--muted);font-size:17px;line-height:1.85}
.consultation-copy p{margin:0 0 17px}
.consultation-copy p:last-child{margin-bottom:0}
.consultation-home .box{max-width:980px;margin:0 auto}
.consultation-page{padding-bottom:96px}
.consultation-page .section-title{font-size:clamp(48px,6.5vw,72px)}
.consultation-page .btn{margin-top:7px}
.booking-note{font-size:14px;color:var(--muted);margin:18px 0 0}
.consultation-next{padding:80px 0 95px}
.booking-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:900px;margin:0 auto}
@media(max-width:800px){.consultation-copy{font-size:16px}.consultation-home .box{padding:36px 22px}.booking-details{grid-template-columns:1fr}.consultation-next{padding:55px 0 70px}}

/* October 2026 — About portrait and Piano page photography */
.portrait.nature-portrait{
  min-height:0;
  aspect-ratio: 4 / 5;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border:0;
  overflow:visible;
}
.portrait.nature-portrait img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  filter:none;
  /* Softly blend the four photo edges into the page, without a visible frame. */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 9%, #000 91%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent 0%, #000 9%, #000 91%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-composite: intersect;
}
.piano-intro{max-width:465px; margin:auto;}
.piano-intro .quote{margin:0 0 12px;}
.piano-visual{
  margin:0 -12px;
  width:calc(100% + 24px);
}
.piano-visual img{
  display:block;
  width:100%;
  height:auto;
  /* Feathering is embedded in this image for a seamless blend. */
}
@media(max-width:800px){
  .piano-intro{max-width:420px;}
  .piano-visual{margin:0 auto;width:min(100%,420px)}
  .portrait.nature-portrait{max-width:470px;width:100%;margin:0 auto}
}
