@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--ink:#292b26;--navy:#304b42;--blue:#5f6e63;--paper:#fffaf1;--cream:#f5e7d8;--line:#d9c9b7;--accent:#bd6846;--white:#fff;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}p{line-height:1.7}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;line-height:1.2}h1{font-size:clamp(2.65rem,5.5vw,5.3rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.3vw,3.4rem);letter-spacing:-.035em}h3{font-size:1.45rem}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-90px;left:10px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.site-head{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.head-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:98px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;min-width:200px}.brand img{width:76px;height:60px;object-fit:contain}.brand-name{font-size:1.08rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;line-height:1.2}.brand-name small{display:block;font-size:.67rem;letter-spacing:.19em;color:var(--blue);margin-top:5px}.nav{display:flex;align-items:center;gap:30px}.nav a{text-decoration:none;font-size:.94rem;font-weight:600}.nav a:hover,.nav a[aria-current=page]{color:#9b5b3c}.nav .nav-cta{padding:12px 20px;border:1px solid var(--ink);border-radius:2px}.menu-toggle{display:none}.eyebrow{font-size:.77rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:#a26142;margin-bottom:20px}.lead{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.55;color:#425460;max-width:650px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--navy);color:white;padding:16px 25px;font-weight:600;min-height:54px;border:1px solid var(--navy);transition:background .2s,color .2s}.button:hover{background:#304957}.button.light{background:transparent;color:var(--navy)}.button.light:hover{background:var(--cream)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.home-hero{display:grid;grid-template-columns:1.2fr .8fr;min-height:610px}.hero-copy{padding:88px max(35px,calc((100vw - 1180px)/2)) 72px max(35px,calc((100vw - 1180px)/2));padding-right:55px;align-self:center}.hero-copy h1{max-width:740px;margin-bottom:26px}.hero-photo{background:#d9d8d2;position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.hero-photo figcaption{position:absolute;bottom:25px;left:25px;background:var(--paper);padding:12px 15px;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase}.section{padding:100px 0}.section.alt{background:var(--cream)}.section.dark{background:var(--navy);color:white}.section.dark .lead{color:#d9e1e3}.section-head{max-width:750px;margin-bottom:38px}.section-head h2{margin-bottom:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);padding:35px;min-height:280px;display:flex;flex-direction:column}.card .number{font-size:.82rem;color:#b16d4b;font-weight:700;margin-bottom:28px}.card h3{margin-bottom:13px}.card p{font-size:1rem;color:#465967}.card a{margin-top:auto;align-self:flex-start;text-underline-offset:5px;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split-image img{width:100%;aspect-ratio:1.05;object-fit:cover}.split-text p{max-width:570px}.quote{border-left:3px solid var(--accent);padding-left:30px;max-width:850px}.quote p{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.6}.quote cite{font-style:normal;font-weight:700;color:#a9b9bd}.contact-band{background:#dbe2e2;padding:70px 0}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band h2{margin:0}.foot{background:var(--navy);color:#d9e1e3;padding:45px 0}.foot .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}.foot small{font-size:.85rem}.inner-hero{padding:88px 0 65px;border-bottom:1px solid var(--line)}.inner-hero h1{max-width:850px;margin-bottom:23px}.content{padding:78px 0 110px}.content p{font-size:1.08rem}.narrow{max-width:800px}.profile{display:grid;grid-template-columns:340px 1fr;gap:9%;align-items:start}.profile img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%}.text-block{margin:0 0 42px}.text-block h2{font-size:2rem;margin-bottom:18px}.plain-list{padding-left:20px;line-height:1.9}.service{padding:44px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:245px 1fr;gap:7%}.service:first-child{padding-top:0}.service h2{font-size:1.9rem}.service p{max-width:760px}.service .eyebrow{margin-bottom:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-grid h2{font-size:2rem}.contact-detail{padding:22px 0;border-bottom:1px solid var(--line)}.contact-detail span{display:block;color:var(--blue);font-size:.84rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.contact-detail a{font-size:1.12rem;text-underline-offset:4px}.contact-panel{background:var(--cream);padding:44px}.contact-panel p{font-size:1.06rem}.old-note{font-size:.9rem;color:var(--blue)}
@media(max-width:900px){.head-inner{min-height:82px}.brand img{width:62px;height:52px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:10px 13px;font:inherit;font-weight:700}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 32px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 0}.nav .nav-cta{margin-top:9px;text-align:center}.home-hero{grid-template-columns:1fr}.hero-copy{padding:72px 32px 60px}.hero-photo{height:430px}.grid3{grid-template-columns:1fr}.card{min-height:210px}.split{grid-template-columns:1fr;gap:35px}.split-image{max-width:620px}.profile{grid-template-columns:240px 1fr;gap:5%}}
@media(max-width:620px){.wrap{width:calc(100% - 40px)}.brand{min-width:0;gap:6px}.brand img{width:48px;height:42px}.brand-name{font-size:.83rem}.brand-name small{font-size:.54rem}.home-hero{min-height:0}.hero-copy{padding:62px 20px 52px}.hero-photo{height:340px}.hero-photo figcaption{font-size:.67rem;bottom:12px;left:12px}.section{padding:72px 0}.inner-hero{padding:66px 0 55px}.content{padding:65px 0 80px}.profile,.service,.contact-grid{grid-template-columns:1fr}.profile img{max-width:330px}.service{gap:12px;padding:33px 0}.contact-band .wrap{align-items:flex-start;flex-direction:column}.contact-panel{padding:28px}.foot .wrap{flex-direction:column;gap:20px}}

