@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#233b2d;--green:#315c45;--sage:#dfe7dc;--sage-deep:#7e9a80;--sand:#f5f1e9;--cream:#faf9f5;--white:#fff;--body:#525b51;--line:#e6e8df;--shadow:0 15px 45px rgba(36,64,49,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}button{font:inherit}p{margin:0 0 1.1rem;color:var(--body)}h1,h2,h3{margin:0 0 1rem;line-height:1.13;letter-spacing:-.027em}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h3{font-weight:700}em{font-weight:400;color:var(--green)}img{max-width:100%;display:block}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.shell{width:min(1160px,calc(100% - 76px));margin-inline:auto}.skip{position:absolute;left:10px;top:-100px;padding:10px;background:white;z-index:100}.skip:focus{top:8px}.site-header{position:relative;z-index:15;background:#fffcf8f7;border-bottom:1px solid #e4e7e0;backdrop-filter:blur(12px)}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{position:relative;display:block;width:51px;height:51px}.brand-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.brand-original{z-index:1}.brand-type{display:flex;flex-direction:column;gap:1px}.brand-name{font-family:'DM Serif Display',Georgia,serif;font-size:23px;line-height:1.1}.brand-subtitle{font-size:10px;font-weight:700;letter-spacing:.27em}.primary-nav{display:flex;align-items:center;gap:30px}.nav-link{font-weight:600;font-size:14px;color:#516253;position:relative;padding:14px 0}.nav-link:hover,.nav-link.is-current{color:#264e38}.nav-link.is-current:after{content:'';position:absolute;bottom:7px;height:2px;left:0;right:0;background:#769179}.btn{display:inline-flex;align-items:center;gap:16px;justify-content:center;padding:13px 22px;border:1.5px solid transparent;border-radius:5px;font-weight:700;font-size:14px;line-height:1.3;min-height:47px;transition:transform .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn svg{width:17px;height:17px}.btn--primary,.btn--nav{background:var(--green);color:#fff}.btn--nav{padding:11px 18px;min-height:41px}.btn--primary:hover,.btn--nav:hover{background:#244832}.btn--outline{border-color:var(--green);color:var(--green);background:transparent}.btn--outline:hover{background:#ecf1e9}.btn--text{padding-left:0;padding-right:0;color:var(--green);border:0;font-size:15px}.btn--light{background:var(--white);color:var(--green)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.menu-toggle{display:none}.eyebrow{display:flex;align-items:center;gap:9px;color:#6c856d;font-size:11px;font-weight:700;letter-spacing:.21em;margin-bottom:20px}.mini-dot{height:6px;width:6px;border-radius:50%;background:#799c7d}.hero{background-image:linear-gradient(90deg,rgba(249,247,241,.98) 0%,rgba(249,247,241,.90) 37%,rgba(249,247,241,.13) 75%),url('cucina-mediterranea.webp');background-size:cover;background-position:center;min-height:575px;position:relative;display:flex;align-items:center}.hero-content{padding-block:74px}.hero h1{font-size:clamp(42px,5vw,72px);max-width:650px;line-height:1.09;margin-bottom:22px}.hero .lead{font-size:17px;max-width:515px;line-height:1.8;color:#4d574f}.hero-photo-credit{position:absolute;bottom:16px;right:32px;font-size:9px;letter-spacing:.19em;color:#566958;background:#f8f6f1c9;padding:6px 9px}.section{padding:92px 0}.pillars{padding:44px 0;background:#fff}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr)}.pillar{padding:0 28px 0 25px;border-right:1px solid var(--line)}.pillar:first-child{padding-left:0}.pillar:last-child{border-right:0;padding-right:0}.pillar-icon,.service-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--green)}.pillar-icon svg{width:35px;height:35px}.pillar h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:22px;margin:12px 0 9px;letter-spacing:0}.pillar p{font-size:14px;line-height:1.65;margin:0}.split{display:grid;grid-template-columns:.93fr 1.07fr;gap:76px;align-items:center}.about-preview{background:#fff}.portrait-card{border-radius:8px;min-height:400px;background:linear-gradient(135deg,#dce6d7,#f0eee4);position:relative;overflow:hidden;isolation:isolate}.portrait-personal{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.portrait-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 17% 13%,#fff9 0%,transparent 44%),linear-gradient(132deg,#dae5d7,#e9e8da)}.portrait-placeholder:after{content:'';position:absolute;inset:38px;border:1px solid #ffffffac;border-radius:50%}.portrait-orbit{position:absolute;top:15%;left:15%;transform:rotate(-15deg);color:#648b6c;opacity:.65}.portrait-orbit svg{width:90px;height:90px;stroke-width:.85}.portrait-monogram{font-family:'DM Serif Display',serif;font-size:145px;letter-spacing:-.09em;line-height:1;color:#577b5c99;padding-right:15px}.portrait-foot{position:absolute;bottom:28px;font-size:10px;font-weight:700;letter-spacing:.19em;color:#58725b}.section-title{font-size:clamp(35px,4vw,52px);margin-bottom:22px}.copy-block p:not(.eyebrow){font-size:15px;line-height:1.85}.copy-block .btn{margin-top:10px}.section-heading{margin-bottom:38px}.section-heading.centered{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}.section-heading.centered .eyebrow{justify-content:center}.section-heading p:not(.eyebrow){font-size:16px}.services-preview{background:#f4f5ee}.service-cards{display:grid;gap:20px}.three-col{grid-template-columns:repeat(3,1fr)}.service-card{background:#fff;border:1px solid #e7ebe2;padding:29px;border-radius:9px;box-shadow:var(--shadow)}.service-icon{height:52px;width:52px;background:#edf3e9;border-radius:9px;margin-bottom:21px}.service-icon svg{width:29px;height:29px}.service-card h3,.service-card h2{font-family:'DM Serif Display',Georgia,serif;font-size:23px;line-height:1.3;font-weight:400;margin-bottom:12px}.service-card p{font-size:14px;line-height:1.75;margin:0}.section-action{text-align:center;margin-top:34px}.approach-banner{background:var(--green);color:#fff}.approach-banner-grid{display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:100px}.approach-banner h2{font-size:clamp(35px,4vw,49px);line-height:1.2}.approach-banner h2 em{color:#cce0c8}.approach-banner p{color:#dce9dd}.approach-banner .eyebrow{color:#bdd7bd}.approach-banner-grid .btn{margin-top:14px}.contact-teaser{background:#fff}.teaser-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.teaser-inner>div:first-child{max-width:590px}.teaser-inner p:last-child{margin-bottom:0}.teaser-actions{display:flex;flex-direction:column;gap:12px;min-width:230px}.site-footer{background:#203a2b;color:#e9eee5}.footer-top{display:grid;grid-template-columns:1.4fr .8fr 1.2fr;gap:70px;padding:65px 0 55px}.footer-brand{font:normal 28px 'DM Serif Display',Georgia,serif}.footer-top p{color:#c5d5c8;font-size:14px;margin:5px 0 14px;max-width:300px}.footer-top h3{font-size:14px;letter-spacing:.05em;margin-bottom:18px}.footer-top a:not(.footer-brand),.footer-top span{display:block;color:#c5d5c8;font-size:14px;margin:0 0 12px}.footer-top a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #46624e;display:flex;justify-content:space-between;gap:20px;padding:22px 0;color:#b1c4b4;font-size:12px}.page-banner{padding:83px 0 90px;background:linear-gradient(115deg,#e9eee4 0%,#f7f5ec 72%);position:relative;overflow:hidden}.page-banner:after{content:' ';position:absolute;width:330px;height:330px;border:2px solid #a9bea93e;border-radius:50%;right:-80px;top:-100px}.page-banner h1{font-size:clamp(43px,5vw,67px);max-width:830px;margin-bottom:17px}.page-banner p:not(.eyebrow){max-width:645px;color:#57665b;font-size:17px}.bio-layout{align-items:start;grid-template-columns:.8fr 1.2fr}.portrait-card--tall{min-height:545px}.copy-block--wide p{margin-bottom:18px}.cream-section{background:#f2f3eb}.slim-reading{max-width:870px}.slim-reading>p:not(.eyebrow){font-size:16px;line-height:1.85}.quote-note{display:flex;align-items:flex-start;gap:20px;margin-top:34px;padding:23px 28px;background:#fff;border-left:3px solid var(--green)}.quote-note span{font:normal 60px/1 Georgia,serif;color:#8aa390}.quote-note p{font:normal 24px/1.35 'DM Serif Display',Georgia,serif;color:var(--green);margin:4px 0}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.method-grid article{padding:20px 18px;border-top:2px solid var(--sage-deep);background:#fff}.method-grid article>span{font-family:'DM Serif Display',Georgia,serif;color:#9cb39b;font-size:32px}.method-grid h3{margin-top:10px;font-size:19px;font-weight:700}.method-grid p{font-size:14px;line-height:1.7;margin:0}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card--large{min-height:300px;padding:34px}.visit-steps{max-width:970px;margin:45px auto 0}.visit-step{display:grid;grid-template-columns:75px 1fr;gap:23px;padding:26px 0;border-top:1px solid #d9ded3}.visit-step:first-child{border:0}.step-bubble{height:64px;width:64px;border-radius:50%;background:#e0e9df;display:flex;align-items:center;justify-content:center;font:normal 29px 'DM Serif Display',Georgia,serif;color:#436f50}.visit-step h3{font-size:21px;margin:0 0 12px}.visit-step p{line-height:1.8;margin:0}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:95px;align-items:start}.contact-intro{max-width:420px}.contact-methods{margin-top:31px}.contact-method{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:17px 0}.contact-method>span:first-child{display:grid;place-items:center;width:50px;height:50px;background:#e9f0e7;border-radius:8px;color:var(--green)}.contact-method>span:nth-child(2){display:flex;flex-direction:column;gap:0;flex:1}.contact-method strong{font-size:14px}.contact-method small{font-size:14px;color:#5c6a60}.contact-method:hover strong,.contact-method:hover small{color:var(--green)}.contact-method>svg{width:18px}.contact-note{margin-top:28px;padding:17px 22px;background:#f3f4ec;border-radius:6px}.contact-note p{font-size:14px;margin:0 0 5px}.booking-panel{padding:43px;background:var(--green);color:#fff;border-radius:8px}.booking-panel .eyebrow{color:#b3d5b8}.booking-panel h2{font-size:39px;margin-bottom:20px}.booking-panel h3{font-size:20px}.booking-panel p{color:#e1e9dd}.booking-panel .btn{margin:12px 0}.booking-divider{height:1px;background:#668672;margin:30px 0 24px}.booking-secondary{display:inline-flex;gap:15px;align-items:center;font-weight:700;border-bottom:1px solid #b7d0ba;padding-bottom:8px}.booking-secondary svg{width:17px}.faq-note{display:flex;gap:24px;max-width:840px}.faq-symbol{width:49px;height:49px;flex-shrink:0;border:1px solid #859b83;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:27px;color:var(--green)}.faq-note h2{font-size:25px;font-family:'DM Serif Display',Georgia,serif}.small-bottom{padding-block:57px}
@media(max-width:1070px){.primary-nav{gap:18px}.primary-nav .btn--nav{display:none}.split{gap:40px}.contact-grid{gap:45px}}
@media(max-width:760px){.shell{width:min(100% - 38px,1160px)}.header-inner{height:78px}.brand-name{font-size:19px}.brand-subtitle{font-size:8px}.brand-mark{width:44px;height:44px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid #d6e0d6;border-radius:6px;background:transparent;height:42px;width:44px}.menu-toggle span{height:2px;width:21px;background:var(--green);transition:transform .2s ease}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.primary-nav{position:absolute;top:78px;left:0;right:0;background:#fffcf8;padding:15px 20px 22px;display:none;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #eef0e9;box-shadow:0 20px 25px #263d3022}.primary-nav.is-open{display:flex}.primary-nav .btn--nav{display:inline-flex;margin-top:13px}.nav-link{padding:12px 4px}.nav-link.is-current:after{bottom:7px;width:45px;right:auto}.hero{min-height:auto;background-image:linear-gradient(90deg,rgba(249,247,241,.96) 0%,rgba(249,247,241,.9) 50%,rgba(249,247,241,.55) 100%),url('cucina-mediterranea.webp');background-position:58% center}.hero-content{padding-block:72px}.hero h1{font-size:clamp(40px,9vw,57px);max-width:580px}.hero .lead{font-size:16px}.hero-photo-credit{display:none}.section{padding:65px 0}.pillars{padding:30px 0}.pillars-grid{grid-template-columns:1fr;gap:20px}.pillar,.pillar:first-child,.pillar:last-child{padding:0 0 18px;border-right:0;border-bottom:1px solid var(--line)}.pillar:last-child{border:0;padding:0}.pillar h2{font-size:21px}.split,.bio-layout,.approach-banner-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.portrait-card{min-height:320px;max-width:560px;width:100%;margin:auto}.portrait-card--tall{min-height:400px}.portrait-monogram{font-size:125px}.three-col,.services-grid{grid-template-columns:1fr 1fr}.method-grid{grid-template-columns:1fr 1fr}.approach-banner-grid{gap:5px}.teaser-inner{flex-direction:column;align-items:stretch}.teaser-actions{width:100%}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}.page-banner{padding:67px 0}.contact-grid{gap:35px}.booking-panel{padding:30px}}
@media(max-width:520px){.actions{flex-direction:column;align-items:stretch}.actions .btn{width:100%}.three-col,.services-grid,.method-grid{grid-template-columns:1fr}.hero h1{font-size:43px}.hero-content{padding-block:58px}.section-title{font-size:39px}.page-banner h1{font-size:43px}.booking-panel h2{font-size:34px}.service-card--large{min-height:0}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.visit-step{grid-template-columns:54px 1fr;gap:13px}.step-bubble{width:50px;height:50px;font-size:24px}.contact-method small{font-size:12px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}