/* Identità condivisa — home completa e pagine interne, 15 ottobre 2026. */
body, body.home-refresh {
 --ink:#080809;--paper:#F4F4F2;--brand:#E39260;--panel:#121214;--line:#26262A;
 --muted:#BDBDB8;--sans:Inter,sans-serif;--serif:Inter,sans-serif;--display:Anton,sans-serif;
 background:var(--ink);color:var(--paper);font:400 16px/1.6 var(--sans);
}
body h2 {font-family:var(--display);text-transform:uppercase;font-weight:400;}
body .section-wrap {padding-inline:max(24px,calc((100% - 1312px)/2));}
body :is(.section-label,.breadcrumb,.photo-note,.credentials,.person-role,.form-help,.footer,.footer-legal,.review-card>p,.contact-alternatives,.contact-alternatives>span,.traits-source,.traits-source a,.document-status,.path-category) {font-size:14px;color:var(--muted);}
body .section-label {letter-spacing:.06em;text-transform:uppercase;line-height:1.5;}
body :is(.page-lead,.field-intro>p:last-child,.feature-item h3) {font-family:var(--sans);}
body :is(blockquote,.person h3,.phone),body .review-card blockquote,body :is(#gabriele,#lucilla,#federica).profile-detail h2,body .steps li>span,
body.home-refresh .home-hero .hero-wordmark,body.home-refresh .definition {font-family:Fraunces,serif;font-weight:500;}
body :is(#gabriele,#lucilla,#federica).profile-detail h2 {text-transform:none;}
body .pronunciation em {font-family:var(--sans);}
body :is(.button,.text-link,.poster-link,.consent-button) {min-height:44px;font:600 14px/1.5 var(--sans);}
body .button-primary {background:var(--brand);color:#141210;}
body .button-primary:hover {background:#efa879;color:#141210;}
body .button-secondary {background:transparent;border:1px solid var(--line);color:var(--paper);}
body .button-secondary:hover {border-color:#76767e;background:var(--panel);}
body :is(a,button,summary,input,textarea):focus-visible {outline:2px solid var(--brand);outline-offset:4px;}
body .text-link {display:inline-flex;align-items:center;gap:8px;white-space:normal;}
body .breadcrumb a,body .related-links a {display:inline-flex;align-items:center;min-height:44px;}
body .page-hero {padding-block:36px 64px;}
body .page-lead {color:var(--muted);font-size:22px;line-height:1.6;}
body .article-section {padding-block:64px;}
body .profile-detail p,body .article-section>p {font-size:16px;}
body .feature-item h3 {font-size:24px;font-weight:600;}
body .phone {display:inline-flex;align-items:center;min-height:44px;color:var(--brand);}
body .contact-form-panel .form-help,body #contact-form label {font-size:14px;}
body #contact-form :is(input,textarea) {font-size:16px;}
body .contact-alternatives a {display:inline-flex;align-items:center;min-height:44px;}
body .close-dialog {min-width:44px;min-height:44px;font-size:26px;}
body .motion-reveal,body .motion-reveal.is-waiting {opacity:1;transform:none;transition:none;}
/* Contenuti subito disponibili, anche durante lo scorrimento veloce. */
body .footer {display:grid;grid-template-columns:64px 1fr;gap:20px 28px;padding-block:36px;color:var(--muted);font-size:14px;background:var(--ink);}
body .footer a {margin:0;display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;}
body .footer-symbol {grid-column:1;grid-row:1;align-self:start;width:48px;}
body .footer-symbol img {width:48px;height:44px;object-fit:contain;}
body .footer-nav {grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;gap:0 24px;margin:0;}
body .footer-nav a {font-size:14px;}
body .footer-meta {grid-column:2;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;}
body .footer-legal {grid-column:2;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;margin:0;padding-top:16px;}
body .footer-legal span {align-self:center;}
/* Home: mantiene il contenuto e allinea l'impaginazione ai mockup. */
body.home-refresh h2 {font-size:clamp(38px,4.45vw,64px);line-height:1.08;letter-spacing:-.02em;}
body.home-refresh .canine-art,body.home-refresh .canine-mark {display:none;}
body.home-refresh .activities::after,body.home-refresh .contact::after {content:none;}
body.home-refresh .home-hero {min-height:720px;}
body.home-refresh .home-hero-media {min-height:720px;}
body.home-refresh .home-hero .hero-wordmark {font-size:132px;font-weight:400;}
body.home-refresh .definition {font-size:32px;}
body.home-refresh .hero-reviews {background:transparent;}
body.home-refresh .review-stars {color:var(--brand);}
body.home-refresh .specialization {display:grid;grid-template-columns:5fr 5fr auto;gap:48px;align-items:center;background:var(--brand);color:#141210;padding-block:40px;}
body.home-refresh .specialization .section-label {color:#141210;margin-bottom:10px;}
body.home-refresh .specialization h2 {font-size:clamp(36px,3.1vw,48px);max-width:470px;}
body.home-refresh .specialization>p {font-size:16px;line-height:1.6;}
body.home-refresh .specialization-action {background:#141210;color:var(--paper);min-height:52px;padding:12px 20px;white-space:nowrap;}
body.home-refresh .specialization-action:hover {background:#26231f;}
body.home-refresh .specialization a:focus-visible {outline-color:#141210;}
body.home-refresh .paths {padding-block:80px;}
body.home-refresh .path-icon {color:var(--brand);}
body.home-refresh .experience {--paper:#F4F4F2;--brand:#E39260;background:#EDEBE6;color:#141210;padding-block:64px;display:grid;grid-template-columns:7fr 4fr;gap:64px;align-items:center;}
body.home-refresh .experience .section-label {color:#5D5D57;margin-bottom:24px;}
body.home-refresh .experience blockquote {font-size:clamp(26px,2.75vw,40px);line-height:1.3;max-width:860px;}
body.home-refresh .quote-attribution {margin-top:24px;font-size:14px;}
body.home-refresh .experience .review-actions {display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
body.home-refresh .review-rating {display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;}
body.home-refresh .experience .review-stars {color:#975024;font-size:20px;}
body.home-refresh .experience .button-primary {background:#141210;color:var(--paper);padding:14px 20px;min-height:52px;}
body.home-refresh .experience .text-link {color:#141210;border-color:#73736c;}
body.home-refresh .experience :is(a,button):focus-visible {outline-color:#141210;}
body.home-refresh .first-meeting {display:grid;grid-template-columns:5fr 7fr;gap:24px 80px;padding-block:80px;background:var(--ink);border:0;}
body.home-refresh .meeting-copy {grid-column:1;grid-row:1;}
body.home-refresh .meeting-intro {font-size:16px;line-height:1.65;max-width:520px;margin:24px 0 0;}
body.home-refresh .steps {grid-column:2;grid-row:1/3;justify-content:flex-start;}
body.home-refresh .steps li {grid-template-columns:44px 1fr;gap:20px;padding:24px 0;border-color:var(--line);}
body.home-refresh .steps li:first-child {padding-top:0;}
body.home-refresh .steps li:last-child {border-bottom:1px solid var(--line);padding-bottom:24px;}
body.home-refresh .steps li>span {font-size:30px;font-style:italic;color:var(--brand);line-height:1.2;}
body.home-refresh .steps h3 {font:600 18px/1.4 var(--sans);}
body.home-refresh .steps p {font-size:16px;line-height:1.6;margin-top:8px;}
body.home-refresh .meeting-actions {grid-column:1;grid-row:2;}
body.home-refresh .dog-traits {margin-top:16px;border:0;background:transparent;padding:0;}
body.home-refresh .dog-traits summary {font:500 14px/1.5 var(--sans);cursor:pointer;min-height:44px;padding:10px 0;color:var(--paper);text-decoration:underline;text-underline-offset:5px;}
body.home-refresh .dog-traits>p {font-size:14px;}
body.home-refresh .traits-grid {grid-template-columns:1fr;}
body.home-refresh .traits-grid :is(dt,dd) {font-size:14px;}
body.home-refresh .philosophy {padding-block:64px;border-block:1px solid var(--line);}
body.home-refresh .philosophy>p:last-child {font-size:16px;line-height:1.65;max-width:660px;}
body.home-refresh .field {display:grid;grid-template-columns:1fr auto;gap:28px;padding-block:80px;}
body.home-refresh .field-intro {display:block;grid-column:1;grid-row:1;margin:0;}
body.home-refresh .field-intro .section-label {margin-bottom:14px;padding:0;}
body.home-refresh .field-intro>p:last-child {font:500 26px/1.3 var(--sans);max-width:760px;}
body.home-refresh .field-video-link {grid-column:2;grid-row:1;align-self:start;justify-self:end;margin:0;}
body.home-refresh .field-grid {grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 2fr;gap:16px;align-items:stretch;}
body.home-refresh .field-grid figure {position:relative;margin:0;min-width:0;}
body.home-refresh .field-work {grid-column:1;grid-row:1/3;}
body.home-refresh .field-space {grid-column:2;grid-row:1;}
body.home-refresh .field-group {grid-column:2;grid-row:2;}
body.home-refresh .field-work :is(img,video) {height:100%;min-height:540px;max-height:none;aspect-ratio:auto;width:100%;object-fit:cover;object-position:center 60%;}
body.home-refresh .field-space img,body.home-refresh .field-group img {height:270px;max-height:none;aspect-ratio:auto;object-fit:cover;}
body.home-refresh .field-space img {object-position:center 68%;}
body.home-refresh .field-group img {object-position:center 48%;}
body.home-refresh .field-grid figcaption {position:absolute;left:0;right:0;bottom:0;padding:35px 16px 14px;background:linear-gradient(transparent,#080809f2);color:#ddd;font-size:14px;line-height:1.4;}
body.home-refresh .field-grid figcaption span {font-size:16px;color:var(--paper);}
body.home-refresh .activities {padding-block:64px 80px;}
body.home-refresh .activities h2 br,body.home-refresh .team h2 br {display:none;}
body.home-refresh .activities .section-heading>p:last-child {max-width:840px;font-size:16px;}
body.home-refresh .activity-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;}
body.home-refresh .activity-card {display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px;border:0;padding:0;}
body.home-refresh .activity-card :is(.activity-visual,.work-photo) {height:320px;overflow:hidden;margin:0;}
body.home-refresh .activity-card :is(.activity-visual,.work-photo)>img {height:320px;width:100%;object-fit:cover;}
body.home-refresh .activity-card .work-photo img {object-position:center 65%;}
body.home-refresh .activity-card .section-label {font-size:14px;letter-spacing:0;text-transform:none;color:var(--muted);margin:0 0 8px;}
body.home-refresh .activity-card h3 {font:400 32px/1.15 var(--display);text-transform:uppercase;margin:0 0 12px;}
body.home-refresh .activity-card p:not(.section-label) {font-size:16px;line-height:1.6;}
body.home-refresh .activity-card .text-link {margin-top:8px;}
body.home-refresh .activity-links {display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;}
body.home-refresh .poster-link {display:inline-flex;width:auto;gap:6px;margin-top:8px;border:0;color:var(--brand);}
body.home-refresh .team {padding-block:80px;}
body.home-refresh .team-heading {grid-template-columns:7fr 4fr;gap:64px;margin-bottom:28px;}
body.home-refresh .team-heading>p {font-size:16px;line-height:1.6;}
body.home-refresh .team-grid {grid-template-columns:2fr 1fr 1fr;gap:24px;}
body.home-refresh .person {display:block;min-width:0;}
body.home-refresh .person figure {height:440px;aspect-ratio:auto;max-height:none;margin:0 0 16px;}
body.home-refresh .person figure::after {content:none;}
body.home-refresh .person h3 {font-size:26px;line-height:1.25;margin:0 0 8px;}
body.home-refresh .person-role {font-size:14px;color:var(--muted);line-height:1.55;min-height:0;margin:0;}
body.home-refresh .person .text-link {margin-top:8px;}
body.home-refresh .home-faq {display:grid;grid-template-columns:4fr 8fr;gap:64px;padding-block:80px;}
body.home-refresh .faq-heading .text-link {margin-top:20px;}
body .faq {max-width:none;margin-top:0;}
body .faq details {padding:0;border-top:0;border-bottom:1px solid var(--line);}
body .faq summary {position:relative;list-style:none;display:flex;align-items:center;min-height:56px;padding:16px 32px 16px 0;font:600 16px/1.5 var(--sans);cursor:pointer;}
body .faq summary::-webkit-details-marker {display:none;}
body .faq summary::after {content:'+';position:absolute;right:4px;color:var(--brand);font:400 22px/1 var(--sans);}
body .faq details[open]>summary::after {content:'−';}
body .faq details p {padding:0 32px 20px 0;font-size:16px;line-height:1.6;}
body.home-refresh .home-faq .faq summary,body.home-refresh .home-faq .faq details p {font-size:16px;}
body.home-refresh .contact {grid-template-columns:1fr 1fr;gap:20px 80px;padding-block:80px;}
body.home-refresh .contact-copy {grid-column:1;grid-row:1;}
body.home-refresh .contact .phone {font-size:44px;line-height:1.2;margin:24px 0 20px;}
body.home-refresh .contact-actions {display:flex;gap:12px;flex-wrap:wrap;}
body.home-refresh .contact-facts {margin:28px 0 0;}
body.home-refresh .contact-facts>div {display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);min-height:52px;align-items:center;padding:12px 0;font-size:14px;line-height:1.5;}
body.home-refresh .contact-facts dt {color:var(--muted);}
body.home-refresh .contact-facts dd {margin:0;text-align:right;overflow-wrap:anywhere;}
body.home-refresh .contact-facts a {display:inline-flex;align-items:center;min-height:44px;}
body.home-refresh .contact .address {grid-column:2;grid-row:1/3;}
body.home-refresh .contact .address img {height:100%;min-height:500px;width:100%;object-fit:cover;margin:0;}
body.home-refresh .contact-directions {grid-column:1;grid-row:2;justify-self:start;}
@media(min-width:1024px) and (max-width:1199px) {
 body.home-refresh .specialization {gap:28px;grid-template-columns:4fr 5fr 3fr;}
 body.home-refresh .specialization-action {white-space:normal;}
 body.home-refresh .home-hero .hero-wordmark {font-size:110px;}
 body.home-refresh .definition {font-size:28px;}
 body.home-refresh :is(.first-meeting,.home-faq,.contact) {column-gap:40px;}
}
@media(max-width:1023px) {
 body .section-wrap {padding-inline:20px;}
 body .button {min-height:52px;}
 body .footer {padding-bottom:88px;grid-template-columns:1fr;gap:16px;}
 body .footer :is(.footer-symbol,.footer-nav,.footer-meta,.footer-legal) {grid-column:1;grid-row:auto;}
 body .footer-nav {display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
 body .footer-meta {display:block;}
 body .footer-legal {flex-direction:column;align-items:flex-start;gap:8px;}
 body .footer-legal span {align-self:auto;}
 body.home-refresh h2 {font-size:40px;line-height:1.08;}
 body.home-refresh .home-hero {min-height:0;}
 body.home-refresh .home-hero-media {min-height:0;height:470px;}
 body.home-refresh .home-hero-media>img {object-position:50% 30%;}
 body.home-refresh .home-hero-media::after {background:linear-gradient(transparent 38%,#08080924 52%,#080809c9 76%,#080809 100%);}
 body.home-refresh .home-hero .hero-wordmark {font-size:76px;}
 body.home-refresh .definition {font-size:25px;}
 body.home-refresh .hero-reviews {background:#141416;}
 body.home-refresh .specialization {display:block;padding:24px;margin:32px 20px 0;}
 body.home-refresh .specialization h2 {font-size:38px;}
 body.home-refresh .specialization>p {margin:20px 0;font-size:16px;}
 body.home-refresh .specialization-action {width:100%;white-space:normal;}
 body.home-refresh .paths {padding-block:44px;}
 body.home-refresh .experience {grid-template-columns:1fr;gap:24px;padding-block:40px;}
 body.home-refresh .experience blockquote {font-size:27px;}
 body.home-refresh .experience .section-label {margin-bottom:20px;}
 body.home-refresh .experience .review-actions {align-items:stretch;}
 body.home-refresh .experience .button {width:100%;}
 body.home-refresh .experience .review-rating {display:none;}
 body.home-refresh .first-meeting {grid-template-columns:1fr;gap:28px;padding-block:44px;}
 body.home-refresh .meeting-copy,body.home-refresh .steps,body.home-refresh .meeting-actions {grid-column:1;grid-row:auto;}
 body.home-refresh .meeting-intro {font-size:16px;}
 body.home-refresh .steps li {grid-template-columns:32px 1fr;gap:14px;padding:20px 0;}
 body.home-refresh .steps li>span {font-size:24px;}
 body.home-refresh .steps h3 {font-size:16px;}
 body.home-refresh .steps p {font-size:14px;}
 body.home-refresh .meeting-actions>.button {width:100%;}
 body.home-refresh .philosophy {padding-block:40px;}
 body.home-refresh .philosophy h2 {font-size:34px;}
 body.home-refresh .field {grid-template-columns:1fr;gap:24px;padding-block:44px;}
 body.home-refresh .field-intro {grid-column:1;grid-row:1;}
 body.home-refresh .field-intro>p:last-child {font-size:23px;}
 body.home-refresh .field-grid {grid-column:1;grid-row:2;grid-template-columns:1fr 1fr;gap:12px;}
 body.home-refresh .field-work {grid-column:1/-1;grid-row:1;}
 body.home-refresh .field-work :is(img,video) {height:420px;min-height:0;object-position:center 60%;}
 body.home-refresh .field-space {grid-column:1;grid-row:2;}
 body.home-refresh .field-group {grid-column:2;grid-row:2;}
 body.home-refresh .field-space img,body.home-refresh .field-group img {height:150px;}
 body.home-refresh .field-space figcaption,body.home-refresh .field-group figcaption {position:static;padding:10px 0 0;background:none;}
 body.home-refresh .field-video-link {grid-column:1;grid-row:3;justify-self:start;}
 body.home-refresh .activities {padding-block:44px;}
 body.home-refresh .activities .section-heading>p:last-child {font-size:16px;}
 body.home-refresh .activity-grid {grid-template-columns:1fr;gap:24px;}
 body.home-refresh .activity-card {grid-template-columns:96px minmax(0,1fr);grid-template-rows:1fr;gap:16px;border-top:1px solid var(--line);padding-top:24px;}
 body.home-refresh .activity-card :is(.activity-visual,.work-photo),body.home-refresh .activity-card :is(.activity-visual,.work-photo)>img {width:96px;height:120px;}
 body.home-refresh .activity-card h3 {font-size:27px;margin-bottom:8px;}
 body.home-refresh .activity-card p:not(.section-label) {font-size:14px;}
 body.home-refresh .activity-card .section-label {font-size:14px;line-height:1.4;margin-bottom:6px;}
 body.home-refresh .activity-card .text-link {font-size:14px;}
 body.home-refresh .activity-links {display:block;}
 body.home-refresh .activity-links .text-link,body.home-refresh .poster-link {margin:0;}
 body.home-refresh .team {padding-block:44px;}
 body.home-refresh .team-heading {grid-template-columns:1fr;gap:20px;}
 body.home-refresh .team-grid {grid-template-columns:1fr 1fr;gap:28px 16px;}
 body.home-refresh .person:first-child {grid-column:1/-1;}
 body.home-refresh .person figure {height:220px;margin-bottom:12px;}
 body.home-refresh .person:first-child figure {height:300px;}
 body.home-refresh .person:first-child figure img {object-position:center 48%;}
 body.home-refresh .person h3 {font-size:20px;}
 body.home-refresh .person:first-child h3 {font-size:26px;}
 body.home-refresh .person .text-link {gap:4px;font-size:14px;}
 body.home-refresh .home-faq {grid-template-columns:1fr;gap:28px;padding-block:44px;}
 body.home-refresh .faq-heading .text-link {margin-top:16px;}
 body.home-refresh .home-faq .faq summary {font-size:16px;}
 body.home-refresh .home-faq .faq details p {font-size:14px;}
 body.home-refresh .contact {grid-template-columns:1fr;gap:24px;padding-block:44px;}
 body.home-refresh .contact-copy {grid-column:1;grid-row:1;}
 body.home-refresh .contact .phone {font-size:36px;}
 body.home-refresh .contact-actions {flex-wrap:nowrap;gap:10px;}
 body.home-refresh .contact-actions>.button {flex:1;padding-inline:12px;}
 body.home-refresh .contact .address {grid-column:1;grid-row:2;}
 body.home-refresh .contact .address img {height:260px;min-height:0;}
 body.home-refresh .contact-directions {grid-column:1;grid-row:3;}
 body .page-hero {padding-block:28px 40px;}
 body .page-lead {font-size:20px;}
 body .article-section {padding-block:44px;}
 body .profile-detail h2 {font-size:32px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto!important;}
 *,*::before,*::after {animation:none!important;transition:none!important;}
}

body.home-refresh .button-primary {color:#141210;}
body.home-refresh .experience .button-primary {color:#F4F4F2;}
/* Le etichette e i controlli ereditati dalle pagine interne restano leggibili. */
body .breadcrumb,body .breadcrumb *,body .article-columns .section-label,
body .profile-detail .section-label,body .activity-poster span,
body .profile-detail .activity-offer-note,body .mobile-contact-bar .button {font-size:14px;}
@media(max-width:1023px) {
 body .mobile-contact-bar {height:68px;max-height:68px;padding:6px 12px clamp(6px,env(safe-area-inset-bottom,0px),17px);gap:10px;background:#080809;}
 body .mobile-contact-bar .button {min-height:44px;font-size:14px;}
}
@media(min-width:1024px) {
 body.home-refresh .field-grid {grid-template-rows:270px 270px;}
 body.home-refresh .field-work :is(img,video) {height:556px;min-height:0;}
 body.home-refresh .team-grid .person:first-child figure img {object-position:center 40%;}
}
