/* O Sole Medico · Editorial refinement, September 2026 */
:root{--ink:#163c39;--muted:#55635f;--paper:#f8f7f2;--teal:#174f47;--teal-dark:#103e37;--amber:#88652e;--line:#d7dcd4;--shadow:none;--brand-gradient:linear-gradient(130deg,#183f38,#102f2b)}
body{font-size:16px;line-height:1.95;background:var(--paper)}
h1,h2,h3{font-family:'Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;font-weight:500!important;letter-spacing:.035em!important;line-height:1.65!important}
p{overflow-wrap:anywhere}
.site-header,.site-header.is-scrolled{position:relative;min-height:100px;padding:24px 5.5%;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none}
.brand{height:38px}.nav{gap:26px;font-size:14px}.nav a{opacity:1}.nav a:hover{color:var(--amber)}.nav a[aria-current=page]{color:var(--teal);text-decoration:underline;text-underline-offset:7px}.nav-cta{border:1px solid var(--teal);border-radius:0;background:transparent;padding:9px 23px}
.container,.home-hero-inner{width:min(1160px,88%)}
.home-hero{min-height:710px;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line)}
.home-hero-inner{padding:85px 0 100px}.home-hero-bg{display:none}
.home-hero-logo{position:absolute;right:0;top:50%;transform:translateY(-50%);width:35%;aspect-ratio:1;border:1px solid #c9d2c5;border-radius:50%;display:grid;place-items:center;margin:0;background:#eef0e8}
.home-hero-logo::after{content:'';position:absolute;inset:20px;border:1px solid #d5dbce;border-radius:50%}
.home-hero-logo img{width:68%;height:auto;position:relative;z-index:1}
.home-hero h1{max-width:67%;font-size:clamp(38px,4.5vw,64px);line-height:1.65!important;margin:24px 0 0;letter-spacing:.065em!important}
.home-hero .hero-copy{max-width:57%;font-size:16px;color:var(--muted);margin-top:26px}
.eyebrow,.section-label,.plan-label{font-family:Georgia,serif;font-weight:400;font-size:14px;letter-spacing:.15em;color:var(--amber)}
.button{border-radius:0;min-height:54px;padding:13px 26px;font-weight:500;box-shadow:none!important;font-size:15px}.button.primary{background:var(--teal)}.button.secondary{color:var(--teal);border:1px solid #95aaa0}.home-hero .hero-actions{gap:16px;margin-top:32px}
.section{padding:104px 0}.section h2{font-size:clamp(27px,3vw,39px)}.intro-section,.evidence-section{background:var(--paper)}.two-col,.split{gap:80px}.lead-stack{font-size:16px;gap:20px}.section-label{margin-bottom:22px}
.services-section{background:#edf0e8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{margin-bottom:40px}.service-duo{gap:0;border-top:1px solid #b7c5b8;border-bottom:1px solid #b7c5b8}.service-panel{border:0;border-radius:0;box-shadow:none;background:transparent;min-height:0;padding:38px 42px 44px 0;overflow:visible}.service-panel+ .service-panel{border-left:1px solid #b7c5b8;padding-left:42px;padding-right:0}.service-panel::after{display:none}.service-panel h3{font-size:28px}.feature-num{font-family:Georgia,serif;font-size:19px;color:var(--amber);background:none;padding:0}.plain-list{font-size:15px;line-height:2}.text-link{font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:7px}.text-link:hover{color:var(--amber)}
.service-duo{grid-template-columns:repeat(3,minmax(0,1fr))}.qa-panel{border-top:5px solid var(--amber)}
.sample-meta{display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--muted);font-size:14px}.sample-meta span{display:inline-block}.sample-score{font-family:Georgia,serif;font-size:clamp(42px,7vw,72px);line-height:1;color:var(--teal)}.source-list a{text-decoration:underline;text-underline-offset:5px}.source-list a:hover{color:var(--amber)}
.sub-hero-inner>*,.two-col>*,.split>*{min-width:0}.credential-strip{max-width:100%;overflow-wrap:anywhere}
.profile-section{color:#f7f7ef;background:#183f38}.profile-section h2,.profile-section p,.profile-section .text-link{color:#f7f7ef}.profile-section .section-label{color:#d1b580}.profile-card{background:transparent;border:0;box-shadow:none;padding:0}.credential-inline{border-top:1px solid #527167!important;padding-top:22px;color:#d4dfd6!important}
.preview-card{border-radius:0;background:transparent;border:1px solid var(--line);box-shadow:none;padding:26px}.contact{background:#edf0e8}.contact-panel{background:transparent;border:0;border-radius:0;box-shadow:none}.site-footer{padding:30px 0;background:var(--paper);color:var(--muted);border-top:1px solid var(--line)}
.sub-hero{background:var(--brand-gradient)}.sub-hero-inner{padding-top:75px!important;padding-bottom:75px!important}.sub-hero h1{font-size:clamp(34px,4.4vw,56px)}.sub-hero .eyebrow{color:#d1b580}.sub-hero .hero-copy{font-size:17px}.contact-form input,.contact-form select,.contact-form textarea{border-radius:0;font-size:16px}.contact-form{border-radius:0;box-shadow:none}.card,.plan-card,.pricing-card{border-radius:0;box-shadow:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba8534;outline-offset:5px}
@media(max-width:1000px){.site-header{flex-wrap:wrap;gap:22px}.nav{gap:20px;flex-wrap:wrap}.home-hero-logo{width:30%;right:0}.home-hero .hero-copy{max-width:65%}.two-col,.split{gap:40px}.service-duo{grid-template-columns:1fr}.service-panel,.service-panel+ .service-panel{padding:32px 0;border-left:0}.service-panel+ .service-panel{border-top:1px solid #b7c5b8}}
@media(max-width:680px){.site-header{padding:20px 6%;gap:18px}.brand{height:32px}.nav{width:100%;gap:12px 18px;justify-content:flex-start;font-size:14px}.nav-cta{padding:5px 12px}.home-hero{min-height:0}.home-hero-inner{padding:45px 0 56px}.home-hero-logo{width:100px;top:24px;right:0;transform:none}.home-hero-logo::after{inset:8px}.home-hero .eyebrow{max-width:65%;min-height:70px;font-size:12px;line-height:1.8}.home-hero h1{max-width:100%;font-size:clamp(31px,7.7vw,43px);line-height:1.7!important;margin-top:22px}.home-hero .hero-copy{max-width:100%;font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr;width:100%}.section{padding:64px 0}.two-col,.split{grid-template-columns:1fr;gap:26px}.service-duo{grid-template-columns:1fr}.service-panel,.service-panel+ .service-panel{padding:28px 0;border-left:0}.service-panel+ .service-panel{border-top:1px solid #b7c5b8}.service-panel h3{font-size:25px}.section h2{font-size:28px}.sub-hero-inner{padding-top:48px!important;padding-bottom:48px!important}.sub-hero h1{font-size:32px;overflow-wrap:anywhere}.sub-hero .credential-strip{display:block;border-radius:4px}.contact-inner{gap:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Explicit foreground/background pairs for light and dark sections. */
:root{--coral:#98503c}
.sub-hero{color:#f7f7ef}
.hero .eyebrow{color:#d1b580}
.sub-hero h1{color:#f7f7ef}
.sub-hero .hero-copy,.sub-hero .hero-note{color:#dce7df}
.sub-hero .credential-strip{color:#163c39;background:#edf0e8;border-color:#b7c5b8}
:is(.hero,.sub-hero) .button.primary{color:#163c39;background:#f7f7ef;border:1px solid #f7f7ef}
:is(.hero,.sub-hero) .button.primary:hover{color:#163c39;background:#e2e9df;border-color:#e2e9df}
:is(.hero,.sub-hero) .button.secondary{color:#f7f7ef;background:transparent;border-color:#c5d6cb}
:is(.hero,.sub-hero) .button.secondary:hover{color:#163c39;background:#f7f7ef;border-color:#f7f7ef}
.profile-section .profile-card{color:#f7f7ef}
.profile-section .profile-card p{color:#e0e9e2}
.profile-section .profile-card p.credential-inline{color:#e0e9e2!important;background:transparent}
.profile-section .text-link:hover{color:#ead3a5}
.pricing .section-head p:not(.section-label){color:#dce7df}
.pricing .price-card .small-note{color:#55635f}

/* Clean high-resolution logos rebuilt from the original brand master. */
.brand{height:44px;flex-shrink:0;overflow:visible}
.brand-logo{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center;flex-shrink:0}
.home-hero-logo img{width:68%;height:auto;aspect-ratio:1;max-width:68%;display:block;place-self:center;object-fit:contain;object-position:center}
@media(max-width:680px){.brand{height:38px}}
