@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#20243e;--deep:#171b32;--mint:#a7cfb6;--pale:#eef5ef;--cream:#f7f6f1;--muted:#656d77;--line:#dbe4dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13}h1,h2{font-weight:500;letter-spacing:-.04em}h2{font-size:clamp(2.65rem,5.2vw,5.5rem)}em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.055em}.wrap{width:min(1220px,calc(100% - 80px));margin-inline:auto}.section{padding:110px 0}section[id]{scroll-margin-top:100px}.skip-link{position:absolute;z-index:1000;top:-100px;left:20px;background:white;padding:10px}.skip-link:focus{top:10px}.site-header{position:relative;z-index:20;background:#fff}.utility{background:var(--deep);color:#e7eee9;font-size:12px;letter-spacing:.02em}.utility-inner{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.utility a:hover,.site-footer a:hover{text-decoration:underline}.utility i{padding:0 15px;font-style:normal;opacity:.5}.nav-row{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:35px}.brand{width:236px;flex:none;overflow:hidden}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.site-header nav a:not(.nav-cta):hover{color:#4c8d72}.nav-cta{background:var(--ink);color:white;padding:13px 22px}.nav-cta span{margin-left:20px}.nav-cta:hover,.button-dark:hover{background:#405c53}.menu-toggle{display:none}.eyebrow{color:#52886d;font-size:11px;font-weight:700;letter-spacing:.19em;display:block;margin-bottom:24px}.eyebrow.light{color:var(--mint)}.eyebrow-line{display:inline-block;width:30px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 21px;min-width:210px;font-size:13px;font-weight:700;line-height:1.4;border:0;transition:.2s}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--mint)}.button-dark{background:var(--ink);color:#fff}.arrow-link{display:inline-flex;gap:55px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:9px;font-size:14px;font-weight:700}.arrow-link:hover{color:#4c8d72;border-color:#4c8d72}.hero{min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden;color:white;background:var(--deep)}.hero-photo{position:absolute;inset:0;background-image:url('farmacia-ranieri-esterno.webp');background-size:cover;background-position:50% 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,24,47,.94) 0%,rgba(20,24,47,.78) 42%,rgba(20,24,47,.1) 100%)}.hero-content{position:relative;z-index:1;padding:90px 0 120px}.hero h1{font-size:clamp(3.3rem,6.3vw,6.9rem);max-width:1000px;margin:0 0 28px;line-height:1.03}.hero h1 em{color:#b5dac4}.hero p{max-width:530px;color:#e8eae8;font-size:17px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.text-link{border-bottom:1px solid rgba(255,255,255,.6);padding:8px 0;font-size:14px;font-weight:600}.text-link span{margin-left:15px}.hero-scroll{position:absolute;right:max(40px,calc((100vw - 1220px)/2));bottom:40px;z-index:1;font-size:10px;font-weight:700;letter-spacing:.2em}.hero-scroll span{font-size:18px;vertical-align:middle;margin-left:14px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,140px);align-items:center}.intro-visual{position:relative;padding:0 45px 50px 0}.intro-visual>img{width:100%;height:570px;object-fit:cover;object-position:center}.visual-note{position:absolute;right:0;bottom:0;background:var(--mint);width:185px;height:190px;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.visual-note span{font-size:10px;letter-spacing:.2em;font-weight:700}.visual-note strong{font-size:30px;line-height:1.1;font-family:'Playfair Display',Georgia,serif;font-weight:500}.intro-copy h2{margin-bottom:30px}.intro-copy p,.feature-copy p,.detail p{color:#58616d;max-width:580px}.intro-copy .arrow-link,.feature-copy .arrow-link{margin-top:25px}.manifesto{background:var(--deep);color:#fff;padding:90px 0}.manifesto-grid{display:grid;grid-template-columns:1fr 2.1fr;gap:50px}.manifesto-grid p{font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.25;letter-spacing:-.03em;margin-bottom:26px;max-width:950px}.manifesto-grid em{color:var(--mint)}.manifesto-grid div>span{color:#bfc6d1}.services-section{background:var(--cream)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-top h2{margin:0}.section-top>p{max-width:380px;color:var(--muted);margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccd7d0;border-left:1px solid #ccd7d0}.service-card{min-height:260px;padding:24px;display:flex;flex-direction:column;position:relative;border-right:1px solid #ccd7d0;border-bottom:1px solid #ccd7d0;transition:.2s}.service-card:hover{background:var(--mint)}.card-num{font-size:10px;letter-spacing:.15em;color:#638673;font-weight:700}.card-title{font-size:24px;letter-spacing:-.04em;line-height:1.2;font-weight:600;margin-top:42px}.card-desc{font-size:13px;color:#666d72;margin-top:10px;line-height:1.5;max-width:215px}.card-arrow{position:absolute;right:23px;bottom:22px;font-size:22px}.feature{background:var(--pale)}.feature-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.feature-copy h2{margin-bottom:28px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-grid img{width:100%;height:240px;object-fit:cover}.photo-grid img:first-child{grid-row:span 2;height:492px}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:80px}.contact-info{display:flex;flex-direction:column;gap:36px}.contact-info>div{border-top:1px solid var(--line);padding-top:22px}.contact-info span{display:block;font-size:10px;color:#52886d;font-weight:700;letter-spacing:.17em;margin-bottom:12px}.contact-info h3,.contact-info .large{font-size:25px;font-weight:500;line-height:1.35;margin:0 0 12px}.contact-info a{display:block;width:max-content;max-width:100%;word-break:break-word}.contact-info a:hover{text-decoration:underline}.contact-info p{margin-bottom:7px}.contact-info small{color:var(--muted)}.contact-form-wrap{background:var(--cream);padding:42px}.contact-form-wrap h3{font-size:31px;letter-spacing:-.04em;margin-bottom:7px}.contact-form-wrap>p{color:var(--muted);font-size:14px}.contact-form-wrap form{margin-top:26px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}form label span:not(.consent span){color:var(--muted);font-weight:400}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #d4dbd5;background:white;padding:13px 14px;color:var(--ink);margin-top:6px;border-radius:0;outline:none}input:focus,textarea:focus,select:focus{border-color:#548c6d;box-shadow:0 0 0 2px #9bc7af55}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5}.consent input{margin-top:4px;accent-color:var(--ink)}.consent a{text-decoration:underline}.form-note{font-size:12px;color:var(--muted)}.honeypot{position:absolute;left:-9999px;height:0;overflow:hidden}#form-status{font-size:13px;margin:13px 0 0}.site-footer{background:var(--deep);color:#e0e5e2;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:70px}.footer-brand{font-size:34px;font-weight:700;letter-spacing:-.07em;color:white;line-height:1}.footer-brand span{display:block;font-size:12px;letter-spacing:.23em;text-transform:uppercase;color:var(--mint);margin-top:5px}.footer-grid p{font-size:14px;color:#bbc4c6;max-width:320px;margin:18px 0}.footer-grid h3{font-size:13px;color:var(--mint);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}.footer-grid a:not(.footer-brand){display:block;font-size:14px;line-height:2}.foot-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #4d5364;margin-top:55px;padding-top:20px;font-size:12px;color:#adb8b9}.subhero{background:var(--deep);color:#fff;padding:90px 0}.subhero-grid{display:grid;grid-template-columns:1fr .83fr;gap:65px;align-items:center}.subhero .back-link{display:block;color:#c1cec4;font-size:13px;margin-bottom:56px}.subhero h1{font-size:clamp(3.5rem,6vw,6.7rem);max-width:700px;margin-bottom:20px}.subhero p{color:#d5ddd9;max-width:500px;font-size:18px}.subhero .button{margin-top:18px}.subhero img{width:100%;height:490px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:120px}.detail h2{margin-bottom:22px}.detail-list{background:var(--pale);padding:42px}.detail-list h3{font-size:24px}.detail-list ul{list-style:none;padding:0;margin:22px 0}.detail-list li{padding:12px 0 12px 25px;position:relative;border-top:1px solid #ccd9cf}.detail-list li:before{content:'↗';position:absolute;left:0;color:#55876f}.detail-list p{font-size:13px}.detail-cta{padding:70px 0;background:#8fbca3}.detail-cta h2{font-size:clamp(2.5rem,4vw,4.5rem);margin-bottom:25px}
@media(max-width:1050px){.site-header nav{gap:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{gap:40px}.contact-grid{gap:35px}}@media(max-width:720px){.wrap{width:min(100% - 36px,560px)}.section{padding:72px 0}.utility-inner{justify-content:center}.utility-inner>span:first-child{display:none}.nav-row{min-height:76px}.brand{width:186px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:9px}.menu-toggle span{width:24px;height:2px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px 18px;box-shadow:0 10px 25px #20243e22;flex-direction:column;align-items:stretch;gap:18px}.site-header nav.open{display:flex}.hero{min-height:660px}.hero-photo{background-position:57% 50%}.hero-shade{background:linear-gradient(90deg,#171b32ea,#171b32a9)}.hero-content{padding:80px 0 110px}.hero h1{font-size:clamp(3.15rem,11vw,5rem)}.hero p{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-scroll{right:18px;bottom:20px}.intro-grid,.manifesto-grid,.feature-grid,.contact-grid,.subhero-grid,.detail-grid{grid-template-columns:1fr;gap:40px}.intro-visual{padding-right:20px}.intro-visual>img{height:420px}.visual-note{width:130px;height:135px;padding:14px}.visual-note strong{font-size:22px}.manifesto{padding:65px 0}.manifesto-grid{gap:10px}.section-top{display:block}.section-top>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:210px}.card-title{margin-top:24px}.photo-grid img{height:160px}.photo-grid img:first-child{height:332px}.contact-form-wrap{padding:25px}.form-pair{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.foot-bottom{display:block}.foot-bottom span{display:block;margin-bottom:10px}.subhero{padding:52px 0}.subhero .back-link{margin-bottom:35px}.subhero h1{font-size:3.6rem}.subhero img{height:310px}.detail-list{padding:24px}}

/* Farmacia Ranieri — October 2026 content and illustration update. */
.site-header nav{gap:22px}.brand{width:215px}.nav-row{gap:26px}.site-header nav a[aria-current=page]{color:#41775e}
.hero-photo{background-image:url('ranieri-esterno-20261013.webp');background-position:50% 48%}
.intro-visual>img{object-position:50% 44%}
.service-grid-illustrated{border:0;gap:18px}
.service-grid-illustrated .service-card{border:1px solid #20243e0d;border-radius:14px;min-height:340px;padding:26px;overflow:hidden;background:var(--card-color);isolation:isolate;box-shadow:0 8px 20px #20243e06;transition:transform .25s ease,box-shadow .25s ease}
.service-grid-illustrated .service-card:after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid #20243e12;right:-90px;bottom:-90px;z-index:-1}
.service-grid-illustrated .service-card:hover,.service-grid-illustrated .service-card:focus-visible{transform:translateY(-5px);box-shadow:0 15px 30px #20243e12;outline:2px solid #52886d;outline-offset:3px}
.service-card--heart{--card-color:#f2e4e6}.service-card--gut{--card-color:#e1edf0}.service-card--nutrition{--card-color:#eee9d8}.service-card--longevity{--card-color:#ebe4ef}.service-card--prevention{--card-color:#dfece4}.service-card--beauty{--card-color:#f2e5d9}.service-card--specialists{--card-color:#e2e8f2}.service-card--other{--card-color:#e8edde}
.service-grid-illustrated .card-num{position:relative;color:#4a5d55;font-size:10px;align-self:flex-start;padding:5px 10px;border-radius:30px;border:1px solid #20243e20;background:#ffffff50}
.card-illustration{position:absolute;top:22px;right:18px;width:120px;height:120px;background-size:200% 200%;background-position:var(--art-position);background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.7;pointer-events:none;transition:transform .3s ease}
.card-illustration--1{background-image:url('servizi-illustrazioni-1-20261013.webp')}.card-illustration--2{background-image:url('servizi-illustrazioni-2-20261013.webp')}
.service-card:hover .card-illustration{transform:rotate(-4deg) scale(1.04)}
.service-grid-illustrated .card-title{position:relative;margin-top:112px;font-size:25px;max-width:100%;line-height:1.12}
.service-grid-illustrated .card-desc{color:#4e5864;font-size:13px;max-width:100%;margin-top:14px;margin-bottom:24px}
.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;margin-top:auto;padding-top:14px;border-top:1px solid #20243e20}
.service-grid-illustrated .card-arrow{position:static;display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#ffffff80;font-size:20px;line-height:1}
.partners-section{padding:65px 0;background:white;border-bottom:1px solid var(--line)}.partner-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:65px;align-items:center}.partner-copy h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:18px}.partner-copy .eyebrow{margin-bottom:16px}.partner-copy p{font-size:15px;color:var(--muted);margin-bottom:0;max-width:510px}.partner-logos{display:grid;grid-template-columns:1fr 1fr;gap:20px}.partner-logos>a{display:flex;flex-direction:column;justify-content:center;gap:25px;border:1px solid var(--line);padding:24px 20px;min-height:175px;background:#fff;transition:box-shadow .2s}.partner-logos>a:hover{box-shadow:0 10px 25px #20243e12}.partner-logos img{width:100%;height:80px;object-fit:contain}.partner-logos>a>span{font-size:11px;font-weight:700;display:flex;justify-content:space-between;gap:10px}
.detail-list>ul>.service-group{padding:17px 0}.detail-list>ul>.service-group:before{content:none}.service-group h4{font-size:18px;line-height:1.3;margin:0 0 14px}.detail-list .analysis-items{margin:0;padding:0;display:grid;gap:10px}.detail-list .analysis-items li{border:0;padding:0 0 0 18px;font-size:14px;line-height:1.5}.detail-list .analysis-items li:before{content:'';width:5px;height:5px;background:#52886d;border-radius:50%;top:.65em;left:0}
.fidelity-hero h1 em{color:var(--mint)}.subhero .fidelity-photo{object-fit:contain;background:#f5f6ef;border-radius:4px}.fidelity-steps{list-style:none;margin:26px 0;padding:0}.detail-list .fidelity-steps li{display:flex;gap:18px;padding:20px 0}.detail-list .fidelity-steps li:before{content:none}.fidelity-steps li>span{font-size:12px;font-weight:700;border:1px solid #bfd3c5;border-radius:50%;width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center}.fidelity-steps strong{font-size:15px}.fidelity-steps p{margin:4px 0 0}.fidelity-guide .arrow-link{gap:20px}
.events-hero h1{max-width:950px}.events-hero h1 em{color:var(--mint)}.events-hero p{max-width:740px;font-size:18px;margin-bottom:0}.events-moments{background:var(--cream);padding-top:65px;padding-bottom:65px}.event-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;margin:auto}.event-gallery figure{margin:0;overflow:hidden;border-radius:6px}.event-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.events-social{padding:80px 0 100px}.events-social h2{font-size:clamp(2.3rem,4vw,4.2rem);max-width:1050px}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.social-links>a{display:flex;gap:20px;align-items:center;background:var(--pale);padding:25px 28px;border:1px solid var(--line);transition:background .2s}.social-links>a:hover{background:#dfece4}.social-links svg{width:36px;height:36px;flex:none}.social-links strong,.social-links small{display:block}.social-links strong{font-size:18px}.social-links small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.social-arrow{margin-left:auto;font-size:26px}
@media(min-width:721px) and (max-width:1120px){.wrap{width:calc(100% - 48px)}.brand{width:180px}.site-header nav{gap:16px;font-size:12px}.nav-row{gap:18px}.nav-cta{padding:12px 14px}.nav-cta span{margin-left:8px}}
@media(max-width:980px){.nav-row{min-height:85px}.brand{width:200px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:9px}.menu-toggle span{width:24px;height:2px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px 24px;box-shadow:0 10px 25px #20243e22;flex-direction:column;align-items:stretch;gap:18px;font-size:14px}.site-header nav.open{display:flex}.partner-grid{grid-template-columns:1fr;gap:28px}.partner-copy p{max-width:650px}}
@media(max-width:720px){.nav-row{min-height:76px}.brand{width:186px}.service-grid-illustrated{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-grid-illustrated .service-card{min-height:300px;padding:18px 15px;border-radius:10px}.card-illustration{width:90px;height:90px;top:24px;right:9px}.service-grid-illustrated .card-num{font-size:9px;padding:4px 7px}.service-grid-illustrated .card-title{margin-top:108px;font-size:21px}.service-grid-illustrated .card-desc{font-size:12px;margin-bottom:17px}.card-bottom{font-size:10px;gap:5px}.service-grid-illustrated .card-arrow{width:25px;height:25px;font-size:17px;flex:none}.partners-section{padding:46px 0}.partner-logos{gap:12px}.partner-logos>a{padding:18px 12px;min-height:150px;gap:20px}.partner-logos img{height:65px}.partner-logos>a>span{font-size:10px;gap:6px}.event-gallery{gap:20px;grid-template-columns:1fr}.events-moments{padding:40px 0}.events-social{padding:60px 0}.social-links{grid-template-columns:1fr;gap:14px}.social-links>a{padding:22px}.subhero .fidelity-photo{height:390px}.events-hero h1{font-size:clamp(3.1rem,11vw,4rem)}.events-hero p{font-size:16px}.hero-photo{background-position:54% 50%}}
@media(max-width:370px){.service-grid-illustrated{grid-template-columns:1fr}.service-grid-illustrated .service-card{min-height:275px}.service-grid-illustrated .card-title{font-size:24px}.card-illustration{width:112px;height:112px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.card-illustration{transition:none!important}.service-card:hover,.service-card:focus-visible{transform:none!important}}
