
:root {
  --black:#090909;
  --ink:#171417;
  --white:#fffdfd;
  --pink:#e99daf;
  --pink-dark:#c77d91;
  --pink-light:#f5ccd5;
}
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--black); }
body { font-family:Georgia,"Times New Roman",serif; color:var(--white); }
header {
  min-height:116px; padding:10px clamp(24px,5vw,78px);
  display:flex; align-items:center; justify-content:space-between;
  background:#fff; color:var(--ink); gap:36px;
}
.brand { display:flex; align-items:center; flex:0 0 auto; }
.logo { width:94px; height:94px; display:block; }
nav { display:flex; align-items:center; gap:clamp(18px,3vw,48px); }
nav a { color:var(--ink); text-decoration:none; font:600 15px/1.2 Arial,sans-serif; white-space:nowrap; }
nav a:hover { color:var(--pink-dark); }
.hero {
  min-height:calc(100vh - 116px); display:grid;
  grid-template-columns:minmax(500px,1.03fr) minmax(470px,.97fr);
  background:var(--black); overflow:hidden;
}
.copy { align-self:center; padding:68px clamp(45px,8vw,128px) 95px; z-index:1; }
.kicker { color:var(--pink); text-transform:uppercase; letter-spacing:.34em; font:600 14px Arial,sans-serif; }
.name { margin:25px 0 24px; font:400 clamp(24px,2.1vw,34px) Georgia,serif; color:#fff; }
h1 { margin:0; font:700 clamp(52px,6vw,90px)/.99 Arial,sans-serif; letter-spacing:-.045em; }
h1 span { display:block; }
h1 .pink { color:var(--pink); }
.tagline { max-width:620px; margin:36px 0 0; color:#f7f2f3; font:400 clamp(21px,2vw,27px)/1.5 Georgia,serif; }
.cta { display:inline-block; margin-top:42px; padding:17px 34px; border:1px solid var(--pink); border-radius:30px; color:var(--white); text-decoration:none; font:600 12px Arial,sans-serif; letter-spacing:.16em; }
.cta:hover { background:var(--pink); color:var(--black); }
.portrait-wrap { position:relative; min-height:calc(100vh - 116px); background:#fff; overflow:hidden; }
.portrait { position:absolute; inset:0; width:120%; height:100%; object-fit:cover; object-position:left center; filter:grayscale(1); }
.portrait-wrap:before { content:""; position:absolute; inset:0 auto 0 0; width:26%; z-index:1; background:linear-gradient(90deg,var(--black),transparent); }
.pink-line { position:absolute; z-index:2; left:-3%; right:-3%; bottom:6%; height:95px; border-top:2px solid var(--pink-dark); transform:rotate(-3deg); opacity:.9; }
.hero-quote { width:50%; margin:0 0 0 auto; padding:24px clamp(28px,5vw,78px) 30px; border-top:1px solid rgba(233,157,175,.45); background:var(--black); color:var(--pink-light); text-align:center; font:italic clamp(18px,2vw,25px)/1.5 Georgia,serif; }
@media (max-width:850px) {
 header { min-height:90px; padding:8px 20px; gap:12px; }
 .logo { width:72px; height:72px; }
 nav { gap:13px; overflow-x:auto; }
 nav a { font-size:12px; }
 .hero { min-height:calc(100vh - 90px); grid-template-columns:1fr; position:relative; }
 .copy { padding:56px 28px 55px; background:linear-gradient(90deg,rgba(9,9,9,.94),rgba(9,9,9,.72)); }
 .portrait-wrap { position:absolute; inset:0; opacity:.30; min-height:100%; }
 .portrait-wrap:before { width:100%; background:linear-gradient(90deg,rgba(9,9,9,.85),rgba(9,9,9,.3)); }
 .tagline { max-width:540px; }
 .hero-quote { width:100%; padding:22px 26px 26px; }
}
@media (max-width:590px) {
 header { align-items:flex-start; flex-direction:column; padding:10px 16px 14px; }
 .brand { margin:auto; }
 nav { width:100%; justify-content:flex-start; gap:18px; padding:4px 0; }
 nav a { font-size:11px; }
 .copy { padding:54px 22px 52px; }
 h1 { font-size:clamp(48px,13vw,72px); }
 .tagline { font-size:21px; }
}

.about { background:#fffdfd; color:#171417; padding:100px clamp(28px,10vw,150px) 110px; }
.about-inner { max-width:1120px; margin:0 auto; }
.about-layout { display:grid; grid-template-columns:minmax(250px, 330px) minmax(0, 1fr); gap:clamp(36px,6vw,84px); align-items:center; }
.about-photo-wrap { position:relative; width:min(100%,300px); aspect-ratio:2/3; margin:0 auto; padding:10px; background:#fff; border:2px solid #d8a1ad; border-radius:50%; overflow:hidden; box-shadow:0 24px 58px rgba(0,0,0,.18), 12px 12px 0 rgba(199,125,145,.24); }
.about-photo-wrap:before { content:""; position:absolute; inset:6px; border:1px solid rgba(199,125,145,.72); border-radius:50%; pointer-events:none; z-index:1; }
.about-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:left center; border-radius:50%; }
@media (max-width:850px) { .about-layout { grid-template-columns:1fr; gap:38px; } .about-photo-wrap { width:min(78vw,330px); } }
.about-label { color:#c77d91; text-transform:uppercase; letter-spacing:.28em; font:600 12px Arial,sans-serif; }
.about h2 { margin:18px 0 30px; color:#090909; font:700 clamp(42px,5vw,64px)/1.05 Arial,sans-serif; letter-spacing:-.04em; }
.about p { margin:0 0 20px; color:#393438; font:400 clamp(17px,1.45vw,20px)/1.75 Georgia,serif; }
.about .about-close { margin-top:34px; color:#090909; font-weight:700; }
.about .about-close span { color:#c77d91; }
@media (max-width:850px) { .about { padding:72px 28px 82px; } }


.book-section { background:var(--black); color:var(--white); padding:100px clamp(28px,8vw,120px); }
.book-inner { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(44px,7vw,100px); align-items:center; }
.book-photo-wrap { position:relative; width:min(100%,420px); aspect-ratio:4/5; margin:0 auto; padding:12px; background:#fff; border:2px solid #d8a1ad; border-radius:50%; overflow:hidden; box-shadow:0 24px 58px rgba(0,0,0,.42), 12px 12px 0 rgba(199,125,145,.24); }
.book-photo-wrap:before { content:""; position:absolute; inset:6px; border:1px solid rgba(199,125,145,.72); border-radius:50%; pointer-events:none; z-index:1; }
.book-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; border-radius:50%; }
.book-label { color:var(--pink); text-transform:uppercase; letter-spacing:.28em; font:600 12px Arial,sans-serif; }
.book-section h2 { margin:18px 0 10px; color:#fff; font:700 clamp(38px,4.5vw,62px)/1.06 Arial,sans-serif; letter-spacing:-.04em; }
.book-subtitle { margin:0 0 32px; color:var(--pink); font:italic 400 clamp(20px,2vw,26px)/1.35 Georgia,serif; }
.book-section p { margin:0 0 18px; color:#f0e9eb; font:400 clamp(16px,1.25vw,18px)/1.75 Georgia,serif; }
.book-section .book-hook { color:#fff; font-size:clamp(20px,1.8vw,24px); line-height:1.55; }
.book-section .book-quote { margin-top:30px; padding-left:20px; border-left:2px solid var(--pink); color:var(--pink-light); font-style:italic; }
@media (max-width:850px) { .book-section { padding:72px 28px 82px; } .book-inner { grid-template-columns:1fr; gap:48px; } .book-photo-wrap { max-width:420px; } }
@media (max-width:590px) { .book-section { padding:58px 22px 68px; } .book-photo-wrap { box-shadow:10px 10px 0 rgba(199,125,145,.2); } }


.dincolo-section { background:#101012; color:#fff; padding:clamp(72px,9vw,120px) clamp(24px,8vw,120px); border-top:1px solid rgba(233,157,175,.32); }
.dincolo-inner { max-width:1240px; margin:0 auto; }
.dincolo-layout { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(36px,7vw,92px); align-items:start; }
.dincolo-brand-card { position:sticky; top:28px; padding:18px; background:#fff; border:1px solid #c99a4a; box-shadow:0 18px 55px rgba(0,0,0,.35); }
.dincolo-logo { display:block; width:100%; height:auto; }
.dincolo-label { color:#d8ae65; text-transform:uppercase; letter-spacing:.28em; font:600 12px Arial,sans-serif; }
.dincolo-copy h2 { margin:16px 0 20px; color:#fff; font:700 clamp(34px,4.2vw,58px)/1.08 Arial,sans-serif; letter-spacing:-.035em; }
.dincolo-copy p { margin:0 0 18px; color:#eee9e4; font:400 clamp(16px,1.2vw,18px)/1.75 Georgia,serif; }
.dincolo-copy .dincolo-lead { color:#d8ae65; font-size:clamp(19px,1.5vw,23px); line-height:1.55; }
.dincolo-copy strong { color:#fff; }
.dincolo-audience { margin-top:34px; padding:24px 26px; border-left:2px solid #d8ae65; background:rgba(255,255,255,.045); }
.dincolo-audience h3 { margin:0 0 10px; color:#d8ae65; font:700 19px Arial,sans-serif; }
.dincolo-audience p { margin-bottom:8px; }
.dincolo-audience .dincolo-mantra { margin:10px 0 0; color:#f5ccd5; font-weight:700; letter-spacing:.03em; }
@media (max-width:850px) { .dincolo-section { padding:72px 28px 82px; } .dincolo-layout { grid-template-columns:1fr; gap:34px; } .dincolo-brand-card { position:static; width:min(100%,390px); margin:0 auto; } }
@media (max-width:590px) { .dincolo-section { padding:58px 22px 68px; } .dincolo-brand-card { padding:12px; } .dincolo-audience { padding:20px; } }


.programs-section { background:#f8f1ef; color:#171417; padding:clamp(72px,9vw,120px) clamp(24px,8vw,120px); }
.programs-inner { max-width:1240px; margin:0 auto; }
.programs-heading { max-width:760px; margin:0 auto 48px; text-align:center; }
.programs-label { color:#a46f70; text-transform:uppercase; letter-spacing:.28em; font:600 12px Arial,sans-serif; }
.programs-heading h2 { margin:15px 0 16px; font:700 clamp(38px,5vw,64px)/1.05 Arial,sans-serif; letter-spacing:-.04em; }
.programs-heading p { margin:0; color:#5d5153; font:400 clamp(17px,1.5vw,20px)/1.65 Georgia,serif; }
.programs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.program-card { display:flex; flex-direction:column; padding:28px; background:#fff; border:1px solid #ead7d8; border-radius:22px; box-shadow:0 12px 34px rgba(70,37,43,.07); }
.program-card.featured { border:2px solid #c77d91; box-shadow:0 16px 40px rgba(199,125,145,.16); }
.program-card h3 { margin:0 0 10px; font:700 24px Arial,sans-serif; color:#211a1c; }
.program-card .program-duration { color:#a46f70; font:italic 17px Georgia,serif; }
.program-card .program-price { margin:22px 0 10px; color:#a46f70; font:700 30px Georgia,serif; }
.program-card p { margin:0 0 22px; color:#5d5153; font:400 16px/1.6 Georgia,serif; }
.program-cta { display:inline-flex; align-items:center; justify-content:center; margin-top:auto; min-height:48px; padding:12px 20px; background:#171417; border-radius:28px; color:white; text-decoration:none; font:700 12px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.program-card.featured .program-cta { background:#c77d91; }
.program-cta:hover { filter:brightness(1.08); }
.program-contact { margin:38px auto 0; max-width:800px; padding:28px; border-radius:20px; background:#211a1c; color:#fff; text-align:center; }
.program-contact h3 { margin:0 0 12px; font:700 24px Arial,sans-serif; }
.program-contact p { margin:0 auto 18px; color:#f1e7e9; font:400 17px/1.6 Georgia,serif; }
.program-contact .selected-program { color:#f5ccd5; font-weight:700; }
@media (max-width:720px) { .programs-grid { grid-template-columns:1fr; } .programs-section { padding:64px 22px 74px; } .program-card { padding:24px; } }


.bianca-program { margin:58px auto 0; padding:clamp(28px,5vw,62px); border:1px solid #d8a1ad; border-radius:28px; background:linear-gradient(135deg,#211a1c 0%,#302126 60%,#211a1c 100%); color:#fff; box-shadow:0 24px 58px rgba(70,37,43,.18); }
.bianca-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.48fr); gap:34px; align-items:center; }
.bianca-eyebrow { color:#f5ccd5; text-transform:uppercase; letter-spacing:.24em; font:600 12px Arial,sans-serif; }
.bianca-program h3 { margin:14px 0 8px; color:#fff; font:700 clamp(34px,4.8vw,58px)/1 Arial,sans-serif; letter-spacing:.06em; }
.bianca-expansion { color:#e9b3c0; font:italic 18px/1.5 Georgia,serif; }
.bianca-program .bianca-quote { margin:22px 0 0; color:#fff; font:italic 22px/1.5 Georgia,serif; }
.bianca-price-box { padding:24px; border:1px solid rgba(245,204,213,.4); border-radius:20px; background:rgba(255,255,255,.06); text-align:center; }
.bianca-price { display:block; margin:4px 0; color:#f5ccd5; font:700 34px Georgia,serif; }
.bianca-price-box p { margin:4px 0 16px; color:#eee3e6; font:15px/1.5 Georgia,serif; }
.bianca-program .program-cta { background:#c77d91; }
.bianca-intro { margin:34px 0 26px; color:#f3e9eb; font:17px/1.75 Georgia,serif; }
.bianca-intro strong { color:#fff; }
.bianca-subhead { margin:34px 0 16px; color:#f5ccd5; font:700 22px Arial,sans-serif; }
.bianca-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.bianca-step { padding:17px; border:1px solid rgba(245,204,213,.22); border-radius:16px; background:rgba(255,255,255,.045); }
.bianca-step b { display:block; margin-bottom:6px; color:#f5ccd5; font:700 17px Arial,sans-serif; }
.bianca-step span { color:#eee3e6; font:15px/1.55 Georgia,serif; }
.bianca-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.bianca-list { margin:0; padding:0; list-style:none; }
.bianca-list li { margin:0 0 10px; color:#f3e9eb; font:16px/1.55 Georgia,serif; }
.bianca-list li:before { content:'✓'; color:#e9b3c0; font-weight:700; margin-right:10px; }
.bianca-bonuses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bianca-bonus { padding:17px; border-radius:15px; background:rgba(255,255,255,.06); color:#f3e9eb; font:15px/1.55 Georgia,serif; }
.bianca-bonus strong { display:block; color:#f5ccd5; margin-bottom:4px; }
.bianca-guarantee { margin-top:24px; padding:20px 22px; border-left:2px solid #e9b3c0; background:rgba(255,255,255,.05); color:#f3e9eb; font:15px/1.65 Georgia,serif; }
.bianca-final { margin:28px 0 0; color:#fff; font:700 clamp(20px,2.5vw,28px)/1.45 Georgia,serif; text-align:center; }
.bianca-actions { margin-top:24px; text-align:center; }
@media (max-width:760px) { .bianca-top,.bianca-lists { grid-template-columns:1fr; } .bianca-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .bianca-steps,.bianca-bonuses { grid-template-columns:1fr; } .bianca-program { padding:25px 20px; border-radius:22px; } .bianca-program .bianca-quote { font-size:19px; } }




.program-request-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; text-align:left; }
.program-request-form .field { display:flex; flex-direction:column; gap:7px; }
.program-request-form .field.full { grid-column:1/-1; }
.program-request-form label,.program-request-form legend { color:#3e3436; font:600 14px Arial,sans-serif; }
.program-request-form input,.program-request-form select { width:100%; min-height:48px; padding:12px 14px; border:1px solid #e3d3d5; border-radius:10px; background:#fff; color:#211a1c; font:16px Arial,sans-serif; }
.program-request-form fieldset { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:18px; padding:0; border:0; }
.program-request-form fieldset label { display:flex; align-items:center; gap:8px; font-weight:400; }
.program-request-form input[type=radio],.program-request-form input[type=checkbox] { width:18px; min-height:18px; accent-color:#c77d91; }
.program-consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:10px; color:#5d5153; font:14px/1.5 Georgia,serif; }
.program-request-form button { grid-column:1/-1; min-height:52px; border:0; border-radius:28px; background:#171417; color:#fff; font:700 13px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.program-request-form button:hover { background:#c77d91; }
@media (max-width:560px) { .program-request-form { grid-template-columns:1fr; } .program-request-form .field.full,.program-request-form fieldset,.program-consent,.program-request-form button { grid-column:1; } }


.content-section { padding:clamp(68px,8vw,108px) clamp(24px,8vw,120px); }
.content-inner { max-width:1240px; margin:0 auto; }
.content-heading { max-width:760px; margin:0 auto 42px; text-align:center; }
.content-eyebrow { color:#a46f70; text-transform:uppercase; letter-spacing:.26em; font:600 12px Arial,sans-serif; }
.content-heading h2 { margin:14px 0; color:#171417; font:700 clamp(38px,5vw,62px)/1.05 Arial,sans-serif; letter-spacing:-.04em; }
.content-heading p { color:#5d5153; font:400 18px/1.65 Georgia,serif; }
.blog-section { background:#fffdfd; color:#171417; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.blog-card { padding:26px; border:1px solid #ead7d8; border-radius:20px; background:#fff; box-shadow:0 12px 34px rgba(70,37,43,.06); }
.blog-card .blog-category { color:#a46f70; text-transform:uppercase; letter-spacing:.18em; font:600 11px Arial,sans-serif; }
.blog-card h3 { margin:14px 0 12px; color:#211a1c; font:700 23px/1.2 Arial,sans-serif; }
.blog-card p { margin:0; color:#5d5153; font:16px/1.7 Georgia,serif; }
.testimonials-section { background:#f8f1ef; }
.testimonial-feature { max-width:900px; margin:0 auto; padding:clamp(28px,5vw,56px); border:1px solid #ead7d8; border-radius:24px; background:#fff; text-align:center; box-shadow:0 14px 38px rgba(70,37,43,.07); }
.testimonial-mark { color:#c77d91; font:italic 64px Georgia,serif; line-height:.7; }
.testimonial-feature p { margin:20px auto; color:#4d4144; font:italic clamp(18px,2vw,23px)/1.7 Georgia,serif; }
.testimonial-feature .testimonial-note { color:#887a7c; font:14px/1.6 Arial,sans-serif; }
.testimonial-cta { display:inline-flex; margin-top:12px; padding:14px 22px; border-radius:28px; background:#171417; color:#fff; text-decoration:none; font:700 12px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.events-section { background:#171417; }
.events-section .content-heading h2 { color:#fff; }
.events-section .content-heading p { color:#e8dfe1; }
.event-card { max-width:900px; margin:0 auto; display:grid; grid-template-columns:190px minmax(0,1fr); gap:28px; align-items:center; padding:clamp(24px,4vw,40px); border:1px solid rgba(245,204,213,.32); border-radius:24px; background:linear-gradient(135deg,#241d20,#34252b); color:#fff; }
.event-date { padding:22px 14px; border:1px solid #e9b3c0; border-radius:18px; color:#f5ccd5; text-align:center; }
.event-date strong { display:block; font:700 34px Arial,sans-serif; }
.event-date span { font:600 13px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.event-card h3 { margin:0 0 10px; color:#fff; font:700 27px Arial,sans-serif; }
.event-card p { margin:0 0 16px; color:#eee3e6; font:16px/1.65 Georgia,serif; }
.event-status { display:inline-block; margin-bottom:14px; padding:7px 12px; border-radius:20px; background:rgba(245,204,213,.12); color:#f5ccd5; font:600 11px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.event-card .program-cta { background:#c77d91; }
/* Dincolo de Poveste event palette: warm ivory, charcoal and gold */
.event-card.feature-event { border:1px solid #c99a4a; background:linear-gradient(135deg,#fffaf0,#f2e8d7); color:#211a1c; box-shadow:0 18px 48px rgba(0,0,0,.2); }
.event-poster { grid-column:1/-1; display:block; width:100%; height:auto; border:1px solid #c99a4a; border-radius:14px; background:#fffaf0; box-shadow:0 10px 28px rgba(68,48,20,.12); }
.feature-event .event-date { border-color:#c99a4a; color:#8a6428; background:rgba(255,255,255,.62); }
.feature-event .event-status { background:#efe1c7; color:#77551f; }
.feature-event h3 { color:#211a1c; }
.feature-event p { color:#4b4035; }
.feature-event .event-highlight { color:#805d24; }
.event-speakers { margin:0 0 18px; color:#4b4035; font:15px/1.6 Georgia,serif; }
.event-price { margin:18px 0 8px; padding:16px 18px; border-left:3px solid #c99a4a; background:rgba(255,255,255,.62); }
.event-price strong { color:#805d24; font:700 25px Georgia,serif; }
.event-price span { display:block; margin-top:4px; color:#5c5145; font:14px/1.5 Arial,sans-serif; }
.event-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.event-form label { display:flex; flex-direction:column; gap:6px; color:#43392e; font:600 13px Arial,sans-serif; }
.event-form label.full { grid-column:1/-1; }
.event-form input { width:100%; min-height:46px; padding:11px 13px; border:1px solid #d7c29d; border-radius:9px; background:#fffdfa; color:#211a1c; font:16px Arial,sans-serif; }
.event-form button { grid-column:1/-1; min-height:50px; padding:12px 20px; border:0; border-radius:28px; background:#98702f; color:#fff; cursor:pointer; font:700 12px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.event-reserve-link { display:block; min-height:50px; padding:16px 20px; border-radius:28px; background:#98702f; color:#fff; text-align:center; text-decoration:none; font:700 12px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.event-form button:hover,.event-reserve-link:hover { background:#77551f; }
.event-form-note { grid-column:1/-1; margin:0 !important; color:#675b4d !important; font:13px/1.5 Arial,sans-serif !important; }
.event-details { margin-top:26px; padding-top:24px; border-top:1px solid rgba(153,112,47,.35); }
.event-details h4 { margin:22px 0 7px; color:#805d24; font:700 18px Arial,sans-serif; }
.event-details p { margin-bottom:10px; }
.event-details ul { margin:8px 0 18px; padding-left:22px; color:#4b4035; font:15px/1.65 Georgia,serif; }
.event-speaker-list { margin:10px 0 18px; padding:0; list-style:none; }
.event-speaker-list li { margin-bottom:11px; color:#4b4035; font:15px/1.55 Georgia,serif; }
.event-speaker-list strong { color:#805d24; }
@media (max-width:560px) { .event-form { grid-template-columns:1fr; } .event-form label.full { grid-column:auto; } }
@media (max-width:820px) { .blog-grid { grid-template-columns:1fr; } .event-card { grid-template-columns:1fr; } .event-date { max-width:190px; } }


/* Responsive and accessibility corrections, preserving the existing visual style. */
[hidden] { display:none !important; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { overflow-wrap:break-word; }
main, section, article, .copy, .book-copy, .dincolo-copy, .field { min-width:0; }
img { max-width:100%; }
a,button,input,select,summary { -webkit-tap-highlight-color:rgba(233,157,175,.22); }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #8b4f63; outline-offset:5px; box-shadow:0 0 0 7px #fff; }
.skip-link { position:absolute; left:16px; top:12px; z-index:20; transform:translateY(-200%); padding:14px 20px; color:#171417; background:#fff; font:700 16px Arial,sans-serif; }
.skip-link:focus { transform:translateY(0); }
header { flex-wrap:wrap; gap:12px 28px; padding-left:max(24px,env(safe-area-inset-left)); padding-right:max(24px,env(safe-area-inset-right)); }
header nav { flex:1; justify-content:flex-end; gap:clamp(8px,1.5vw,24px); flex-wrap:wrap; }
header nav a { display:flex; align-items:center; min-height:44px; padding:8px 4px; font-size:14px; }
nav a:hover { color:#8b4f63; }
.menu-toggle { display:none; min-height:48px; padding:12px 22px; border:1px solid #211a1c; border-radius:24px; background:#fff; color:#211a1c; font:700 16px Arial,sans-serif; cursor:pointer; }
.hero { grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); min-height:calc(100svh - 116px); }
.copy { padding:54px clamp(28px,6vw,100px) 65px; }
h1 { font-size:clamp(44px,5.8vw,90px); }
.service-intro { margin:0 0 26px; max-width:440px; color:var(--pink-light); font:16px/1.6 Arial,sans-serif; }
.tagline { margin-top:26px; }
.portrait { max-width:none; }
.about-layout,.book-inner { align-items:start; }
.about-photo-wrap,.book-photo-wrap { margin-top:12px; }
.about-label,.programs-label,.content-eyebrow,.blog-card .blog-category,.program-card .program-duration,.program-card .program-price { color:#825659; }
.about .about-close span { color:#8b4f63; }
.program-card.featured .program-cta,.bianca-program .program-cta,.event-card .program-cta { background:#8b4f63; }
.program-cta { text-align:center; line-height:1.5; max-width:100%; }
.program-cta:hover { filter:none; background:#704052; }
.program-request-form label,.program-request-form legend,.program-request-form .program-consent { color:#fff5f7; line-height:1.5; }
.program-request-form fieldset { min-width:0; margin:0; }
.program-request-form fieldset label { min-height:44px; }
.program-request-form input[type=radio],.program-request-form input[type=checkbox] { flex:0 0 22px; width:22px; height:22px; min-height:22px; margin:2px 0; padding:0; }
.program-request-form select { min-width:0; text-overflow:ellipsis; padding-right:24px; }
.program-request-form small { color:#f5ccd5; font:14px/1.5 Arial,sans-serif; }
.program-request-form button { background:#e99daf; color:#211a1c; line-height:1.5; padding:16px 20px; }
.program-request-form button:hover { background:#f5ccd5; }
.program-contact a:not(.program-cta) { color:#f5ccd5; text-underline-offset:4px; }
.contact-alternative a { display:inline-flex; align-items:center; min-height:44px; }
.program-consent { align-items:flex-start; padding:8px 0; }
.message-preview { margin-top:24px; padding:20px; border:1px solid #e99daf; border-radius:16px; text-align:left; }
.message-preview h4 { margin:0 0 12px; font:700 22px Arial,sans-serif; }
.message-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:16px/1.6 Arial,sans-serif; }
.message-preview .program-cta { background:#e99daf; color:#211a1c; }
.story-details { margin:24px 0; }
.story-details summary { min-height:48px; padding:14px 0; color:#f5ccd5; font:700 17px/1.5 Arial,sans-serif; cursor:pointer; }
.story-details[open] summary { margin-bottom:14px; }
.event-card { align-items:start; }
.event-booking { margin:24px 0 32px; }
.event-booking .event-form-note { margin-top:12px !important; }
.event-reserve-link { background:#77551f; line-height:1.5; }
.event-reserve-link:hover { background:#5d4218; }
.events-section .content-eyebrow { color:#f5ccd5; }
.testimonial-feature .testimonial-note { color:#675759; }
.site-info { background:#fffdfd; color:#393438; padding:64px clamp(22px,8vw,120px); }
.site-info h2 { color:#211a1c; font:700 28px/1.2 Arial,sans-serif; }
.site-info p { max-width:900px; font:17px/1.75 Georgia,serif; }
.site-info a { color:#804357; text-underline-offset:4px; }
.site-footer { background:#171417; color:#fff; padding:36px max(24px,env(safe-area-inset-left)) max(28px,env(safe-area-inset-bottom)); font:16px/1.6 Arial,sans-serif; }
.site-footer nav { flex-wrap:wrap; justify-content:flex-start; gap:12px 28px; overflow:visible; }
.site-footer nav a { color:#f5ccd5; display:inline-flex; align-items:center; min-height:44px; white-space:normal; }
@media (max-width:1100px) {
 header { min-height:90px; }
 .logo { width:72px; height:72px; }
 header nav { flex-basis:100%; justify-content:flex-start; }
 header .brand { margin:0; }
 header.has-menu { justify-content:space-between; }
 header.has-menu .menu-toggle { display:block; }
 header.has-menu nav { display:none; }
 header.has-menu nav.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:4px 12px; }
 header.has-menu nav a { padding:12px; white-space:normal; border-bottom:1px solid #ead7d8; }
 .bianca-top { grid-template-columns:1fr; }
 .bianca-price-box { max-width:420px; }
}
@media (max-width:850px) {
 header { flex-direction:row; align-items:center; padding:8px max(20px,env(safe-area-inset-left)) 8px max(20px,env(safe-area-inset-right)); }
 header nav { overflow:visible; }
 .hero { display:flex; flex-direction:column; min-height:0; }
 .copy { width:100%; padding:40px 28px 44px; background:var(--black); }
 .portrait-wrap { position:relative; inset:auto; opacity:1; order:2; width:100%; height:clamp(300px,85vw,560px); min-height:0; }
 .portrait { width:100%; height:100%; object-position:center 30%; }
 .portrait-wrap:before { display:none; }
 .pink-line { display:none; }
 h1 { font-size:clamp(44px,10vw,72px); }
 .hero-quote { width:100%; }
 .about-photo-wrap { width:min(74vw,300px); }
 .book-photo-wrap { width:min(100%,360px); }
 .service-intro { max-width:100%; }
 .bianca-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
 .copy { padding:34px 22px 40px; }
 .name { font-size:25px; margin:20px 0; }
 .kicker { font-size:12px; letter-spacing:.24em; }
 .service-intro { font-size:15px; }
 .tagline { font-size:21px; }
 .program-contact { padding:26px 18px; }
 .bianca-steps,.bianca-bonuses,.bianca-lists { grid-template-columns:1fr; }
 .bianca-program h3 { font-size:clamp(28px,8vw,42px); letter-spacing:.03em; }
 .bianca-price-box { padding:20px 16px; }
 .event-card { padding:20px 16px; }
 .message-preview { padding:16px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (min-width:851px) {
 .copy { padding-top:40px; padding-bottom:40px; }
 .service-intro { margin:20px 0 0; }
 .tagline { margin-top:22px; }
 .copy .cta { margin-top:28px; }
}
.bianca-format { color:#fff5f7; font:17px/1.65 Arial,sans-serif; margin:20px 0 0; }
.book-section .book-price { color:#f5ccd5; font:700 30px/1.3 Georgia,serif; }
.book-copy .program-cta,.dincolo-copy .program-cta { background:#8b4f63; }
.contact-alternative a,.site-footer a { overflow-wrap:anywhere; }
.event-tariffs { font-size:15px !important; }
