/* Mariagrazia Zaccaro | Site design v1.0 — self-hosted, no trackers */
:root {
  --ink:#263a31; --ink-soft:#40564b; --ink-deep:#1d3229;
  --muted:#69756d; --sage:#dfe6dc; --sage-dark:#abc1ac;
  --paper:#faf9f5; --ivory:#f5f2ea; --sand:#ece9e0;
  --border:#dedfd7; --white:#fff; --accent:#b68d78;
  --serif:'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --container:1200px; --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
::selection{background:#c7d5c6;color:#213a2e}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b28b6d;outline-offset:4px}
img{max-width:100%;display:block}button{font:inherit}p,h1,h2,h3,h4{margin:0}p{line-height:1.85}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em}em{font-weight:400;font-style:italic;color:#708e7a}.icon{flex-shrink:0;vertical-align:middle}
.container{max-width:var(--container);width:calc(100% - 96px);margin:auto}
.section-padding{padding:112px 0}.surface-cream{background:#f2f0ea}.surface-sage{background:#e6ece3}
.skip-link{position:absolute;top:-100px;left:20px;padding:12px 18px;background:#fff;z-index:200}.skip-link:focus{top:12px}
.site-header{height:88px;position:sticky;top:0;z-index:80;background:rgba(250,249,245,.96);transition:box-shadow .25s,background .25s;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid transparent}
.site-header.is-scrolled{box-shadow:0 2px 30px rgba(33,56,46,.075);border-color:rgba(36,61,49,.06)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}
.wordmark{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap;flex-shrink:0}
.wordmark-main{font-family:var(--serif);font-size:25px;letter-spacing:-.065em}.wordmark-main i{font-weight:400;font-style:italic}
.wordmark-caption{font-size:9px;letter-spacing:.34em;font-weight:700;margin-top:8px;color:#708376}
.desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto}
.nav-link{font-size:12px;line-height:1.2;font-weight:550;position:relative;white-space:nowrap;transition:color .2s}
.nav-link:hover,.nav-link.is-active{color:#638b70}
.nav-link.is-active:after{content:'';position:absolute;bottom:-10px;left:0;width:100%;height:1px;background:#638b70}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:15px 24px;font-size:12px;letter-spacing:.015em;font-weight:650;line-height:1.4;border:1px solid transparent;cursor:pointer;border-radius:3px;transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s;white-space:normal;text-align:center}
.btn:hover{transform:translateY(-2px)}.btn .icon,.text-link .icon,.underlined-link .icon{width:16px;height:16px;transition:transform .25s}.btn:hover .icon,.text-link:hover .icon,.underlined-link:hover .icon{transform:translateX(4px)}
.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#405b4d;box-shadow:0 7px 20px rgba(38,58,49,.14)}
.btn-outline{border-color:#9eaaa0;color:var(--ink);background:transparent}.btn-outline:hover{background:#e9eee7}
.btn-plain{background:none;color:var(--ink);padding-left:0;padding-right:0}.btn-plain:hover{box-shadow:none;color:#5b8665}
.btn-light{background:#f9f7ef;color:#254236}.btn-light:hover{background:#fff}
.btn-small{min-height:44px;padding:12px 18px;font-size:11px;gap:10px;white-space:nowrap}.btn-small .icon{width:15px;height:15px}
.menu-toggle,.mobile-nav{display:none}
.eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.21em;font-size:10px;font-weight:750;color:#66816e;text-transform:uppercase;margin-bottom:23px;line-height:1.5}
.eyebrow-line{width:26px;height:1px;background:#a1ae9c;display:inline-block;flex-shrink:0}
.eyebrow-light{color:#d6e4d6}.eyebrow-light:before{content:'';width:26px;height:1px;background:#b7cbbc}
.section-heading{max-width:740px;margin-bottom:55px}.section-heading h2,.about-text h2,.split-copy h2,.online-callout h2,.contact-main h2{font-size:clamp(39px,4.1vw,61px);line-height:1.14}
.section-lead{max-width:580px;color:var(--muted);font-size:15px;margin-top:23px}.heading-centered{text-align:center;margin-left:auto;margin-right:auto}.heading-centered .eyebrow{justify-content:center}
.text-large{font-size:19px;line-height:1.75;color:var(--ink)!important;font-weight:430}
.underlined-link{display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid #a0aa9e;padding-bottom:11px;font-size:13px;font-weight:680;margin-top:19px;transition:color .2s}.underlined-link:hover{color:#64896c}
/* Main hero */
.hero{min-height:720px;position:relative;overflow:hidden;background:#f5f3ec}.hero::after{content:' ';position:absolute;inset:auto -230px -500px auto;width:880px;height:850px;border-radius:50%;border:1px solid rgba(156,174,155,.36);pointer-events:none}
.hero-glow{position:absolute;right:-12%;top:-52%;width:850px;height:850px;border-radius:50%;background:radial-gradient(circle,#f0f1e9 0%,#f5f3ec 67%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:50px;min-height:700px;position:relative;z-index:1}
.hero-content{padding:72px 0 82px}.hero h1{font-size:clamp(55px,5.6vw,83px);line-height:1.075;letter-spacing:-.055em;white-space:nowrap}
.hero-lead{font-size:16px;color:#5e6f64;max-width:490px;margin-top:33px;line-height:1.92}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:17px 25px;margin-top:33px}
.hero-note{display:flex;align-items:center;gap:10px;color:#637467;font-size:11px;margin-top:33px;letter-spacing:.025em}.hero-note .icon{width:16px;height:16px}
.hero-visual{position:relative;width:100%;padding:25px 11px 58px 0;align-self:stretch;display:flex;align-items:center}
.hero-photo-surface{position:relative;width:100%;height:610px;max-height:calc(100% - 40px);background:#e5e9e1;overflow:hidden;border-radius:240px 240px 12px 12px;box-shadow:18px 20px 0 rgba(218,226,214,.55)}
.hero-photo-surface img{height:100%;width:100%;object-fit:cover;object-position:center 31%;filter:saturate(.88) contrast(1.01)}
.photo-arch{position:absolute;inset:0;border:1px solid rgba(248,249,246,.55);border-radius:inherit;pointer-events:none}
.hero-stamp{position:absolute;right:-29px;bottom:115px;width:128px;height:128px;border-radius:50%;background:#f4ede4;border:1px solid #d7c9b6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;transform:rotate(9deg);box-shadow:0 9px 30px rgba(36,56,46,.06)}
.stamp-small{font-size:10px;letter-spacing:.12em;font-weight:700;line-height:1.25}.stamp-plus{font-family:var(--serif);font-size:32px;line-height:1;font-weight:400;color:#8d9c86}
.hero-caption{position:absolute;left:0;bottom:24px;font-family:var(--serif);font-style:italic;font-size:17px}.hero-caption span{font:11px var(--sans);font-style:normal;color:#89968b;margin-left:8px}
.hero-scroll{position:absolute;left:calc((100% - min(var(--container),100% - 96px))/2);bottom:23px;display:flex;align-items:center;gap:15px;letter-spacing:.22em;font-size:9px;color:#909c8f}.hero-scroll i{display:block;height:1px;width:45px;background:#a5b4a5}
.trust-strip{background:#e5e9e1}.trust-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;color:#455e4c}.trust-strip-inner span{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:650;letter-spacing:.015em}.trust-strip-inner .icon{width:17px;height:17px}
/* intro */
.intro-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:100px;align-items:start}.intro-copy{padding-top:37px;max-width:480px}.intro-copy>p+p{margin-top:19px;color:#667368;font-size:15px}
/* services */
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{background:#faf9f5;border:1px solid rgba(47,73,58,.08);padding:28px 27px 29px;min-height:340px;display:flex;flex-direction:column;transition:transform .32s var(--ease),box-shadow .32s}
.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(50,73,55,.09)}.service-card-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:37px}
.service-index{font-family:var(--serif);font-style:italic;font-size:17px;color:#b5bcb0}.service-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid #cdd8c9;border-radius:50%;color:#66816b}.service-icon .icon{width:22px;height:22px}
.service-card h3{font:normal 26px/1.2 var(--serif);letter-spacing:-.035em;min-height:65px}.service-card p{font-size:13px;line-height:1.85;color:#626f66;margin:12px 0 20px}.service-card .text-link{margin-top:auto}
.text-link{font-size:12px;font-weight:680;display:inline-flex;align-items:center;gap:13px;transition:color .2s}.text-link:hover{color:#64896c}.center-button{display:flex;justify-content:center;margin-top:45px}
/* about */
.about-grid{display:grid;grid-template-columns:.91fr 1.09fr;gap:120px;align-items:center}.about-photo-wrap{position:relative;max-width:480px}.about-photo{height:620px;position:relative;overflow:hidden;border-radius:245px 245px 8px 8px;background:#dfe5dd}.about-photo:before{content:'';position:absolute;inset:18px 18px -18px -18px;border:1px solid #b0c2b0;border-radius:245px 245px 8px 8px;z-index:2;pointer-events:none}
.about-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 27%;filter:saturate(.92)}.about-side-note{position:absolute;right:-70px;bottom:26px;transform:rotate(-90deg) translateX(100%);transform-origin:right bottom;letter-spacing:.26em;font-size:9px;font-weight:700;color:#879489;white-space:nowrap}.about-side-note span{color:#c28e6d;padding:0 8px}
.about-text p{color:#68756b;margin-top:20px;font-size:15px;max-width:575px}.about-text .text-large{margin-top:28px}
.about-credential{display:flex;align-items:center;gap:10px;font-size:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:15px 0;margin:30px 0;color:#536b57}.about-credential .icon{width:16px;height:16px}
/* steps */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.step-item>span{font-family:var(--serif);font-size:54px;color:#718b77;font-style:italic}.step-line{height:1px;background:#bfcdbd;margin:9px 0 24px;position:relative}.step-line:after{content:'';width:6px;height:6px;border-radius:50%;background:#718b77;position:absolute;right:0;top:-2px}.step-item h3{font:normal 27px/1.3 var(--serif);margin-bottom:12px}.step-item p{color:#68796a;font-size:14px;line-height:1.9;max-width:310px}
/* locations */
.locations-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:130px;align-items:center}.locations-grid>div>p{max-width:410px;color:var(--muted);font-size:15px}.city-card{padding:30px 41px;border:1px solid #d8dfd5;background:#f5f5ee;box-shadow:18px 18px 0 #e8ece6}.city-card-tag{font-size:10px;letter-spacing:.21em;font-weight:750;color:#829884;margin-bottom:13px}.city-row{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid #d9dfd6}.city-row>span{flex:1;font:normal 24px var(--serif)}.city-row .icon{width:19px;height:19px;color:#7b9980}.city-row .icon:last-child{width:16px;color:#a8b4a6}.city-online{display:flex;gap:12px;align-items:center;margin-top:22px;color:#57725e;font-size:13px;font-weight:650}
.quote-break{background:#314e40;color:#fff;text-align:center;padding:99px 0}.quote-asterisk{font-size:31px;color:#d5ba94;display:block;line-height:1;margin-bottom:24px}.quote-break blockquote{font:normal clamp(33px,4vw,57px)/1.28 var(--serif);letter-spacing:-.026em;margin:0 auto;max-width:900px}.quote-break em{color:#d6d5b7}.quote-label{display:block;margin-top:36px;color:#b2c7b9;font-size:10px;letter-spacing:.2em;font-weight:700}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:125px}.faq-grid>div>p{color:var(--muted);font-size:15px;max-width:330px}.faq-item{border-bottom:1px solid #d9ddd5;padding:0}.faq-item:first-child{border-top:1px solid #d9ddd5}.faq-item summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:15px;font-weight:570;line-height:1.5}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{font-size:25px;font-weight:250;color:#729077;transition:transform .2s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-item p{font-size:14px;color:var(--muted);padding:0 40px 24px 0;line-height:1.9}
/* CTA */
.cta-section{padding-top:0}.cta-panel{overflow:hidden;position:relative;background:#28483a;color:#fff;border-radius:2px;display:grid;grid-template-columns:1.45fr .55fr;gap:55px;align-items:center;padding:65px 72px}.cta-panel>*:not(.cta-orbit){position:relative;z-index:1}.cta-panel h2{font-size:clamp(35px,4vw,54px);line-height:1.18;max-width:700px;margin-bottom:19px}.cta-panel p{color:#d0dcd0;font-size:14px;line-height:1.85;max-width:650px}.cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px}.cta-actions .btn{white-space:nowrap}.cta-text-link{color:#d5e3d6;font-size:12px;text-decoration:underline;text-underline-offset:5px;text-align:center}.cta-orbit{position:absolute;width:480px;height:480px;border:1px solid rgba(194,219,190,.19);border-radius:50%;right:-190px;bottom:-320px}.cta-orbit:after{content:'';position:absolute;inset:40px;border:1px solid rgba(194,219,190,.19);border-radius:50%}
/* Page heroes */
.page-hero{background:#f0f1e9;padding:100px 0 105px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:670px;height:670px;border-radius:50%;border:1px solid #dee5d9;right:-215px;top:-265px;pointer-events:none}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(55px,6vw,82px);line-height:1.12;max-width:1000px}.page-hero p{font-size:16px;color:#617568;max-width:690px;margin-top:25px}.page-hero .eyebrow{margin-bottom:27px}
.about-detail{align-items:start}.about-detail .about-photo{height:660px}.about-detail .about-text{padding-top:45px}.signature{font:italic 31px var(--serif);color:#7a947e;margin-top:27px}
.two-col-title{display:grid;grid-template-columns:1fr .65fr;gap:70px;align-items:end;margin-bottom:50px}.two-col-title .section-heading{margin-bottom:0}.two-col-title>p{font-size:15px;color:var(--muted);max-width:380px}
.timeline{border-top:1px solid #cfd5ca}.timeline-row{display:grid;grid-template-columns:250px 1fr;gap:40px;padding:30px 0;border-bottom:1px solid #cfd5ca}.timeline-year{font-size:11px;letter-spacing:.1em;font-weight:700;color:#798e7a;padding-top:6px}.timeline h3{font:normal 23px/1.35 var(--serif);margin-bottom:10px}.timeline p{font-size:14px;color:var(--muted);max-width:700px}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.experience-card{background:#f1f2eb;padding:35px;min-height:275px}.experience-card>.icon{width:27px;height:27px;color:#6b8d74;margin-bottom:27px}.experience-card h3{font:normal 25px var(--serif);margin-bottom:11px}.experience-card p{font-size:14px;color:var(--muted)}
/* services detail */
.path-list{border-top:1px solid #d9ddd5}.path-row{padding:44px 0;border-bottom:1px solid #d9ddd5;display:grid;grid-template-columns:100px 1fr 58px;gap:30px;align-items:start}.path-index{font:italic 24px var(--serif);color:#a5b4a3}.path-row h2{font-size:clamp(29px,3.2vw,41px);line-height:1.2}.path-row p{font-size:15px;color:#667569;max-width:760px;margin-top:14px}.path-row .path-tags{font-size:12px;font-weight:650;color:#536f58;margin-top:18px}.round-arrow{width:49px;height:49px;border:1px solid #b9c8b8;border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s}.round-arrow:hover{background:#e5ece3;transform:translateX(4px)}.soft-note{margin-top:39px;padding:25px 29px;background:#eef2ed;display:flex;gap:17px;align-items:flex-start}.soft-note>.icon{color:#6a8e71;margin-top:3px}.soft-note p{font-size:13px;color:#657366;line-height:1.8}
/* online */
.split-info{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:center}.screen-surface{background:#dfe8dc;border-radius:10px;padding:34px;position:relative;box-shadow:20px 20px 0 #ecf0e9}.screen-surface img{height:520px;width:100%;object-fit:cover;object-position:50% 29%;border-radius:3px;filter:saturate(.92)}.screen-dots{position:absolute;top:13px;left:20px;display:flex;gap:6px}.screen-dots span{height:6px;width:6px;background:#91a797;border-radius:50%}.screen-label{position:absolute;left:55px;right:55px;bottom:53px;background:rgba(250,248,244,.96);font:italic 20px var(--serif);text-align:center;padding:12px}.split-copy p{font-size:15px;color:var(--muted);margin-top:21px}.check-list{margin:24px 0 32px;padding:0;list-style:none}.check-list li{display:flex;align-items:center;gap:12px;font-size:13px;padding:9px 0}.check-list .icon{color:#6f9678;width:18px;height:18px}.three-features{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.three-features>div>.icon{width:33px;height:33px;color:#73947b;margin-bottom:25px}.three-features h3{font:normal 26px var(--serif);margin-bottom:12px}.three-features p{font-size:14px;color:var(--muted)}
/* locations detail */
.locations-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.location-tile{background:#f1f2eb;min-height:270px;padding:30px 35px;display:flex;flex-direction:column;position:relative}.location-number{font:italic 17px var(--serif);color:#abb7a8;align-self:end}.location-tile>div .icon{color:#7e9d85;width:23px;height:23px;margin-bottom:17px}.location-tile h3{font:normal 34px var(--serif)}.location-tile p{font-size:13px;color:var(--muted);margin-top:8px}.location-tile>.text-link{margin-top:auto;padding-top:20px}.online-callout{display:flex;align-items:center;justify-content:space-between;gap:50px}.online-callout p{font-size:15px;color:var(--muted);margin-top:17px}
/* contacts */
.contact-layout{display:grid;grid-template-columns:1fr .64fr;gap:130px;align-items:start}.contact-main>p{max-width:620px;margin-top:25px}.contact-main h2{margin-bottom:15px}.contact-method{display:flex;align-items:flex-start;gap:20px;border-bottom:1px solid var(--border);padding:25px 0}.contact-method:first-of-type{margin-top:25px}.contact-method>span{width:48px;height:48px;border:1px solid #cbd9ca;border-radius:50%;display:grid;place-items:center;color:#62876c}.contact-method h3{font:normal 23px var(--serif);margin-bottom:3px}.contact-method p{color:var(--muted);font-size:13px}.contact-method a{display:inline-flex;align-items:center;gap:13px;font-weight:650;font-size:14px;margin-top:9px;overflow-wrap:anywhere}.contact-method a .icon{width:16px}.contact-side{background:#e8eee5;padding:44px;position:relative}.contact-side-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid #c3d1bd;border-radius:50%;color:#63826a;margin-bottom:28px}.contact-side h3{font:normal 32px/1.2 var(--serif);margin-bottom:20px}.contact-side p{font-size:14px;color:#657568}.side-rule{height:1px;background:#bfccbc;margin:28px 0}.contact-side h4{font-size:12px;letter-spacing:.08em;color:#3d5b45;margin-top:22px;margin-bottom:4px}.contact-privacy{display:flex;align-items:start;gap:9px;font-size:12px;line-height:1.7;color:#647967;margin-top:29px}.contact-privacy .icon{width:17px}
/* journal */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.journal-card{background:#f0f2ed;padding:36px;min-height:380px;display:flex;flex-direction:column;transition:transform .22s}.journal-card:hover{transform:translateY(-4px)}.journal-meta{font-size:10px;letter-spacing:.09em;font-weight:700;color:#78907b;margin-bottom:29px}.journal-meta span{margin:0 5px;color:#b0bbb0}.journal-card h3{font:normal 30px/1.2 var(--serif);letter-spacing:-.025em}.journal-card h3 a:hover{color:#5f7c66}.journal-card p{font-size:14px;color:var(--muted);margin-top:17px}.journal-card .underlined-link{margin-top:auto;align-self:flex-start;padding-top:25px}
.article-intro h1{font-size:clamp(48px,5.5vw,76px);max-width:990px}.article-intro .back-link{font-size:12px;display:inline-block;color:#769079;margin-bottom:37px}.article-layout{display:grid;grid-template-columns:1fr 340px;gap:110px;align-items:start}.article-copy{max-width:730px}.article-copy h2{font-size:32px;line-height:1.3;margin-top:12px;margin-bottom:15px}.article-copy h2:not(:first-child){margin-top:52px}.article-copy p{font-size:16px;color:#617165}.article-aside{background:#e9eee7;padding:34px;position:sticky;top:110px}.article-aside span{font-size:11px;letter-spacing:.12em;color:#718e73;font-weight:700}.article-aside h3{font:normal 28px/1.3 var(--serif);margin-top:17px}.article-aside p{font-size:14px;color:var(--muted);margin:16px 0 25px}.article-aside .btn{width:100%}.article-disclaimer{padding:24px;background:#edf0e8;display:flex;align-items:start;gap:15px;margin:45px 0}.article-disclaimer .icon{color:#79947b}.article-disclaimer p{font-size:13px}
/* legal */
.legal-document{max-width:820px}.legal-document h2{font:normal 31px var(--serif);margin:30px 0 12px}.legal-document p{font-size:14px;color:var(--muted)}.prelaunch-warning{display:flex;gap:18px;background:#fff1db;border:1px solid #d8be90;padding:24px}.prelaunch-warning .icon{color:#9b6e35}.prelaunch-warning strong{font-size:15px}.prelaunch-warning p{margin-top:7px}
/* footer */
.footer{background:#213c30;color:#eaf1e9;padding:80px 0 30px}.footer-top{display:grid;grid-template-columns:2fr .82fr .9fr 1.13fr;gap:60px;padding-bottom:72px}.footer-monogram{font:italic 32px var(--serif);display:block;margin-bottom:27px;position:relative}.footer-star{font:17px var(--sans);color:#c3b08e;position:relative;top:-10px;margin-left:5px}.footer-brand h2{font-size:41px;line-height:1.18;max-width:400px}.footer-brand p{color:#b6c9bb;font-size:13px;max-width:340px;margin-top:19px}.footer-col{display:flex;flex-direction:column;gap:11px;padding-top:12px}.footer-label{font-size:10px;letter-spacing:.2em;font-weight:700;color:#d4c1a0;margin-bottom:15px;text-transform:uppercase}.footer-col a,.footer-col span{font-size:12px;line-height:1.5;color:#c2d1c6}.footer-col a:hover{color:#fff}.footer-col .icon{width:14px;height:14px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid #426153;color:#adc1b3;font-size:10px;line-height:1.7}.legal-links{display:flex;gap:11px;flex-wrap:wrap;align-items:center}.legal-links a{text-decoration:underline;text-underline-offset:3px}.legal-review{color:#cfbda6}
.floating-whatsapp{position:fixed;bottom:25px;right:27px;z-index:70;background:#355747;color:#fff;display:flex;align-items:center;gap:10px;padding:13px 16px;box-shadow:0 7px 22px rgba(20,53,31,.2);border-radius:30px;font-size:12px;font-weight:650;transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-3px)}.floating-whatsapp .icon{height:19px;width:19px}
/* entry transitions */
.reveal{opacity:1;transform:none;transition:opacity .75s var(--ease),transform .75s var(--ease)}.motion-ready .reveal{opacity:1;transform:none}.motion-ready .reveal.is-visible{opacity:1;transform:none}
@media (max-width:1320px){.desktop-nav{gap:14px}.header-inner{gap:16px}.wordmark-main{font-size:22px}.nav-link{font-size:11px}.btn-small{padding:11px}.about-grid{gap:90px}.locations-grid{gap:85px}}
@media (max-width:1080px){
 .container{width:calc(100% - 62px)}
 .site-header{height:79px}.desktop-nav,.header-book{display:none}
 .menu-toggle{display:flex;background:transparent;border:0;width:44px;height:44px;padding:11px 8px;flex-direction:column;justify-content:space-around;align-items:stretch;cursor:pointer;z-index:92}.menu-toggle span{height:1.5px;background:var(--ink);width:100%;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 .mobile-nav{display:flex;position:fixed;top:79px;left:0;right:0;height:calc(100dvh - 79px);background:#f9f9f4;flex-direction:column;gap:0;padding:28px 31px 38px;transform:translateY(-10px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;overflow-y:auto;box-shadow:0 15px 30px rgba(0,0,0,.06)}.mobile-nav.is-open{opacity:1;transform:none;pointer-events:auto}.mobile-nav .nav-link{font:normal 29px var(--serif);padding:13px 0;border-bottom:1px solid #e3e7e1;color:var(--ink)}.mobile-nav .nav-link:after{display:none}.mobile-nav .nav-link.is-active{color:#608565}.mobile-cta{margin-top:30px}
 .hero-grid{gap:30px}.hero h1{font-size:clamp(52px,6vw,72px)}.hero-photo-surface{height:540px}.hero-stamp{right:-12px;bottom:110px}
 .service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:300px}.service-card h3{min-height:0}
 .intro-grid,.about-grid,.locations-grid,.split-info,.contact-layout{gap:65px}.about-photo{height:550px}.about-detail .about-photo{height:600px}
 .faq-grid{gap:65px}.footer-top{grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-brand{grid-column:span 3}.article-layout{gap:60px;grid-template-columns:1fr 300px}
}
@media (max-width:780px){
 .container{width:calc(100% - 40px)}.section-padding{padding:76px 0}.section-heading{margin-bottom:38px}.section-heading h2,.about-text h2,.split-copy h2,.online-callout h2,.contact-main h2{font-size:clamp(37px,8vw,55px)}
 .hero{min-height:0}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-content{padding:55px 0 36px;order:1}.hero h1{font-size:clamp(49px,11vw,76px);white-space:normal;line-height:1.12}.hero-lead{font-size:15px;margin-top:24px}.hero-actions{margin-top:26px}.hero-note{margin-top:23px}.hero-visual{order:2;padding:0 18px 55px 0;width:min(100%,550px);align-self:center}.hero-photo-surface{height:500px;max-height:none}.hero-stamp{right:-8px;bottom:92px;width:100px;height:100px}.stamp-small{font-size:8px}.stamp-plus{font-size:25px}.hero-caption{bottom:23px}.hero-scroll{display:none}
 .trust-strip-inner{padding:22px 0;display:grid;grid-template-columns:1fr;gap:14px}
 .intro-grid,.about-grid,.locations-grid,.faq-grid,.split-info,.contact-layout,.two-col-title{grid-template-columns:1fr;gap:30px}.intro-copy{padding-top:0}.about-grid{gap:55px}.about-photo-wrap{max-width:460px;margin:auto}.about-photo{height:520px}.about-side-note{display:none}.about-text{padding-top:0}.about-detail .about-text{padding-top:0}.about-detail .about-photo{height:550px}
 .steps-grid{gap:27px}.locations-grid{gap:44px}.city-card{box-shadow:12px 12px 0 #e8ece6}
 .cta-panel{padding:44px 36px;grid-template-columns:1fr;gap:30px}.cta-actions{align-items:flex-start}.cta-actions .btn{width:auto}.cta-text-link{text-align:left}
 .two-col-title{gap:18px}.experience-grid,.three-features,.journal-grid{grid-template-columns:1fr}.experience-card{min-height:0}.three-features{gap:35px}.journal-card{min-height:280px}
 .timeline-row{grid-template-columns:145px 1fr;gap:18px}.article-layout{grid-template-columns:1fr;gap:35px}.article-aside{position:static}.footer-top{grid-template-columns:repeat(2,1fr);gap:35px}.footer-brand{grid-column:span 2}.footer-bottom{align-items:start;flex-direction:column}
 .page-hero{padding:76px 0 82px}.page-hero h1{font-size:clamp(48px,9vw,71px)}
}
@media (max-width:530px){
 .site-header{height:73px}.mobile-nav{top:73px;height:calc(100dvh - 73px)}.wordmark-main{font-size:23px}.wordmark-caption{font-size:8px}
 .hero-content{padding-top:43px}.hero h1{font-size:clamp(46px,11.4vw,61px)}.hero .eyebrow{font-size:9px;letter-spacing:.13em}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}.hero-actions .btn-primary{width:100%}.hero-actions .btn-plain{align-self:flex-start;min-height:40px}
 .hero-photo-surface{height:440px;border-radius:200px 200px 9px 9px}.hero-visual{padding-bottom:62px}.hero-caption{font-size:15px}.hero-caption span{font-size:10px}
 .service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:245px;padding:24px}.service-card-top{margin-bottom:20px}.service-card h3{font-size:28px}.service-card p{margin:10px 0 16px}.center-button .btn{width:100%}
 .intro-grid{gap:4px}.about-photo{height:480px}.about-detail .about-photo{height:490px}.steps-grid{grid-template-columns:1fr;gap:30px}.step-item>span{font-size:45px}.step-line{margin:0 0 13px}.step-item p{max-width:none}
 .city-card{padding:20px 22px}.city-row>span{font-size:21px}.locations-grid{gap:35px}
 .quote-break{padding:70px 0}.quote-break blockquote{font-size:33px}.faq-grid{gap:18px}
 .cta-panel{padding:38px 24px}.cta-panel h2{font-size:35px}.cta-panel .btn{width:100%;white-space:normal}.cta-text-link{width:100%;text-align:center}
 .timeline-row{grid-template-columns:1fr;gap:8px;padding:22px 0}.experience-card{padding:28px}.path-row{grid-template-columns:33px 1fr;gap:10px 16px;padding:27px 0}.path-row .round-arrow{grid-column:2;justify-self:start;width:40px;height:40px}.path-row h2{font-size:30px}.path-row p{font-size:14px}.path-row .path-tags{font-size:11px}
 .screen-surface{padding:20px}.screen-surface img{height:390px}.screen-label{left:26px;right:26px;bottom:36px;font-size:16px}.three-features{gap:40px}.locations-detail-grid{grid-template-columns:1fr}.location-tile{min-height:220px;padding:25px}.online-callout{flex-direction:column;align-items:start;gap:30px}.online-callout .btn{width:100%}
 .contact-side{padding:29px}.contact-main .text-large{font-size:17px}.contact-method{gap:14px}.contact-method>span{width:43px;height:43px;flex-shrink:0}.contact-method a{font-size:13px}
 .article-copy h2{font-size:28px}.article-copy p{font-size:15px}
 .footer{padding:60px 0 90px}.footer-top{grid-template-columns:1fr 1fr;gap:29px}.footer-brand h2{font-size:36px}.footer-col:last-child{grid-column:span 2}.footer-col{gap:9px}.footer-bottom{font-size:10px}
 .floating-whatsapp{right:16px;bottom:16px;padding:13px 15px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* Contatti social e piccole ottimizzazioni */
.social-links{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-top:9px}
.social-links a{display:inline-flex;gap:7px;align-items:center;min-height:38px;border:1px solid rgba(215,230,216,.28);padding:7px 10px;border-radius:4px;color:#e4eee4!important;font-size:11px}
.social-links a:hover{background:rgba(255,255,255,.09)}
.social-icon{width:16px;height:16px;flex-shrink:0}
.legal-document a{text-decoration:underline;text-underline-offset:3px}
.legal-document strong{color:var(--ink)}
@media (max-width:530px){.social-links{gap:6px}.social-links a{padding:7px 9px}}

/* SEO landing pages: location and specialty content, tailored for accessibility */
.seo-bridge-section{background:#faf9f5}.seo-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.seo-card{display:flex;flex-direction:column;border:1px solid #d9e1d6;background:#f1f4ee;padding:30px 25px;min-height:295px;transition:transform .2s,box-shadow .2s}.seo-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px #233a2e10}.seo-card span{font-size:10px;letter-spacing:.13em;font-weight:750;color:#67836c}.seo-card h3{font:normal 25px/1.3 var(--serif);margin:27px 0 10px}.seo-card p{color:#647267;font-size:13px}.seo-card strong{font-size:12px;margin-top:auto;padding-top:18px}.local-pill-links,.specialty-shortcuts{display:flex;flex-wrap:wrap;gap:12px}.local-pill-links a,.specialty-shortcuts a{padding:12px 18px;background:#fcfdf9;border:1px solid #bdcbbd;color:#2d4c39;font-size:13px;font-weight:620;border-radius:2px;transition:background .2s}.local-pill-links a:hover,.specialty-shortcuts a:hover{background:#e5ede3}.specialty-shortcuts{margin:45px 0 0}.focus-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:90px;align-items:start}.focus-copy>h2{font:normal clamp(33px,3.5vw,49px)/1.2 var(--serif);margin-bottom:24px}.focus-copy>p{font-size:16px;color:#617367;margin:0 0 22px}.focus-aside{padding:42px 37px;background:#e9efe6;position:sticky;top:110px}.focus-aside h3{font:normal 34px/1.17 var(--serif);margin:18px 0 17px}.focus-aside p{font-size:14px;color:#607463;margin-bottom:27px}.focus-aside .btn{width:100%;white-space:normal}.side-kicker{font-size:10px;letter-spacing:.18em;font-weight:750;color:#66836d}.aside-phone{display:block;margin-top:20px;text-decoration:underline;font-size:12px;font-weight:600}.local-info-strip{display:grid;gap:12px;background:#f0f4ed;border-left:3px solid #8ba793;margin-top:38px;padding:22px;color:#526d59;font-size:13px}.local-info-strip span:before{content:'✓';margin-right:11px;color:#5d8d6d}.focus-article{border-bottom:1px solid #d7e0d3;padding:5px 0 35px;margin-bottom:29px}.focus-article:first-child{padding-top:0}.focus-article:last-child{border:0}.focus-index{font:italic 20px var(--serif);color:#94ae98}.focus-article h2{font:normal clamp(31px,3vw,42px)/1.18 var(--serif);margin:10px 0 16px}.focus-article p{color:#607166;font-size:15px}.focus-faq{max-width:850px;margin-bottom:55px}.focus-rel{border-top:1px solid #cbd6c8;padding-top:24px}.focus-rel>strong{font:normal 26px var(--serif);display:block;margin-bottom:20px}.focus-rel>div{display:flex;flex-wrap:wrap;gap:12px}.focus-rel a{padding:12px 15px;background:#fff;border:1px solid #d2dcd0;font-size:12px;font-weight:620}.focus-rel a span{margin-left:12px}.footer-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.footer-social a{display:inline-block;padding:8px 12px;border:1px solid #668170;border-radius:3px;color:#e4ede5;font-size:11px}.privacy-contact-note{margin:25px 0;padding:19px 24px;background:#ecf1e9;border-left:3px solid #82a08b;font-size:13px!important}.privacy-updated a{color:#3a6a4c;text-decoration:underline}.privacy-updated strong{color:#294635}
@media(max-width:1080px){.seo-link-grid{grid-template-columns:repeat(2,1fr)}.focus-grid{gap:40px}}
@media(max-width:760px){.seo-link-grid{grid-template-columns:1fr}.seo-card{min-height:230px}.focus-grid{grid-template-columns:1fr}.focus-aside{position:static;padding:30px 25px}.focus-copy>p{font-size:15px}.local-pill-links a,.specialty-shortcuts a{width:100%}.focus-faq{margin-bottom:32px}}
