/* Home: approved photographic opening, practical shared footer. */
*{box-sizing:border-box;}html{background:#fff;}
.page-home{--home-ink:#181818;--home-muted:#555a55;--home-yellow:#f5c400;--home-line:#18181823;--home-gutter:clamp(24px,5vw,84px);margin:0;background:#fff;color:#181818;overflow-x:hidden;font:400 15px/1.7 Manrope,sans-serif;-webkit-font-smoothing:antialiased;}
.page-home :is(h1,h2,h3,p,figure){margin:0;}.page-home a{color:inherit;text-decoration:none;}
.page-home :is(h1,h2,h3),.page-home :is(h1,h2,h3) *{font-family:'Bricolage Grotesque',Manrope,sans-serif!important;font-weight:500;}
.page-home :is(h1,h2,h3) em{font-style:normal;color:inherit;text-decoration:none;}
.page-home .home-footer{ max-width:1680px; margin:0 auto; padding:75px var(--home-gutter) 26px; }
.page-home .home-footer-contact{ display:flex; align-items:center; justify-content:space-between; gap:45px; padding-bottom:60px; }
.page-home .home-footer-contact h2{ font-size:clamp(39px,4.3vw,67px); line-height:1.08; letter-spacing:-.035em; }
.page-home .home-footer-contact>div{ display:flex; flex-direction:column; gap:20px; }
.page-home .home-footer-phone{ font-size:22px; letter-spacing:-.02em; }
.page-home .home-footer-top{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; padding:35px 0; border-top:1px solid var(--home-line); }
.page-home .home-footer-top strong{ display:block; margin-bottom:10px; font-size:17px; font-weight:500; }
.page-home .home-footer-top p{ color:var(--home-muted); font-size:13px; line-height:1.8; }
.page-home .home-footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding-top:22px; border-top:1px solid var(--home-line); color:var(--home-muted); font-size:11px; }
.page-home .home-footer :is(p,.home-footer-bottom) a:hover{ color:var(--home-ink); text-decoration:underline; text-underline-offset:4px; }
@media(max-width:760px){.page-home .home-footer{ padding-top:55px; }
.page-home .home-footer-contact{ display:block; padding-bottom:35px; }
.page-home .home-footer-contact h2{ font-size:clamp(37px,6.4vw,48px); }
.page-home .home-footer-contact>div{ margin-top:25px; }
.page-home .home-footer-top{ grid-template-columns:1fr 1fr; gap:25px; padding:28px 0; }
.page-home .home-footer-top>div:last-child{ grid-column:1/-1; }
.page-home .home-footer-bottom{ justify-content:flex-start; gap:16px 24px; font-size:11px; }}
/* Hero approved by Filippo on 13 October; keep its composition. */
.page-home {--rc-white:#181818;--rc-black:#0b0b0b;--rc-yellow:#f5c400;--rc-grey:#555a55;--rc-rule:#d4d6d1;--rc-gutter:clamp(24px,5vw,90px);}
.page-home .home-hero {padding:112px 0 0;justify-content:initial;}
.page-home .home-hero{ min-height:100svh; display:flex; flex-direction:column; padding-top:112px; overflow:hidden; }
.page-home .home-lead-stage{ position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:clamp(20px,3vw,50px); width:100%; max-width:1700px; min-height:calc(100svh - 270px); margin:auto; padding:45px var(--rc-gutter) 58px; }
.page-home .home-statement{ position:relative; z-index:3; padding:10px 0; }
.page-home .home-statement h1{ max-width:690px; font-size:clamp(50px,4.65vw,76px); font-weight:500; letter-spacing:-.04em; line-height:1.05; }
.page-home .home-statement .home-lead{ max-width:485px; margin-top:30px; color:#c9c7c1; font-size:15px; line-height:1.8; }
.page-home .home-text-link{ display:inline-block; width:max-content; max-width:100%; padding:8px 0; border-bottom:1px solid currentColor; color:var(--rc-white); font-size:14px; line-height:1.5; transition:color .2s; }
.page-home .home-text-link:hover{ color:var(--rc-yellow); }
.page-home .home-main-link{ margin-top:24px; font-size:16px; }
.page-home .home-people{ position:relative; height:clamp(390px,40vw,550px); min-width:0; perspective:1200px; transform-style:preserve-3d; }
.page-home .home-people::before{ content:''; position:absolute; top:10%; left:28%; width:65%; height:78%; background:var(--rc-yellow); transform:rotate(12deg); }
.page-home .home-person{ position:absolute; display:block; width:53%; box-shadow:0 20px 55px #0008; background:#191919; transform-style:preserve-3d; will-change:transform; transition:transform .65s cubic-bezier(.22,1,.36,1); }
.page-home .home-person img{ display:block; width:100%; aspect-ratio:.71; height:auto; object-fit:cover; object-position:center 20%; filter:grayscale(1) contrast(1.04); }
.page-home .home-person>span{ display:block; padding:15px 16px; color:var(--rc-white); font-size:16px; line-height:1.2; }
.page-home .home-person--cecilia{ z-index:2; top:0; left:0; transform:translate3d(calc(var(--portrait-x,0) * -9px),calc(var(--portrait-y,0) * -7px),20px) rotate(-6deg) rotateY(calc(var(--portrait-x,0) * 2deg)); }
.page-home .home-person--rosario{ z-index:3; right:0; bottom:0; transform:translate3d(calc(var(--portrait-x,0) * 7px),calc(var(--portrait-y,0) * 5px),55px) rotate(5deg) rotateY(calc(var(--portrait-x,0) * -2deg)); }
.page-home .home-person--rosario img{ object-position:center 20%; }
.page-home .home-person:hover>span{ color:var(--rc-yellow); }
.page-home .home-person:focus-visible{ outline:3px solid var(--rc-yellow); outline-offset:8px; }
.page-home .home-paths{ position:relative; z-index:4; background:var(--rc-yellow); color:var(--rc-black); }
.page-home .home-paths-track{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; max-width:1700px; margin:auto; padding:30px var(--rc-gutter); }
.page-home .home-path{ display:flex; flex-direction:column; justify-content:center; padding:4px 32px; min-height:84px; border-right:1px solid #0b0b0b55; transition:color .2s; }
.page-home .home-path:first-child{ padding-left:0; }
.page-home .home-path:last-child{ border:0; padding-right:0; }
.page-home .home-path strong{ font-size:clamp(20px,1.65vw,28px); line-height:1.2; letter-spacing:-.025em; font-weight:600; }
.page-home .home-path>span{ display:block; max-width:310px; margin-top:10px; color:#302a13; font-size:12px; line-height:1.6; }
.page-home .home-path:hover strong{ text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.page-home .home-path:focus-visible{ outline:2px solid var(--rc-black); outline-offset:8px; }
.page-home .home-section-heading .home-text-link{ margin-bottom:5px; }
.page-home .home-work-copy .home-text-link{ margin-top:24px; }
.page-home .home-footer-contact .home-text-link{ font-size:17px; }
@media(min-width:1700px){.page-home .home-lead-stage{ min-height:680px; }
.page-home .home-people{ height:550px; }}
@media(max-width:1100px){.page-home .home-lead-stage{ padding-top:45px;gap:24px; }
.page-home .home-statement h1{ font-size:clamp(44px,5vw,60px); }
.page-home .home-statement .home-lead{ font-size:14px; }
.page-home .home-people{ height:400px; }
.page-home .home-person{ width:54%; }
.page-home .home-person>span{ font-size:14px;padding:12px; }
.page-home .home-path{ padding-inline:24px; }
.page-home .home-paths-track{ padding-block:26px; }}
@media(min-width:761px) and (max-height:850px){.page-home .home-lead-stage{ min-height:calc(100svh - 256px);padding-top:24px;padding-bottom:40px; }
.page-home .home-people{ height:clamp(330px,35vw,440px); }
.page-home .home-person{ width:48%; }
.page-home .home-person img{ aspect-ratio:.86; }
.page-home .home-statement h1{ font-size:clamp(43px,4.1vw,64px); }
.page-home .home-paths-track{ padding-block:24px; }}
@media(max-width:760px){.page-home .home-hero{ padding-top:94px;min-height:0; }
.page-home .home-lead-stage{ grid-template-columns:1fr;min-height:0;gap:34px;padding:30px var(--rc-gutter) 42px; }
.page-home .home-statement{ padding:0; }
.page-home .home-statement h1{ font-size:clamp(37px,6.4vw,54px);max-width:580px; }
.page-home .home-statement .home-lead{ margin-top:22px;max-width:500px;font-size:14px;line-height:1.75; }
.page-home .home-main-link{ margin-top:18px;font-size:15px; }
.page-home .home-people{ width:min(470px,100%);height:clamp(340px,79vw,490px);margin:auto; }
.page-home .home-person{ width:53%; }
.page-home .home-person>span{ font-size:14px; }
.page-home .home-paths-track{ grid-template-columns:1fr;padding:13px var(--rc-gutter); }
.page-home .home-path,.page-home .home-path:first-child,.page-home .home-path:last-child{ min-height:0;padding:19px 0;border:0;border-bottom:1px solid #0b0b0b55; }
.page-home .home-path:last-child{ border:0; }
.page-home .home-path strong{ font-size:23px; }
.page-home .home-path>span{ max-width:none;margin-top:7px;font-size:12px; }
.page-home .home-section-heading .home-text-link{ margin-top:22px; }}
@media(min-width:550px) and (max-width:760px){.page-home .home-lead-stage{ grid-template-columns:1.12fr 1fr;gap:26px;padding-top:34px;padding-bottom:40px; }
.page-home .home-statement h1{ font-size:36px; }
.page-home .home-statement .home-lead{ font-size:13px; }
.page-home .home-people{ height:340px; }
.page-home .home-person{ width:62%; }
.page-home .home-person--cecilia{ left:-5%;top:5px; }
.page-home .home-person--rosario{ right:-4%; }
.page-home .home-person>span{ font-size:14px;padding:10px; }
.page-home .home-paths-track{ grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-block:22px; }
.page-home .home-path,.page-home .home-path:first-child,.page-home .home-path:last-child{ padding:0;justify-content:start;border:0; }
.page-home .home-path strong{ font-size:18px;line-height:1.25; }
.page-home .home-path>span{ font-size:11px;line-height:1.65; }}
@media(max-width:360px){.page-home .home-statement h1{ font-size:35px; }
.page-home .home-statement .home-lead{ font-size:13px; }
.page-home .home-people{ height:310px; }
.page-home .home-person>span{ font-size:12px;padding:11px; }}
@media(prefers-reduced-motion:reduce){.page-home .home-person{ transform:rotate(-6deg);transition:none!important;will-change:auto; }
.page-home .home-person--rosario{ transform:rotate(5deg); }
.page-home .home-text-link,.page-home .home-story>img{ transition:none!important; }}
.page-home.theme-light .home-hero{ position:relative; isolation:isolate; background:#fff; }
.page-home.theme-light .home-hero::before{ content:''; position:absolute; z-index:-2; inset:-35px; background:url('../img/studio-piano.webp') 65% 46%/cover no-repeat; filter:grayscale(1) blur(26px); opacity:.5; pointer-events:none; }
.page-home.theme-light .home-hero::after{ content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#ffffffed 0%,#ffffffc7 34%,#ffffff26 72%,#ffffff5c),linear-gradient(180deg,#ffffffa1,transparent 40%,#ffffffb3 100%); pointer-events:none; }
.page-home.theme-light .home-statement .home-lead{ color:#414541; }
.page-home.theme-light .home-person{ background:#fff; box-shadow:0 22px 52px #252a252b,0 3px 8px #252a2512; }
.page-home.theme-light .home-person>span{ color:var(--light-ink); }
.page-home.theme-light .home-person:hover>span{ color:var(--light-ink); text-decoration:underline; text-decoration-color:var(--light-yellow); text-underline-offset:5px; }
.page-home.theme-light .home-people::before{ box-shadow:0 12px 35px #252a2514; }
.page-home.theme-light .home-text-link{ color:var(--light-ink); }
.page-home.theme-light .home-text-link:hover{ color:var(--light-ink); border-bottom-color:var(--light-yellow); }
@media(max-width:760px){.page-home.theme-light .home-hero::before{ background-position:60% center; filter:grayscale(1) blur(21px); opacity:.4; }
.page-home.theme-light .home-hero::after{ background:linear-gradient(180deg,#ffffffd4,#ffffff78 50%,#ffffffb3); }}
.page-home.theme-light .home-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:28px; }
.page-home.theme-light .home-actions .home-main-link{ margin:0; }
.page-home.theme-light .home-lead-stage{ min-height:calc(100svh - 282px); padding-top:32px; padding-bottom:46px; }
.page-home.theme-light .home-statement h1{ font-size:clamp(46px,4.35vw,72px); line-height:1.07; letter-spacing:-.04em; }
.page-home.theme-light .home-statement h1 em{ text-decoration:none; background:linear-gradient(transparent 78%,#f5c40099 78% 94%,transparent 94%); }
.page-home.theme-light .home-statement .home-lead{ max-width:475px; margin-top:28px; font-size:15px; line-height:1.8; }
.page-home.theme-light .home-people::before{ top:7%; left:9%; width:84%; height:85%; border-radius:4px; transform:rotate(-7deg); background:var(--light-yellow); }
.page-home.theme-light .home-person{ border-radius:4px; overflow:hidden; }
.page-home.theme-light .home-person>span{ padding:17px 18px; font-weight:600; }
.page-home.theme-light .home-paths{ background:transparent; }
.page-home.theme-light .home-paths-track{ gap:18px; padding-top:18px; padding-bottom:30px; }
.page-home.theme-light .home-path,.page-home.theme-light .home-path:first-child,.page-home.theme-light .home-path:last-child{ position:relative; min-height:124px; padding:23px 25px; border:1px solid #18181824; border-radius:4px; background:#ffffffd9; color:var(--light-ink); box-shadow:none; backdrop-filter:blur(16px); cursor:pointer; transition:background .25s,border-color .25s; }
.page-home.theme-light .home-path strong{ font-size:clamp(20px,1.6vw,27px); line-height:1.2; }
.page-home.theme-light .home-path>span{ color:var(--light-muted); font-size:13px; line-height:1.6; }
.page-home.theme-light .home-path:hover{ background:#fff9dd; border-color:#e1cb71; box-shadow:none; transform:none; }
.page-home.theme-light .home-path:hover strong{ text-decoration:none; }
.page-home.theme-light .home-path:hover>span{ color:var(--light-ink); }
.page-home.theme-light .home-path:active{ transform:none; box-shadow:none; opacity:.82; }
.page-home.theme-light .home-path:focus-visible{ outline:2px solid #181818; outline-offset:5px; background:var(--light-yellow); }
@media(min-width:761px) and (max-height:850px){.page-home.theme-light .home-lead-stage{ min-height:calc(100svh - 276px); padding-top:20px; padding-bottom:32px; }
.page-home.theme-light .home-statement h1{ font-size:clamp(42px,4vw,62px); }
.page-home.theme-light .home-person{ width:48%; }
.page-home.theme-light .home-people::before{ top:12%; left:17%; width:69%; height:72%; }
.page-home.theme-light .home-paths-track{ padding-bottom:22px; }}
@media(max-width:1100px) and (min-width:761px){.page-home.theme-light .home-actions{ gap:10px; }
.page-home.theme-light .home-actions .rc-button{ padding-inline:18px; font-size:13px; }
.page-home.theme-light .home-path,.page-home.theme-light .home-path:first-child,.page-home.theme-light .home-path:last-child{ padding:20px; }}
@media(max-width:760px){.page-home.theme-light .home-lead-stage{ min-height:0; padding-top:30px; padding-bottom:30px; }
.page-home.theme-light .home-statement h1{ font-size:clamp(35px,6.3vw,49px); }
.page-home.theme-light .home-statement .home-lead{ margin-top:23px; font-size:14px; }
.page-home.theme-light .home-actions{ margin-top:24px; gap:12px; }
.page-home.theme-light .home-actions .rc-button{ min-height:50px; padding:13px 18px; font-size:13px; }
.page-home.theme-light .home-paths-track{ padding-top:16px; padding-bottom:24px; gap:12px; }
.page-home.theme-light .home-path,.page-home.theme-light .home-path:first-child,.page-home.theme-light .home-path:last-child{ min-height:108px; padding:22px; }
.page-home.theme-light .home-path strong{ font-size:23px; }
.page-home.theme-light .home-path>span{ font-size:13px; }}
@media(min-width:550px) and (max-width:760px){.page-home.theme-light .home-statement h1{ font-size:34px; }
.page-home.theme-light .home-statement .home-lead{ font-size:13px; }
.page-home.theme-light .home-actions{ gap:10px; }
.page-home.theme-light .home-actions .rc-button{ padding-inline:16px; font-size:12px; }
.page-home.theme-light .home-people{ height:300px; }
.page-home.theme-light .home-person{ width:53%; }
.page-home.theme-light .home-person--cecilia{ left:-2%; }
.page-home.theme-light .home-person--rosario{ right:-2%; }
.page-home.theme-light .home-person>span{ padding:12px; font-size:13px; }
.page-home.theme-light .home-path,.page-home.theme-light .home-path:first-child,.page-home.theme-light .home-path:last-child{ padding:18px 14px; }
.page-home.theme-light .home-path strong{ font-size:18px; }
.page-home.theme-light .home-path>span{ font-size:12px; }}
@media(max-width:380px){.page-home.theme-light .home-actions{ display:grid; grid-template-columns:1fr; }
.page-home.theme-light .home-actions .rc-button{ width:100%; }}
@media(prefers-reduced-motion:reduce){.page-home.theme-light .rc-button,.page-home.theme-light .home-path{ transition:none!important; }
.page-home.theme-light .rc-button:hover,.page-home.theme-light .home-path:hover{ transform:none!important; }}
