/* Victoria Studios Colombia — shared responsive design system */
:root {
  --ink: #173f40;
  --text: #344d4e;
  --muted: #627373;
  --gold: #c6a15b;
  --gold-dark: #82632c;
  --pearl: #f3f8f7;
  --rose: #fff1ed;
  --line: #dce6e3;
  --teal: #1d5958;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Trebuchet MS', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 115px; }
body { margin: 0; background: white; color: var(--text); font-family: var(--sans); line-height: 1.7; }
img { display: block; width: 100%; max-width: 100%; height: auto; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
svg { display: block; width: 24px; height: 24px; flex-shrink: 0; }
p { margin: 0 0 1.25rem; }
h1, h2, h3 { margin: 0 0 1.4rem; line-height: 1.08; color: var(--ink); letter-spacing: -.045em; }
h1, h2 { font-family: var(--sans); font-weight: 500; }
h1 { font-size: clamp(3rem, 5.6vw, 5.5rem); }
h2 { font-size: clamp(2.3rem, 3.65vw, 3.6rem); }
h3 { font-size: 1.25rem; letter-spacing: -.025em; font-weight: 600; }
em { font-family: var(--serif); font-weight: 400; color: var(--teal); }
.wrap { width: min(1180px, calc(100% - 80px)); margin-inline: auto; }
.section { padding-block: 100px; position: relative; }
.eyebrow { font-size: .65rem; font-weight: 700; letter-spacing: .15em; color: var(--gold-dark); margin-bottom: 24px; line-height: 1.6; }
.fineprint { font-size: .73rem; line-height: 1.7; }
.space-top { margin-top: 30px; }
.center { text-align: center; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 22px; min-height: 54px; padding: 16px 25px; border: 1px solid #cab17c; border-radius: 100px; font-size: .82rem; line-height: 1.5; font-weight: 700; text-align: center; transition: transform .25s, box-shadow .25s, background .25s; }
.button svg { width: 21px; height: 21px; transition: transform .25s; }
.button.primary { color: #3a321e; background: linear-gradient(115deg, #e4ce97, #f8edcf 50%, #d9b975); box-shadow: 0 8px 22px #ac8b401e, inset 0 1px 0 white; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 27px #667c7925; }
.button:hover svg { transform: translateX(3px); }
.button.outline { background: transparent; color: var(--ink); border-color: #a9c0ba; }
.button.outline:hover { background: #edf5f2; }
.text-link { display: inline-flex; align-items: center; gap: 20px; border-bottom: 1px solid #b9c7bf; padding-bottom: 7px; font-size: .83rem; font-weight: 600; }
.topline { background: #f1f6f4; border-bottom: 1px solid #e8eeeb; }
.topline .wrap { display: flex; justify-content: space-between; gap: 20px; padding-block: 8px; font-size: .54rem; letter-spacing: .1em; color: #526968; }
.topline b { color: var(--gold-dark); padding-inline: 9px; }
.site-header { position: sticky; top: 0; z-index: 80; background: #ffffffed; backdrop-filter: blur(18px); border-bottom: 1px solid #edf1ef; transition: box-shadow .25s; }
.site-header.scrolled { box-shadow: 0 6px 25px #2449430d; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 96px; }
.brand { width: 177px; flex-shrink: 0; }
.brand img { width: 177px; height: 82px; object-fit: contain; }
#site-menu { display: flex; align-items: center; gap: 30px; font-size: .8rem; }
#site-menu > a:not(.button) { position: relative; padding-block: 12px; }
#site-menu > a:not(.button):after { content: ''; position: absolute; bottom: 5px; left: 0; width: 0; height: 1px; background: var(--gold); transition: width .25s; }
#site-menu > a[aria-current='page']:after, #site-menu > a:hover:after { width: 100%; }
#site-menu .header-button { font-size: .74rem; min-height: 45px; padding: 11px 18px; background: #fcfaf3; border-color: #dfd1af; }
#site-menu .header-button svg { width: 17px; }
.menu-toggle { display: none; }
.scroll-progress { position: fixed; left: 0; top: 0; width: calc(var(--scroll, 0) * 100%); height: 3px; z-index: 100; background: linear-gradient(90deg, var(--teal), var(--gold)); pointer-events: none; }
/* Full-width photographic opening */
.hero { min-height: 740px; position: relative; overflow: hidden; background: #f0f5f3; }
.hero-photo { position: absolute; right: 0; top: 0; width: 66%; height: 100%; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; }
.hero-light { position: absolute; inset: 0; background: linear-gradient(90deg, #fff 0%, #fbfdfc 34%, #f4f9f8e8 42%, #f3f8f710 67%, transparent 76%); }
.hero-inner { position: relative; z-index: 2; min-height: 740px; display: flex; align-items: center; padding-block: 58px 100px; }
.hero-copy { max-width: 570px; }
.hero-copy h1 { font-size: clamp(4rem, 6.6vw, 6.5rem); line-height: .98; letter-spacing: -.055em; margin-bottom: 25px; }
.hero-copy h1 em { font-size: 1.15em; }
.hero-copy .eyebrow { margin-bottom: 28px; }
.hero-description { max-width: 420px; font-size: 1rem; color: #526767; line-height: 1.85; margin-bottom: 28px; }
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #337d72; margin-right: 8px; box-shadow: 0 0 0 5px #337d720d; }
.hero-discover { display: flex; align-items: center; gap: 20px; font-size: .74rem; margin-top: 19px; color: #637875; width: fit-content; }
.hero-discover span { font-size: 1.2rem; color: var(--gold-dark); }
.hero-audience { display: flex; align-items: center; gap: 13px; margin-top: 30px; }
.hero-audience > span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #b8c9c3; border-radius: 50%; font-size: .73rem; }
.hero-audience p { margin: 0; font-size: .64rem; line-height: 1.6; color: #647774; }
.hero-sticker { position: absolute; z-index: 3; bottom: 105px; right: 6%; background: linear-gradient(120deg, #ffffffeb, #f8efdcf0); border: 1px solid #ffffffc9; border-radius: 16px; padding: 18px 28px; box-shadow: 0 15px 40px #102f3825; transform: rotate(-4deg); color: #213b36; }
.hero-sticker span { display: block; font-size: .55rem; letter-spacing: .17em; }
.hero-sticker strong { display: block; font: italic 2.3rem var(--serif); }
.hero-sticker small { display: block; margin-top: 5px; font-size: .64rem; }
.hero-vertical { position: absolute; z-index: 2; right: 24px; top: 45px; writing-mode: vertical-rl; color: white; font-size: .55rem; letter-spacing: .2em; text-shadow: 0 1px 6px #0009; }
.wave { position: absolute; bottom: -1px; left: 0; width: 100%; height: 75px; pointer-events: none; z-index: 4; }
.wave-top { top: -1px; bottom: auto; transform: rotate(180deg); }
.contour { position: absolute; pointer-events: none; border-radius: 50%; border: 1px solid #9dc3b51c; box-shadow: 0 0 0 35px #bad2c912, 0 0 0 70px #bad2c910, 0 0 0 105px #bad2c90c; }
.contour-hero { width: 500px; height: 500px; left: -350px; bottom: -130px; }
.chapter-nav { display: flex; justify-content: space-between; gap: 25px; padding: 25px 0 30px; border-bottom: 1px solid var(--line); }
.chapter-nav a { display: flex; gap: 13px; align-items: center; font-size: .68rem; color: #a1834f; }
.chapter-nav a span { color: var(--ink); font-size: .79rem; }
/* Layered editorial presentation */
.intro-section { background: radial-gradient(ellipse at 90% 80%, #fcefe9b0, transparent 55%), white; }
.editorial-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 95px; align-items: center; }
.portrait-composition { position: relative; min-height: 570px; padding: 12px 15px 25px 33px; }
.portrait-main { position: relative; width: 90%; height: 520px; transform: rotate(-3deg); border-radius: 18px; overflow: hidden; box-shadow: 0 25px 55px #163c3c1e; border: 8px solid white; }
.portrait-main img { height: 100%; object-fit: cover; object-position: 50% 25%; }
.portrait-shadow { position: absolute; width: 75%; height: 90%; top: 10px; right: 20px; border-radius: 22px; border: 1px solid #d9c79f; transform: rotate(7deg); background: linear-gradient(140deg, #e9f4ef, #fff9e9); }
.experience-note { position: absolute; right: -10px; bottom: 50px; z-index: 2; padding: 19px 26px; background: linear-gradient(120deg, #f8edce, #fff9eb 45%, #debd74); box-shadow: 0 14px 27px #8d71372b; border: 1px solid #fffae7; border-radius: 13px; text-align: center; color: #55401b; transform: rotate(3deg); }
.experience-note > span { display: block; font-size: .52rem; letter-spacing: .18em; }
.experience-note strong { display: block; font-size: 3.8rem; font-weight: 500; line-height: 1.1; }
.experience-note em { font-size: 2rem; color: #55401b; }
.experience-note small { display: block; font-size: .61rem; }
.picture-label { position: absolute; left: 30px; bottom: 0; font-size: .48rem; letter-spacing: .08em; color: var(--muted); }
.sparkle { position: absolute; line-height: 1; pointer-events: none; font-family: Georgia, serif; color: var(--gold); text-shadow: 1px 2px 1px #fff1b4, 4px 8px 11px #a88b4828; }
.sparkle-one { font-size: 95px; right: -8px; top: -12px; transform: rotate(15deg); }
.sparkle-two { font-size: 65px; left: -6px; bottom: 60px; color: #8eb3a7; transform: rotate(-12deg); }
.editorial-copy p:not(.eyebrow) { font-size: .93rem; color: var(--muted); }
.inline-benefits { display: flex; flex-wrap: wrap; gap: 9px; margin: 26px 0 30px; }
.inline-benefits span { display: inline-flex; gap: 7px; align-items: center; padding: 8px 12px; border: 1px solid #e0e9e4; border-radius: 50px; font-size: .61rem; color: #456762; background: #ffffffa6; }
.inline-benefits svg { width: 16px; height: 16px; color: #997739; }
/* Training: large portrait and accordion */
.formation-section { background: radial-gradient(ellipse at 5% 0, #fbeee9, transparent 60%), linear-gradient(120deg, #f4f9f8, #e8f3ee); padding-block: 90px 135px; overflow: hidden; }
.formation-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 95px; align-items: center; position: relative; z-index: 2; }
.formation-copy > p:not(.eyebrow) { font-size: .91rem; color: var(--muted); max-width: 480px; }
.accordion { margin-top: 30px; }
.accordion details { background: #ffffffb5; border: 1px solid #cfddd7; border-radius: 13px; margin-bottom: 13px; box-shadow: 0 5px 12px #24494307; transition: border-color .25s, box-shadow .25s; }
.accordion details[open] { border-color: #a5c0b7; box-shadow: 0 8px 20px #2449430a; }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
.accordion summary { display: flex; align-items: center; gap: 15px; padding: 20px 22px; font-size: .85rem; font-weight: 600; line-height: 1.5; }
.accordion-index { font-size: .6rem; color: var(--gold-dark); font-weight: 400; flex-shrink: 0; }
.plus { width: 19px; height: 19px; position: relative; margin-left: auto; flex-shrink: 0; border: 1px solid #9db7ab; border-radius: 50%; }
.plus:before, .plus:after { content: ''; position: absolute; background: #41766b; width: 7px; height: 1px; top: 8px; left: 5px; }
.plus:after { transform: rotate(90deg); transition: transform .2s; }
details[open] > summary .plus:after { transform: rotate(0deg); }
.answer { padding: 0 23px 20px 49px; }
.answer p { font-size: .82rem; line-height: 1.85; color: #62736d; margin: 0; }
.formation-photo { position: relative; padding: 18px 13px 35px 0; }
.offset-frame { height: 530px; position: relative; border-radius: 140px 20px 20px 20px; overflow: hidden; box-shadow: 20px 20px 0 #fff9, 21px 21px 0 #a1c2b570; }
.offset-frame img { height: 100%; object-fit: cover; object-position: 50% 65%; }
.photo-caption { position: absolute; bottom: 62px; left: -38px; padding: 18px 23px; background: #fffdf2f0; display: flex; align-items: center; gap: 16px; border: 1px solid #e6d3a9; border-radius: 13px; box-shadow: 0 14px 25px #5e705e16; }
.photo-caption > span { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #e1eae2; color: #527666; }
.photo-caption p { font-size: .74rem; margin: 0; }
.photo-credit { display: block; font-size: .53rem; color: var(--muted); margin-top: 33px; }
.contour-right { width: 500px; height: 500px; right: -350px; top: 100px; }
/* Services: photograph and editorial rows, not repeated cards */
.section-head { margin-bottom: 45px; }
.section-head > p:not(.eyebrow) { max-width: 520px; color: var(--muted); font-size: .92rem; }
.split-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; }
.split-heading h2 { margin-bottom: 0; }
.split-heading .text-link { margin-bottom: 8px; }
.service-editorial { display: grid; grid-template-columns: .95fr 1.05fr; gap: 65px; align-items: center; }
.service-photo { position: relative; overflow: hidden; height: 525px; border-radius: 22px; background: #23453c; }
.service-photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #082c2de6, transparent 70%); }
.service-photo img { height: 100%; object-fit: cover; }
.service-photo-label { position: absolute; bottom: 45px; left: 35px; z-index: 2; color: white; }
.service-photo-label > span { font-size: .55rem; letter-spacing: .16em; color: #e6c981; }
.service-photo-label h3 { font-size: 2.5rem; font-weight: 400; color: white; margin-top: 20px; line-height: 1.15; }
.service-photo-label em { color: #f5e3b6; }
.service-photo > small { position: absolute; bottom: 18px; left: 35px; z-index: 3; font-size: .49rem; color: #d6e4dc; }
.service-row { display: flex; gap: 22px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid var(--line); }
.service-row:first-child { border-top: 1px solid var(--line); }
.service-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: linear-gradient(120deg, #e6f1ed, #f6eee0); color: #3d7469; flex-shrink: 0; }
.service-icon svg { width: 24px; height: 24px; }
.service-row h3 { margin: 5px 0 11px; font-size: 1.25rem; }
.service-row p { font-size: .85rem; color: var(--muted); margin-bottom: 0; }
.round-link { align-self: center; width: 33px; height: 33px; border: 1px solid #c4d5cc; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; margin-left: auto; }
.round-link svg { width: 16px; height: 16px; }
.round-link:hover { background: #ecf4ee; }
/* One darker band creates rhythm in a predominantly light site */
.benefits { background: radial-gradient(ellipse at 10% 15%, #417b6e, transparent 60%), linear-gradient(120deg, #214d49, #0d3535); padding-block: 140px 130px; color: #e5eeea; overflow: hidden; }
.benefits h2, .benefits h3 { color: #fff; }
.benefits em { color: #e8d4a4; }
.benefits .eyebrow { color: #dec68e; }
.benefits-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; column-gap: 80px; }
.benefits-heading > .eyebrow { grid-column: 1 / -1; }
.benefits-heading h2 { margin-bottom: 0; }
.benefits-heading > p:not(.eyebrow) { color: #c7d8d0; font-size: .89rem; max-width: 430px; margin-bottom: 8px; }
.benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin-top: 45px; }
.benefit-big { padding: 33px 38px; border: 1px solid #b6d8c54d; background: linear-gradient(120deg, #ffffff12, #ffffff03); border-radius: 19px; position: relative; }
.benefit-label { font-size: .54rem; letter-spacing: .12em; color: #d9e5db; }
.benefit-stat { font-family: var(--serif); font-size: clamp(3.8rem, 6.7vw, 6.6rem); color: #efdeb3; line-height: 1.2; margin: 15px 0; white-space: nowrap; }
.benefit-stat > span { font-size: .65em; margin-inline: 4px; }
.benefit-stat small { font-size: .45em; }
.benefit-big > p { font-size: .85rem; max-width: 370px; }
.benefit-big .fineprint { color: #b7d0c4; font-size: .69rem; display: block; }
.benefit-stack { display: grid; gap: 15px; }
.benefit-small { display: flex; align-items: center; gap: 20px; padding: 21px 25px; border: 1px solid #b6d8c53b; border-radius: 15px; background: #ffffff06; }
.benefit-small > svg { width: 28px; height: 28px; color: #e3c88b; }
.benefit-small h3 { font-size: 1.15rem; margin: 0 0 9px; }
.benefit-small p { font-size: .76rem; color: #bfd1c7; margin: 0; }
.benefit-bottom { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 27px; font-size: .7rem; color: #d1dfd4; }
.benefit-bottom > span { display: inline-flex; align-items: center; gap: 8px; }
.benefit-bottom svg { width: 15px; height: 15px; }
.benefit-bottom a { border-bottom: 1px solid #d8c69075; }
/* Process timeline and promotion */
.process .section-head { text-align: center; }
.process .section-head > p:not(.eyebrow) { margin-inline: auto; }
.steps { list-style: none; padding: 0; margin: 45px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; position: relative; }
.steps:before { content: ''; position: absolute; left: 12%; right: 12%; top: 45px; height: 1px; background: repeating-linear-gradient(90deg, #c8d9cf 0 5px, transparent 5px 11px); }
.steps li { text-align: center; position: relative; }
.step-number { display: grid; place-items: center; width: 90px; height: 90px; border-radius: 50%; background: linear-gradient(130deg, #e7f0e9, #fbf2dd); border: 8px solid white; box-shadow: 0 0 0 1px #e5e9df; font-family: var(--serif); color: #7e6c43; font-size: 2rem; margin: 0 auto 25px; }
.steps h3 { font-size: 1.32rem; }
.steps p { font-size: .84rem; color: var(--muted); max-width: 280px; margin: auto; }
.promotion { background: radial-gradient(ellipse at 15% 50%, #f9edcfaa, transparent 50%), radial-gradient(ellipse at 100% 100%, #fbeae5a6, transparent 60%), #fafbf7; overflow: hidden; }
.promo-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; align-items: center; }
.promo-art { position: relative; height: 370px; display: flex; justify-content: center; align-items: center; }
.promo-art:before, .promo-art:after { content: ''; position: absolute; border-radius: 50%; border: 1px solid #c8aa6645; width: 340px; height: 300px; transform: rotate(-25deg); }
.promo-art:after { width: 300px; height: 340px; transform: rotate(25deg); border-color: #bed3c363; }
.promo-orbit { position: absolute; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle at 30% 20%, #fffef5, #ecdbac 62%, #c8a75e); box-shadow: inset 0 0 25px #fff8e3, 10px 25px 40px #c6a15b22; }
.promo-70 { position: relative; font-family: var(--serif); line-height: 1; font-size: 8rem; letter-spacing: -.08em; color: #75602f; text-shadow: 1px 1px white, 3px 4px 2px #9e782b22; z-index: 2; transform: translateY(-10px); }
.promo-70 small { font-size: 3rem; letter-spacing: -.03em; }
.promo-tag { position: absolute; z-index: 3; bottom: 57px; font-size: .55rem; letter-spacing: .2em; color: #786234; }
.promo-star { position: absolute; top: 12px; right: 20px; z-index: 3; font-size: 5rem; color: #be974b; text-shadow: 2px 4px #f9e3ad; transform: rotate(15deg); }
.promo-copy > p:not(.eyebrow) { color: var(--muted); font-size: .91rem; }
.promo-terms { padding-block: 18px; border-block: 1px solid #ddd4bd; margin-block: 25px; }
.promo-terms summary { display: flex; gap: 20px; align-items: center; font-size: .77rem; font-weight: 600; }
.promo-terms > p { font-size: .74rem; color: #6f7567; margin: 18px 0 0; }
/* Questions and final photographic call to action */
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; align-items: center; }
.faq-visual { position: relative; padding: 15px 15px 55px 15px; }
.faq-portrait { overflow: hidden; height: 490px; border-radius: 20px 100px 20px 20px; transform: rotate(-3deg); box-shadow: 15px 15px 0 #f0e6d3; }
.faq-portrait img { height: 100%; object-fit: cover; object-position: 50% 27%; }
.faq-quote { position: absolute; bottom: 15px; right: -15px; padding: 22px 26px; font-size: 1.55rem; line-height: 1.2; background: #fffcf2; box-shadow: 0 12px 28px #334c3b12; border: 1px solid #e5d7b5; border-radius: 12px; transform: rotate(4deg); }
.faq-visual .sparkle-one { top: -5px; right: -25px; font-size: 75px; }
.faq-visual .sparkle-two { left: -10px; bottom: 80px; }
.faq-section .accordion summary { padding-block: 19px; }
.closing { background: radial-gradient(ellipse at 10% 50%, #fbece4, transparent 65%), #edf6f2; position: relative; overflow: hidden; }
.closing-grid { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 680px; align-items: center; gap: 50px; }
.closing-copy { position: relative; z-index: 2; padding-block: 75px 110px; }
.closing-copy h2 { font-size: clamp(2.8rem, 4.7vw, 4.5rem); line-height: 1.05; }
.closing-copy h2 em { font-size: 1.27em; }
.closing-copy > p:not(.eyebrow) { font-size: .9rem; max-width: 430px; color: #63716c; }
.closing-copy .closing-note { font-size: .63rem!important; margin: 19px 0 0; }
.closing-image { position: relative; height: 100%; min-height: 680px; }
.closing-image img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 50% 25%; }
.closing-image:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #edf6f2, transparent 22%), linear-gradient(0deg, #edf6f2, transparent 30%); }
.closing-signature { position: absolute; left: 40px; bottom: 110px; z-index: 2; font: italic 3.8rem var(--serif); color: #fff; transform: rotate(-7deg); text-shadow: 0 4px 20px #1c342b55; }
/* Secondary pages */
.page-intro { background: radial-gradient(ellipse at 80% 15%, #f4e6d88c, transparent 55%), linear-gradient(120deg, #f2f8f5, #f8fbfb); padding: 80px 0 120px; position: relative; overflow: hidden; }
.page-intro .wrap { position: relative; z-index: 2; }
.page-intro h1 { max-width: 1080px; font-size: clamp(2.8rem, 4.7vw, 4.6rem); }
.intro-description { max-width: 670px; color: var(--muted); font-size: 1rem; }
.intro-ring { position: absolute; right: -140px; top: -200px; border: 1px solid #c3d6c859; width: 600px; height: 600px; border-radius: 50%; box-shadow: 0 0 0 45px #c3d6c80f, 0 0 0 90px #c3d6c80b; }
.service-page-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: 80px; }
.service-page-photo { position: sticky; top: 125px; }
.service-page-photo img { height: 620px; object-fit: cover; border-radius: 20px; }
.service-page-photo > p { font-size: .56rem; color: var(--muted); margin-top: 12px; }
.service-page-note { position: absolute; left: -20px; bottom: 90px; background: #fff9e8f5; border: 1px solid #ecdab6; border-radius: 10px; padding: 22px; transform: rotate(-4deg); font-size: 1.6rem; line-height: 1.2; box-shadow: 0 15px 30px #163f3826; }
.service-page-grid .service-row { padding-block: 24px; }
.conditions-section { background: #f1f7f3; }
.conditions-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.conditions-grid > div > p:not(.eyebrow) { font-size: .91rem; color: var(--muted); max-width: 420px; }
.conditions-grid .button { margin-top: 15px; }
.conditions-list article { display: flex; gap: 23px; border-bottom: 1px solid #d3dfd6; padding: 24px 0; }
.conditions-list article:first-child { padding-top: 0; }
.conditions-list article > span { font: italic 1.2rem var(--serif); color: var(--gold-dark); }
.conditions-list h3 { font-size: 1.13rem; margin-bottom: 13px; }
.conditions-list p { font-size: .85rem; color: var(--muted); margin: 0; }
.about-story { display: grid; grid-template-columns: 1fr 1.05fr; gap: 90px; align-items: center; }
.about-story-image { position: relative; }
.about-story-image img { height: 610px; object-fit: cover; border-radius: 18px; object-position: 50% 27%; }
.image-footnote { display: block; font-size: .57rem; color: var(--muted); margin-top: 12px; }
.about-story > div > p:not(.eyebrow) { font-size: .93rem; color: var(--muted); }
.about-story .button { margin-top: 15px; }
.values-section { background: radial-gradient(ellipse at 90% 70%, #f4e7d370, transparent 60%), #f0f7f3; padding-bottom: 140px; }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 35px; }
.value { border-top: 1px solid #b8cbbd; position: relative; padding-top: 25px; }
.value > span { font-size: .65rem; color: #9b824f; }
.value > svg { margin: 30px 0 23px; width: 30px; height: 30px; color: #4e7c6f; }
.value h3 { font-size: 1.35rem; font-weight: 500; }
.value p { font-size: .85rem; color: var(--muted); }
.philosophy { text-align: center; padding-block: 75px 100px; }
.philosophy h2 { font-size: clamp(2.6rem, 4.8vw, 4.5rem); line-height: 1.2; }
.philosophy > p:not(.eyebrow) { font-size: .9rem; color: var(--muted); }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.contact-portrait { height: 600px; position: relative; overflow: hidden; border-radius: 18px; }
.contact-portrait img { height: 100%; object-fit: cover; object-position: 50% 30%; }
.contact-portrait:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #173d38ed, transparent 65%); }
.contact-portrait-text { position: absolute; left: 30px; bottom: 30px; right: 30px; z-index: 2; }
.contact-portrait-text > span { color: #ead7a7; font-size: .55rem; letter-spacing: .2em; }
.contact-portrait-text h2 { color: white; font-size: 2.7rem; margin: 17px 0 0; }
.contact-portrait-text em { color: #efdfb6; }
.contact-info > p:not(.eyebrow) { font-size: .91rem; color: var(--muted); }
.contact-phone { display: inline-flex; align-items: center; gap: 22px; font-size: 1.8rem; color: var(--ink); margin: 15px 0 25px; line-height: 1.2; }
.contact-info .button { display: flex; width: fit-content; }
.contact-email { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 25px; }
.contact-email span { display: block; font-size: .56rem; color: var(--muted); letter-spacing: .1em; margin-bottom: 12px; }
.contact-email a { font-size: .9rem; overflow-wrap: anywhere; }
.appointment-note { display: flex; align-items: center; gap: 13px; margin-top: 28px; padding: 16px; background: var(--pearl); border-radius: 10px; }
.appointment-note svg { width: 22px; height: 22px; color: var(--gold-dark); }
.appointment-note p { margin: 0; font-size: .72rem; color: #60756c; }
.location-section { background: #f0f6f2; }
.location-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.location-grid > div > p:not(.eyebrow) { color: var(--muted); font-size: .9rem; }
.location-grid .fineprint { font-size: .66rem!important; margin-top: 15px; }
.schedule-panel { padding: 37px; border: 1px solid #c8d8c9; background: #ffffff6b; border-radius: 18px; }
.schedule-panel > div { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-bottom: 1px solid #d8e3d7; }
.schedule-panel > div > span { font-size: .8rem; color: #698071; }
.schedule-panel strong { font-size: .85rem; font-weight: 500; }
.schedule-panel > p:last-child { margin: 20px 0 0; font-size: .75rem!important; }
.social-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.social-links > a { position: relative; border-top: 1px solid var(--line); padding-block: 25px; }
.social-links span { display: block; font-size: .59rem; letter-spacing: .08em; color: var(--gold-dark); margin-bottom: 10px; }
.social-links strong { font-size: .84rem; font-weight: 500; overflow-wrap: anywhere; }
.social-links svg { position: absolute; top: 20px; right: 0; width: 20px; color: #517a68; }
/* Footer, utilities and motion */
.site-footer { background: white; padding: 50px 0 22px; }
.footer-main { display: grid; grid-template-columns: 1.1fr .6fr 1.2fr; gap: 65px; }
.footer-logo { display: block; width: 190px; margin-bottom: 25px; }
.footer-logo img { width: 190px; height: 85px; object-fit: contain; }
.footer-main p { font-size: .74rem; line-height: 1.9; color: var(--muted); }
.adult-label { display: inline-block; font-size: .49rem; color: var(--gold-dark); border: 1px solid #e7dcc4; border-radius: 4px; padding: 5px 8px; letter-spacing: .05em; }
.footer-main h2 { font: 700 .57rem var(--sans); letter-spacing: .14em; margin: 20px 0 25px; color: var(--gold-dark); }
.footer-main > div > a:not(.footer-logo) { display: block; font-size: .78rem; margin-bottom: 8px; color: var(--muted); overflow-wrap: anywhere; }
.footer-contact p { margin-top: 17px; }
.footer-socials { display: flex; gap: 18px; font-size: .66rem; color: #547a68; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); padding-top: 22px; margin-top: 35px; color: var(--muted); font-size: .61rem; }
.whatsapp-float { position: fixed; right: 22px; bottom: 20px; z-index: 90; display: flex; align-items: center; gap: 10px; border-radius: 50px; background: #24624f; color: white; padding: 13px 19px; font-size: .74rem; box-shadow: 0 6px 25px #234f3d35; border: 1px solid #79a99170; transition: transform .2s; }
.whatsapp-float:hover { transform: translateY(-3px); }
.whatsapp-float svg { width: 22px; height: 22px; }
.back-top { position: fixed; z-index: 85; bottom: 23px; left: 22px; border: 1px solid #d4dfd7; background: #fffffff2; border-radius: 50%; width: 38px; height: 38px; color: var(--ink); cursor: pointer; box-shadow: 0 4px 15px #163c3b12; }
[hidden] { display: none!important; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 110; background: white; padding: 12px; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #ad8b47; outline-offset: 5px; }
.motion-ready .reveal { opacity: 0; transform: translateY(25px); transition: opacity .75s, transform .75s; }
.motion-ready .reveal.is-visible { opacity: 1; transform: none; }
.motion-ready .steps li:nth-child(2), .motion-ready .value:nth-child(2) { transition-delay: .08s; }
.motion-ready .steps li:nth-child(3), .motion-ready .value:nth-child(3) { transition-delay: .16s; }
.motion-ready .value:nth-child(4) { transition-delay: .24s; }
[data-float] { animation: drift 7s ease-in-out infinite; }
@keyframes drift { 50% { transform: translateY(-12px) rotate(-2deg); } }
/* Tablets and smaller desktops */
@media (max-width: 1100px) {
  .wrap { width: calc(100% - 52px); }
  #site-menu { gap: 22px; }
  #site-menu .header-button { font-size: .66rem; padding: 11px 14px; gap: 12px; }
  .hero, .hero-inner { min-height: 700px; }
  .hero-copy h1 { font-size: 5.2rem; }
  .hero-copy { max-width: 480px; }
  .hero-description { max-width: 350px; }
  .hero-sticker { right: 4%; bottom: 95px; padding: 16px 21px; }
  .hero-sticker strong { font-size: 2rem; }
  .editorial-grid, .formation-grid, .about-story { gap: 55px; }
  .portrait-composition { min-height: 520px; padding-left: 20px; }
  .portrait-main { height: 475px; }
  .experience-note { padding: 16px 20px; right: -10px; }
  .experience-note strong { font-size: 3rem; }
  .service-editorial, .service-page-grid { gap: 45px; }
  .faq-grid { gap: 55px; }
  .formation-photo { padding-right: 0; }
  .offset-frame { height: 500px; }
  .promo-grid, .contact-grid { gap: 55px; }
  .footer-main { gap: 40px; }
}
@media (max-width: 900px) {
  .header-inner { gap: 15px; }
  .brand, .brand img { width: 145px; }
  #site-menu { gap: 17px; font-size: .72rem; }
  #site-menu .header-button { font-size: .61rem; gap: 8px; padding-inline: 11px; }
  .hero-photo { width: 64%; }
  .hero-light { background: linear-gradient(90deg, white 0%, #fbfdfc 30%, #f4f9f8e8 40%, #f3f8f700 76%); }
  .hero-copy h1 { font-size: 4.6rem; }
  .hero-description { font-size: .9rem; max-width: 310px; }
  .hero .eyebrow { font-size: .52rem; }
  .hero-copy .button { font-size: .73rem; padding-inline: 20px; gap: 12px; }
  .hero-sticker { right: 3%; bottom: 90px; }
  .hero-sticker strong { font-size: 1.7rem; }
  .hero-sticker small { font-size: .55rem; }
  .section { padding-block: 75px; }
  .editorial-grid, .formation-grid, .about-story { gap: 40px; }
  .editorial-copy h2, .formation-copy h2 { font-size: 2.6rem; }
  .portrait-main { height: 460px; width: 93%; }
  .portrait-composition { padding-left: 10px; }
  .sparkle-one { font-size: 70px; }
  .picture-label { left: 12px; font-size: .4rem; }
  .experience-note { bottom: 30px; }
  .offset-frame { height: 490px; border-top-left-radius: 90px; }
  .photo-caption { left: -15px; padding: 14px; gap: 10px; }
  .photo-caption p { font-size: .66rem; }
  .accordion summary { padding: 17px; gap: 11px; font-size: .79rem; }
  .answer { padding-left: 40px; }
  .service-row { gap: 15px; }
  .service-row h3 { font-size: 1.08rem; }
  .service-row p { font-size: .8rem; }
  .service-icon { width: 37px; height: 37px; }
  .service-icon svg { width: 20px; height: 20px; }
  .service-editorial { gap: 30px; grid-template-columns: .9fr 1.1fr; }
  .service-photo-label { left: 25px; }
  .service-photo-label h3 { font-size: 2rem; }
  .service-photo > small { left: 25px; }
  .benefits { padding-block: 120px; }
  .benefits-heading { column-gap: 40px; }
  .benefit-grid { gap: 22px; }
  .benefit-big { padding: 28px 25px; }
  .benefit-stat { font-size: 4.5rem; }
  .benefit-small { padding: 18px; gap: 15px; }
  .benefit-small h3 { font-size: 1.03rem; }
  .promo-grid { gap: 40px; }
  .promo-art:before { width: 280px; height: 270px; }
  .promo-art:after { width: 260px; height: 300px; }
  .promo-orbit { width: 250px; height: 250px; }
  .promo-70 { font-size: 7rem; }
  .promo-star { right: 0; }
  .promo-tag { bottom: 68px; }
  .faq-grid { grid-template-columns: .75fr 1.25fr; gap: 35px; }
  .faq-quote { font-size: 1.3rem; right: -5px; padding: 18px; }
  .closing-grid { gap: 10px; }
  .closing-copy h2 { font-size: 3.2rem; }
  .closing-copy p { max-width: 350px; }
  .conditions-grid, .location-grid { gap: 45px; }
  .service-page-grid { grid-template-columns: .8fr 1.2fr; gap: 40px; }
  .service-page-note { left: -10px; padding: 18px; font-size: 1.4rem; }
  .about-story-image img { height: 570px; }
  .values-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .contact-grid { gap: 40px; }
  .contact-phone { font-size: 1.5rem; gap: 15px; }
  .contact-portrait { height: 570px; }
  .contact-portrait-text { left: 20px; right: 20px; }
  .contact-portrait-text h2 { font-size: 2.2rem; }
  .contact-email a { font-size: .78rem; }
  .schedule-panel { padding: 26px; }
  .schedule-panel > div { flex-direction: column; gap: 5px; }
  .social-links { gap: 20px; }
  .social-links strong { font-size: .72rem; }
  .footer-main { grid-template-columns: 1fr .6fr 1.2fr; gap: 30px; }
  .footer-logo, .footer-logo img { width: 155px; }
  .footer-main > div > a:not(.footer-logo) { font-size: .71rem; }
}
/* Mobile: recompose instead of shrinking desktop */
@media (max-width: 700px) {
  html { scroll-padding-top: 88px; }
  .wrap { width: calc(100% - 36px); }
  .topline .wrap { padding-block: 7px; font-size: .43rem; gap: 10px; letter-spacing: .04em; }
  .topline .wrap > span:first-child { max-width: 220px; }
  .topline .wrap > span:last-child { text-align: right; max-width: 100px; }
  .topline b { padding-inline: 3px; }
  .header-inner { min-height: 77px; }
  .brand, .brand img { width: 144px; }
  .brand img { height: 67px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 12px; border: 1px solid #d8e2dc; border-radius: 30px; padding: 9px 14px; background: white; font-size: .73rem; color: var(--ink); }
  .menu-toggle i { width: 14px; height: 10px; position: relative; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
  .menu-toggle i:after { content: ''; position: absolute; width: 9px; height: 1px; right: 0; top: 4px; background: currentColor; }
  #site-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 15px 20px 22px; background: #fffffff7; backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); box-shadow: 0 20px 25px #163f3b0c; font-size: .83rem; }
  #site-menu.open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  #site-menu > a:not(.button) { padding: 12px 15px; }
  #site-menu > a:not(.button):after { display: none; }
  #site-menu > a[aria-current='page'] { background: #eff6f1; border-radius: 8px; }
  #site-menu .header-button { font-size: .78rem; padding: 14px; margin-top: 10px; }
  .hero { min-height: 0; padding-bottom: 55px; display: flex; flex-direction: column; }
  .hero-photo { position: relative; order: 2; width: 100%; height: 450px; }
  .hero-photo img { object-position: 50% 29%; }
  .hero-photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, white, #fff0 19%), linear-gradient(0deg, #f1f7f3, #fff0 20%); }
  .hero-light { display: none; }
  .hero-inner { min-height: 0; order: 1; padding: 38px 0 28px; }
  .hero { background: white; }
  .hero-copy { max-width: 100%; width: 100%; }
  .hero-copy h1 { font-size: clamp(2.65rem, 12vw, 4.5rem); line-height: 1.04; margin-bottom: 23px; }
  .hero-copy h1 br:nth-child(2) { display: none; }
  .hero-copy h1 em { font-size: 1.1em; }
  .hero-copy .eyebrow { font-size: .52rem; margin-bottom: 22px; }
  .hero-description { max-width: 420px; font-size: .9rem; line-height: 1.8; margin-bottom: 24px; }
  .button { font-size: .76rem; gap: 18px; padding: 15px 21px; min-height: 51px; }
  .hero-copy .button { font-size: .76rem; }
  .hero-discover { font-size: .7rem; margin-top: 16px; }
  .hero-audience { margin-top: 22px; }
  .hero-audience p { font-size: .6rem; }
  .hero-audience > span { width: 34px; height: 34px; font-size: .67rem; }
  .hero-sticker { bottom: 80px; right: 20px; padding: 15px 20px; border-radius: 11px; }
  .hero-sticker strong { font-size: 1.8rem; }
  .hero-sticker span { font-size: .48rem; }
  .hero-sticker small { font-size: .56rem; }
  .hero-vertical { top: auto; bottom: 340px; right: 13px; font-size: .45rem; }
  .hero > .wave { height: 55px; background: #f1f7f3; }
  .hero > .wave path { opacity: 1; }
  .contour-hero { left: auto; right: -350px; bottom: auto; top: 130px; }
  .wave { height: 50px; }
  .chapter-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; padding-block: 20px 24px; }
  .chapter-nav a { font-size: .56rem; gap: 9px; }
  .chapter-nav a span { font-size: .7rem; }
  .section { padding-block: 60px; }
  .eyebrow { font-size: .58rem; margin-bottom: 20px; }
  h2 { font-size: 2.6rem; }
  .editorial-grid, .formation-grid, .service-editorial, .faq-grid, .about-story, .conditions-grid, .contact-grid, .location-grid, .service-page-grid { grid-template-columns: 1fr; gap: 40px; }
  .editorial-grid { gap: 40px; }
  .portrait-composition { min-height: 515px; width: min(100%, 410px); margin: auto; padding: 15px 20px 20px 10px; }
  .portrait-main { height: 465px; width: 91%; border-width: 6px; }
  .portrait-shadow { height: 88%; right: 35px; }
  .experience-note { right: 8px; bottom: 25px; padding: 13px 19px; }
  .experience-note strong { font-size: 3.2rem; }
  .experience-note em { font-size: 1.65rem; }
  .experience-note small { font-size: .56rem; }
  .sparkle-one { right: 0; top: -6px; font-size: 65px; }
  .sparkle-two { left: -3px; bottom: 65px; font-size: 50px; }
  .picture-label { left: 10px; bottom: -5px; font-size: .43rem; }
  .editorial-copy p:not(.eyebrow) { font-size: .88rem; }
  .inline-benefits { gap: 7px; margin-block: 23px 27px; }
  .inline-benefits span { padding: 7px 10px; font-size: .58rem; }
  .formation-section { padding-block: 60px 100px; }
  .formation-copy h2 { font-size: 2.6rem; }
  .formation-copy > p:not(.eyebrow) { font-size: .87rem; }
  .formation-grid { gap: 42px; }
  .formation-photo { width: min(100%, 370px); margin: auto; padding: 0 15px 0; }
  .offset-frame { height: 430px; box-shadow: 12px 12px 0 #fff9, 13px 13px 0 #a1c2b570; }
  .photo-caption { left: 0; bottom: 57px; padding: 15px; }
  .photo-caption p { font-size: .7rem; }
  .photo-credit { font-size: .48rem; margin-top: 26px; }
  .accordion { margin-top: 25px; }
  .accordion summary { font-size: .8rem; padding: 17px 15px; gap: 11px; }
  .accordion-index { font-size: .55rem; }
  .answer { padding: 0 17px 18px 40px; }
  .answer p { font-size: .79rem; }
  .split-heading { display: block; }
  .section-head { margin-bottom: 30px; }
  .split-heading .text-link { margin-top: 20px; }
  .service-editorial { gap: 22px; }
  .service-photo { height: 430px; }
  .service-photo-label { bottom: 32px; left: 26px; }
  .service-photo-label h3 { font-size: 2.35rem; }
  .service-photo > small { left: 26px; bottom: 14px; font-size: .45rem; }
  .service-row { padding-block: 24px; gap: 16px; }
  .service-row h3 { font-size: 1.18rem; margin-top: 2px; }
  .service-row p { font-size: .82rem; }
  .service-icon { width: 40px; height: 40px; }
  .service-icon svg { width: 22px; height: 22px; }
  .round-link { width: 29px; height: 29px; }
  .benefits { padding-block: 100px; }
  .benefits-heading { display: block; }
  .benefits-heading h2 { margin-bottom: 22px; }
  .benefits-heading > p:not(.eyebrow) { font-size: .85rem; }
  .benefit-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 30px; }
  .benefit-big { padding: 28px; }
  .benefit-stat { font-size: clamp(4.7rem, 19vw, 6rem); }
  .benefit-label { font-size: .5rem; }
  .benefit-small { padding: 22px; }
  .benefit-small h3 { font-size: 1.12rem; }
  .benefit-bottom { display: block; font-size: .68rem; }
  .benefit-bottom > span { display: flex; margin-bottom: 16px; }
  .steps { grid-template-columns: 1fr; gap: 35px; margin-top: 30px; }
  .steps:before { display: none; }
  .steps li { display: grid; grid-template-columns: 67px 1fr; text-align: left; column-gap: 20px; align-items: center; }
  .step-number { grid-row: 1 / 3; width: 65px; height: 65px; border-width: 5px; margin: 0; font-size: 1.65rem; }
  .steps h3 { font-size: 1.25rem; margin-bottom: 9px; }
  .steps p { max-width: 100%; font-size: .81rem; }
  .section-head > p:not(.eyebrow) { font-size: .86rem; }
  .promo-grid { grid-template-columns: 1fr; gap: 10px; }
  .promo-art { height: 310px; width: 300px; max-width: 100%; margin: auto; }
  .promo-art:before { width: 270px; height: 250px; }
  .promo-art:after { width: 250px; height: 275px; }
  .promo-orbit { width: 235px; height: 235px; }
  .promo-70 { font-size: 7rem; }
  .promo-tag { bottom: 45px; font-size: .48rem; }
  .promo-star { top: 0; right: 4px; font-size: 4rem; }
  .promo-copy > p:not(.eyebrow) { font-size: .86rem; }
  .promo-copy h2 { font-size: 2.55rem; }
  .faq-grid { gap: 35px; }
  .faq-visual { max-width: 360px; width: 100%; margin: auto; padding: 10px 15px 45px; }
  .faq-portrait { height: 400px; }
  .faq-quote { bottom: 10px; right: 10px; font-size: 1.45rem; padding: 20px; }
  .faq-visual .sparkle-one { right: -3px; font-size: 62px; }
  .faq-section .accordion summary { padding-block: 18px; }
  .closing-grid { grid-template-columns: 1fr; min-height: 0; gap: 0; }
  .closing-copy { padding-block: 55px 25px; }
  .closing-copy h2 { font-size: 3.25rem; }
  .closing-copy > p:not(.eyebrow) { max-width: 450px; font-size: .86rem; }
  .closing-copy .closing-note { font-size: .56rem!important; }
  .closing-image { min-height: 480px; height: 480px; margin-inline: -18px; }
  .closing-image img { object-position: 50% 25%; }
  .closing-image:after { background: linear-gradient(180deg, #edf6f2, transparent 20%), linear-gradient(0deg, #edf6f2, transparent 30%); }
  .closing-signature { bottom: 85px; left: 35px; font-size: 3.2rem; }
  .page-intro { padding: 45px 0 85px; }
  .page-intro h1 { font-size: clamp(2.5rem, 9.9vw, 3.7rem); line-height: 1.12; }
  .intro-description { font-size: .9rem; }
  .intro-ring { width: 400px; height: 400px; right: -270px; }
  .service-page-photo { position: relative; top: 0; max-width: 450px; width: 100%; margin: auto; }
  .service-page-photo img { height: 400px; }
  .service-page-photo > p { font-size: .51rem; }
  .service-page-note { left: 14px; bottom: 65px; padding: 20px; font-size: 1.55rem; }
  .conditions-list { padding-top: 5px; }
  .conditions-list article { gap: 18px; }
  .conditions-list h3 { font-size: 1.13rem; }
  .conditions-list p { font-size: .82rem; }
  .about-story-image img { height: 470px; }
  .image-footnote { font-size: .52rem; }
  .about-story > div > p:not(.eyebrow) { font-size: .88rem; }
  .values-section { padding-bottom: 105px; }
  .values-grid { gap: 30px 25px; }
  .value h3 { font-size: 1.25rem; }
  .value p { font-size: .8rem; }
  .value > svg { margin: 24px 0 20px; }
  .philosophy { padding-block: 40px 60px; }
  .philosophy h2 { font-size: 2.5rem; }
  .philosophy > p:not(.eyebrow) { font-size: .85rem; }
  .contact-grid { gap: 35px; }
  .contact-portrait { height: 450px; }
  .contact-portrait img { object-position: 50% 20%; }
  .contact-portrait-text h2 { font-size: 2.6rem; }
  .contact-info h2 { font-size: 2.7rem; }
  .contact-info > p:not(.eyebrow) { font-size: .87rem; }
  .contact-phone { font-size: 1.7rem; }
  .contact-email a { font-size: .84rem; }
  .location-grid { gap: 30px; }
  .location-grid h2 { font-size: 2.45rem; }
  .schedule-panel { padding: 26px; }
  .schedule-panel > div { flex-direction: row; gap: 15px; }
  .schedule-panel strong { font-size: .79rem; }
  .social-links { grid-template-columns: 1fr; gap: 0; }
  .social-links strong { font-size: .87rem; }
  .social-links > a { padding-block: 25px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 25px; }
  .footer-main > div:last-child { grid-column: 1 / -1; }
  .footer-main h2 { margin-top: 10px; }
  .footer-logo, .footer-logo img { width: 160px; }
  .footer-logo { margin-bottom: 16px; }
  .footer-main p { font-size: .72rem; }
  .footer-main > div > a:not(.footer-logo) { font-size: .76rem; }
  .adult-label { font-size: .43rem; }
  .footer-bottom { display: block; padding-bottom: 50px; }
  .footer-bottom > span { display: block; margin-bottom: 8px; }
  .whatsapp-float { right: 13px; bottom: 13px; padding: 11px 15px; font-size: .68rem; }
  .back-top { bottom: 17px; left: 14px; width: 34px; height: 34px; }
  html:not(.js-nav) .header-inner { flex-wrap: wrap; }
  html:not(.js-nav) #site-menu { display: flex; flex-wrap: wrap; position: static; padding: 10px 0; box-shadow: none; gap: 6px; }
  html:not(.js-nav) .menu-toggle { display: none; }
}
@media (max-width: 360px) {
  .hero-copy h1 { font-size: 2.7rem; }
  .hero-copy .eyebrow { font-size: .47rem; }
  .hero-photo { height: 410px; }
  .portrait-composition { min-height: 470px; }
  .portrait-main { height: 420px; }
  .service-row { gap: 12px; }
  .service-icon { width: 34px; height: 34px; }
  .service-row h3 { font-size: 1.1rem; }
  .benefit-stat { font-size: 4.4rem; }
  .contact-phone { font-size: 1.5rem; }
  .schedule-panel { padding: 22px; }
  .schedule-panel > div { flex-direction: column; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation: none!important; transition: none!important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
}