/* Identità visiva: logo leggibile, avorio caldo, verde profondo e terracotta. */
.site-head{background:#fffaf1;box-shadow:0 4px 22px #312e2410}
.head-inner{min-height:116px}
.brand{min-width:0;gap:0;flex-shrink:0}
.brand img{width:174px;height:110px;object-fit:contain;filter:drop-shadow(0 4px 2px #292b2616)}
.brand:hover img{transform:scale(1.025)}
.brand img,.card,.button{transition:transform .25s,background .25s,box-shadow .25s}
.nav{gap:22px}
.nav a:hover,.nav a[aria-current=page]{color:#a34e32}
.nav .nav-cta{background:var(--accent);border-color:var(--accent);color:#fff;padding:13px 19px}
.nav .nav-cta:hover{background:#98472f;color:#fff}
.home-hero{background:linear-gradient(130deg,#fffaf1 8%,#f7e8d9 72%,#f1d6bb)}
.hero-copy{position:relative}
.hero-copy:before{content:"";display:block;width:64px;height:5px;background:var(--accent);margin-bottom:30px;border-radius:4px}
.hero-copy h1{color:#304b42}
.eyebrow{color:#a14f32}
.lead{color:#4e5c52}
.button{background:var(--navy);border-color:var(--navy)}
.button:hover{background:#426e5f;box-shadow:0 9px 20px #304b4229;transform:translateY(-2px)}
.button.light{border-color:#304b42}
.section.alt{background:#f5e7d8}
.section.dark{background:linear-gradient(120deg,#263d35,#426354)}
.section.dark .eyebrow{color:#f1b188}
.section.dark .lead{color:#f6eee3}
.card{border-top:5px solid var(--accent);box-shadow:0 11px 27px #44382c0b}
.card:nth-child(2){border-top-color:#a98e53}
.card:nth-child(3){border-top-color:#567e70}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #44382c1c}
.card .number{color:#a14f32}
.card p{color:#4e5c52}
.quote cite{color:#e3b698}
.contact-band{background:#e8d2b9}
.inner-hero{background:linear-gradient(110deg,#fffaf1,#f5e7d8)}
.contact-panel{background:#f4e3d1;border-top:5px solid var(--accent)}
.foot{background:#263d35}
.blog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.blog-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);padding:32px;display:flex;flex-direction:column;min-height:220px}
.blog-card:nth-child(3n+2){border-top-color:#a98e53}
.blog-card:nth-child(3n+3){border-top-color:#567e70}
.blog-card h2{font-size:1.5rem;margin:14px 0 17px}
.blog-card a{text-decoration:none}
.blog-card a:hover{text-decoration:underline;text-underline-offset:5px}
.blog-card time,.article-date{color:#986041;font-size:.85rem;font-weight:700;letter-spacing:.05em}
.blog-card .read-link{margin-top:auto;color:#304b42;font-weight:700}
.article-body{max-width:780px;font-size:1.08rem;line-height:1.75}
.article-body p{margin-bottom:1.25em}
.article-body h2{margin:1.8em 0 .7em}
.article-body img{margin:30px 0;max-width:100%;height:auto}
.article-back{display:inline-block;margin-top:28px;font-weight:700;text-underline-offset:5px}
@media(max-width:900px){.head-inner{min-height:94px}.brand img{width:150px;height:90px}.nav{gap:0}.nav.open{background:#fffaf1}}
@media(max-width:620px){.head-inner{min-height:84px}.brand img{width:126px;height:78px}.blog-list{grid-template-columns:1fr}.blog-card{min-height:0}.hero-copy:before{margin-bottom:23px}}

/* La foto nuova ha un'inquadratura verticale: mostra viso, mani e posizione seduta. */
.hero-photo{background:#81736c}
.hero-photo img{object-position:center 38%}
@media(max-width:900px){.hero-photo{height:500px}}
@media(min-width:621px) and (max-width:900px){.hero-photo img{object-fit:contain}}
@media(max-width:620px){.hero-photo{height:450px}.hero-photo img{object-position:center 35%}}

/* Le fotografie originali restano intatte: più luce senza cambiare volti o gesti. */
.hero-photo img{filter:brightness(1.22) contrast(1.04) saturate(1.07)}
.profile img{filter:brightness(1.09) contrast(1.03) saturate(1.05)}
.split-image img{filter:brightness(1.16) contrast(1.04) saturate(1.06)}
.blog-card{padding:0;overflow:hidden}
.blog-thumb{display:block;overflow:hidden}
.blog-thumb img{width:100%;height:225px;object-fit:cover;transition:transform .3s}
.blog-thumb.portrait img{object-fit:contain;background:#f1e6d8}
.blog-thumb:hover img{transform:scale(1.03)}
.blog-card-copy{display:flex;flex:1;flex-direction:column;padding:25px 30px 30px}
.article-picture{margin:0 0 35px}
.article-picture img{display:block;width:auto;max-width:100%;height:auto;max-height:560px;object-fit:contain;margin:0}
@media(max-width:620px){.blog-thumb img{height:190px}.blog-card-copy{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.book-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.book-covers img{width:100%;height:210px;object-fit:contain;background:#fff;padding:8px;border:1px solid var(--line)}
.workshop-figure{margin:0 0 30px}.workshop-cover{width:100%;height:auto;border:1px solid var(--line)}
.workshop-figure figcaption{margin-top:9px;color:#675a4a;font-size:.9rem}
.event-layout{display:grid;grid-template-columns:1.4fr .7fr;align-items:start;gap:8%}
.event-layout h2{font-size:2.1rem}.event-layout p{max-width:760px}
@media(max-width:900px){.event-layout{grid-template-columns:1fr}}
@media(max-width:620px){.book-covers{grid-template-columns:repeat(2,minmax(0,1fr))}.book-covers img{height:170px}}
.home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.home-cards{grid-template-columns:1fr}}
