/*
Theme Name: Optima Instrument
Description: A custom, responsive theme for Optima Instrument Service. Includes the Optima logo, four editable starter pages and a guided setup screen. No page builder required.
Version: 1.5.9
Tested up to: 7.1
Author: Optima Instrument Service
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: optima-instrument
Tags: custom-logo, custom-menu, editor-style, block-patterns, wide-blocks
*/

:root{--ink:#1a2027;--dark:#151b21;--red:#c62026;--red-bright:#f34b50;--muted:#58636f;--line:#dce1e5;--light:#f2f4f5;--white:#fff;--width:1180px;--font:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:var(--red);text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #1674ce;outline-offset:5px}
h1,h2,h3,h4,p,ul,ol{margin-top:0}
h1,h2,h3,h4{line-height:1.12;font-weight:700;letter-spacing:-.04em;color:inherit;overflow-wrap:break-word}
h1{font-size:clamp(2.65rem,5.1vw,4.9rem)}
h2{font-size:clamp(2rem,3.4vw,3.1rem)}
h3{font-size:1.4rem;letter-spacing:-.025em}
p{margin-bottom:1.15rem}
ul,ol{padding-left:1.3em}
[hidden]{display:none!important}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;width:auto;height:auto;left:16px;top:12px;padding:12px 20px;background:#fff;z-index:1000;color:var(--ink)}
.wrap,.header-inner,.optima-wrap{width:min(var(--width),calc(100% - 80px));margin-inline:auto}
.optima-wrap h2{margin-bottom:24px}
.optima-wrap h3{margin-bottom:16px}
.optima-wrap p{margin-bottom:1.15rem}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.gauge-banner{background:#eef0f2;border-bottom:1px solid var(--line);line-height:0}
.gauge-banner img{display:block;width:100%;height:clamp(115px,20vw,240px);object-fit:contain;object-position:right center}
.header-inner{min-height:106px;display:flex;align-items:center;gap:42px}
.brand,.custom-logo-link{display:inline-block;flex-shrink:0;line-height:1}
.brand img,.custom-logo{width:214px;max-height:92px;object-fit:contain}
.site-navigation{margin-left:auto}
.primary-menu{display:flex;gap:29px;align-items:center;padding:0;margin:0;list-style:none}
.primary-menu a{color:var(--ink);font-size:.9375rem;font-weight:600;text-decoration:none;display:block;padding:12px 0}
.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--red)}
.primary-menu li{position:relative}
.primary-menu .sub-menu{position:absolute;z-index:15;top:100%;left:0;min-width:200px;list-style:none;background:#fff;border:1px solid var(--line);padding:12px 20px;display:none}
.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--red);color:#fff;text-decoration:none;padding:13px 21px;font-size:.875rem;font-weight:700;line-height:1.4;border:1px solid var(--red)}
.header-cta:hover{background:#a7181d;color:#fff}
.menu-toggle{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;align-items:center;gap:12px;cursor:pointer;display:none}
.menu-symbol{font-size:1.25rem;line-height:1}
.site-main{min-height:55vh}
.site-main:focus{outline:0}
.optima-section{padding-block:90px}
.optima-section.soft{background:var(--light)}
.optima-section.dark{background:var(--dark);color:#fff}
.eyebrow,.wp-block-paragraph.eyebrow{display:block;font-size:.75rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase;line-height:1.5;margin-bottom:22px;color:var(--muted)}
.eyebrow.accent{color:var(--red)}
.eyebrow.light{color:#b4bec7}
.hero{padding-block:76px 72px;background:#fff}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:72px}
.hero-copy h1{margin-bottom:27px;max-width:740px}
.hero-copy h1 em{color:var(--red);font-style:normal}
.hero-lead{color:var(--muted);font-size:1.125rem;line-height:1.7;max-width:610px}
.hero .eyebrow{margin-bottom:25px}
.hero-note{font-size:.875rem;color:var(--muted);margin:26px 0 0}
.wp-block-buttons.optima-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin:29px 0 0}
.optima-actions .wp-block-button__link{display:inline-block;border-radius:0;background:var(--red);color:#fff;padding:15px 24px;font-size:.9375rem;line-height:1.5;font-weight:700;text-decoration:none;border:1px solid var(--red)}
.optima-actions .wp-block-button__link:hover{background:#a7181d;border-color:#a7181d}
.optima-actions .secondary .wp-block-button__link{background:transparent;border-color:var(--line);color:var(--ink)}
.optima-actions .secondary .wp-block-button__link:hover{border-color:var(--ink)}
.dark .optima-actions .secondary .wp-block-button__link{color:#fff;border-color:#59616a}
.field-panel{background:var(--dark);color:#fff;padding:38px 34px 28px;border-top:5px solid var(--red);position:relative}
.field-panel>.eyebrow{color:#b4bec7;margin-bottom:33px}
.field-panel h2{font-size:2.2rem;max-width:340px;margin-bottom:34px}
.field-row{border-top:1px solid #39424b;padding:21px 0 3px}
.field-row .eyebrow{color:var(--red-bright);margin-bottom:9px}
.field-row p:last-child{font-size:.9375rem;color:#c3ccd3;margin-bottom:17px}
.field-row h3{font-size:1.22rem;margin-bottom:10px}
.capability-strip{border-block:1px solid var(--line);background:var(--light)}
.capability-strip .optima-wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;padding-block:25px}
.capability-strip p{margin:0;font-size:.9rem;line-height:1.55;color:var(--muted)}
.capability-strip strong{color:var(--ink);display:block;font-size:1rem;margin-bottom:3px}
.section-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:end;margin-bottom:45px}
.section-intro h2{margin-bottom:0}
.section-intro>p{color:var(--muted);margin-bottom:3px;font-size:1.0625rem}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 28px 26px}
.service-card>.eyebrow{color:var(--red);margin-bottom:26px}
.service-card h3{margin-bottom:15px}
.service-card p{font-size:1rem;color:var(--muted);margin-bottom:20px}
.service-card p:last-child{margin-bottom:0}
.service-card a{color:var(--ink);font-weight:700;text-decoration:none;font-size:.875rem}
.service-card a:hover{color:var(--red)}
.split-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:94px;align-items:start}
.split-layout h2{max-width:530px}
.body-large{font-size:1.125rem;color:var(--muted);line-height:1.75}
.dark .body-large{color:#c3ccd3}
.credential-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.credential-list li{padding:20px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.credential-list strong{display:block;font-size:1.0625rem;margin-bottom:3px}
.dark .credential-list,.dark .credential-list li{border-color:#3e4750}
.dark .credential-list li{color:#c3ccd3}
.dark .credential-list strong{color:#fff}
.plain-list{padding-left:20px;color:var(--muted)}
.plain-list li{padding:5px 0}
.plain-list li::marker{color:var(--red)}
.text-link{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.dark a.text-link{color:#fff}
.support-box{background:#fff;border-left:4px solid var(--red);padding:35px 38px}
.support-box h3{font-size:1.5rem}
.support-box p,.support-box li{color:var(--muted)}
.contact-band{background:var(--dark);color:#fff;padding-block:65px}
.contact-band .optima-wrap{display:flex;align-items:center;justify-content:space-between;gap:55px}
.contact-band h2{max-width:700px;margin-bottom:15px}
.contact-band p{margin:0;color:#bac4cd}
.contact-band .optima-actions{flex-shrink:0;margin:0}
.page-hero{padding-block:70px 55px;background:var(--light);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:850px;font-size:clamp(2.6rem,4.7vw,4.5rem);margin-bottom:22px}
.page-hero .hero-lead{max-width:760px;margin-bottom:0}
.service-detail{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;padding:42px 0;border-bottom:1px solid var(--line)}
.service-detail:first-child{padding-top:0}
.service-detail h2{font-size:1.65rem;max-width:300px;margin:0}
.service-detail p{color:var(--muted)}
.service-detail p:last-child{margin:0}
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}
.optima-contact-details{margin-top:4px}
.contact-line{padding:24px 0;border-bottom:1px solid var(--line)}
.contact-line:first-child{padding-top:0}
.contact-line .eyebrow{margin-bottom:10px}
.contact-line>a{display:inline-block;font-size:clamp(1.125rem,2.3vw,1.6rem);font-weight:700;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}
.contact-line p{margin:0;color:var(--muted)}
.optima-contact-details>.text-link{display:inline-block;margin-top:25px}
.contact-checklist{background:var(--light);border-top:4px solid var(--red);padding:38px}
.contact-checklist h2{font-size:1.75rem}
.contact-checklist ul{margin-bottom:0}
.contact-checklist li{padding:7px 0;color:var(--muted)}
.owner-note{margin:20px 0;padding:15px;border:1px dashed var(--red)}
.generic-title{padding-top:60px}
.generic-content{padding-block:60px 85px;min-height:45vh}
.generic-content .entry{margin-bottom:55px}
.generic-content .entry:last-child{margin-bottom:0}
.generic-content h1{font-size:clamp(2.4rem,4vw,3.6rem)}
.generic-content input{padding:10px;max-width:100%;border:1px solid var(--line)}
.site-footer{background:#fff;border-top:1px solid var(--line)}
.footer-top{padding-block:56px 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px}
.footer-brand .brand img,.footer-brand .custom-logo{width:175px;max-height:75px}
.footer-brand>p{margin:20px 0 0;color:var(--muted);font-size:.9375rem}
.site-footer .eyebrow{color:var(--muted);margin-bottom:18px}
.site-footer p{font-size:.9375rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:8px}
.footer-links a{color:var(--ink);text-decoration:none;font-size:.9375rem}
.footer-small{color:var(--muted)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.footer-bottom a{color:var(--muted)}
.wp-block-group{margin-block-start:0}
.wp-block-image img{height:auto}
.wp-block-button{margin:0}
.alignwide{max-width:var(--width)}
.generic-content .alignfull{width:100%;margin-inline:0}

@media(min-width:1450px){.hero{padding-block:90px}.hero-copy h1{font-size:4.9rem}}
@media(max-width:1100px){.header-inner{gap:25px}.primary-menu{gap:20px}.header-cta{gap:12px;padding:12px 16px}.brand img,.custom-logo{width:184px}.hero-grid{gap:40px}.field-panel{padding:30px 27px 22px}.section-intro,.split-layout,.contact-layout{gap:55px}.hero-copy h1{font-size:clamp(2.7rem,5.2vw,4rem)}}
@media(max-width:900px){
 .wrap,.header-inner,.optima-wrap{width:calc(100% - 48px)}
 .header-inner{min-height:94px;flex-wrap:wrap;justify-content:space-between;gap:0;padding-block:10px}
 .header-inner>.header-cta{display:none}
 .menu-toggle{display:inline-flex;margin-left:auto}
 .site-navigation{flex-basis:100%;margin:12px 0 0;border-top:1px solid var(--line)}
 .optima-js .site-navigation{display:none}.optima-js .site-navigation.is-open{display:block}
 .primary-menu{display:block;padding:10px 0}.primary-menu a{padding:10px 0}
 .primary-menu .sub-menu{display:block;position:static;border:0;padding:0 0 0 18px}
 .hero-grid{grid-template-columns:1.2fr 1fr;gap:28px}.hero-copy h1{font-size:3rem}
 .hero{padding-block:55px}.hero-lead{font-size:1rem}.field-panel h2{font-size:1.8rem}
 .optima-section{padding-block:65px}.section-intro{gap:40px}.section-intro h2{font-size:2.2rem}
 .service-card{padding:25px 20px}.service-card h3{font-size:1.23rem}
 .contact-band .optima-wrap{display:block}.contact-band .optima-actions{margin-top:28px}
 .service-detail{grid-template-columns:1fr 1.1fr;gap:20px}
 .footer-top{gap:30px}.footer-bottom{flex-wrap:wrap}
}
@media(max-width:680px){
 .wrap,.header-inner,.optima-wrap{width:calc(100% - 40px)}
 .header-inner{min-height:86px}.brand img,.custom-logo{width:166px}
 .hero{padding-block:43px}.hero-grid{grid-template-columns:1fr;gap:35px}
 .hero-copy h1{font-size:clamp(2rem,9.7vw,3.8rem);max-width:600px}
 .hero-note{margin-top:20px}.field-panel{padding:29px 27px 15px}.field-panel h2{max-width:none;margin-bottom:25px;font-size:1.85rem}
 .field-panel>.eyebrow{margin-bottom:21px}.field-row{padding-top:17px}
 .capability-strip .optima-wrap{grid-template-columns:1fr;gap:0;padding-block:8px}
 .capability-strip p{padding-block:17px}.capability-strip p+p{border-top:1px solid var(--line)}
 .section-intro,.split-layout,.contact-layout{grid-template-columns:1fr;gap:25px}
 .section-intro{margin-bottom:30px}.section-intro h2{font-size:2.25rem}
 .service-grid{grid-template-columns:1fr}.service-card{padding:27px 25px}.service-card>.eyebrow{margin-bottom:17px}.service-card h3{font-size:1.5rem}
 .optima-section{padding-block:52px}.split-layout{gap:32px}.support-box{padding:28px}
 .contact-band{padding-block:48px}.contact-band h2{font-size:2.2rem}
 .page-hero{padding-block:48px 40px}.page-hero h1{font-size:clamp(2rem,9.3vw,2.8rem)}
 .service-detail{grid-template-columns:1fr;gap:12px;padding-block:30px}
 .service-detail>div{grid-column:auto}.service-detail h2{max-width:none;font-size:1.6rem}
 .contact-checklist{padding:28px}.contact-layout{gap:38px}
 .footer-top{grid-template-columns:1fr 1fr;padding-block:40px 30px;gap:32px 25px}.footer-brand{grid-column:1/-1}
 .footer-bottom{display:block;font-size:.8125rem;padding-block:20px}.footer-bottom>*{display:block;margin-bottom:8px}
 .generic-content{padding-block:45px 55px}
}
.concise-home{padding-block:54px 28px}
.concise-home h1{font-size:clamp(2.1rem,4.2vw,3.6rem);max-width:1000px;margin-bottom:24px}
.concise-home h1 em{color:var(--red);font-style:normal}
.concise-home .hero-lead{max-width:770px}
.concise-home .hero-note{margin-top:18px;max-width:770px}
.concise-home .hero-note a{white-space:nowrap;font-weight:700;margin-left:4px}
.concise-services{padding-block:24px 46px}
.concise-services .service-card{padding:26px}
.concise-services .service-card h2{font-size:1.4rem;letter-spacing:-.025em;margin-bottom:16px}
.concise-services .service-card p{margin-bottom:0}
.optima-wrap .services-link{margin:23px 0 0}
.concise-cta{padding-block:40px}
.concise-cta h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:0}
.concise-intro{padding-block:44px 36px}
.concise-intro h1{font-size:clamp(2.3rem,4vw,3.6rem);margin-bottom:16px}
.concise-intro h1:last-child{margin-bottom:0}
.concise-intro .hero-lead{font-size:1.0625rem}
.concise-details{padding-block:28px 42px}
.concise-details .service-detail{padding-block:25px}
.concise-details .service-detail h2{font-size:1.45rem}
.concise-about{gap:90px}
.concise-about h2{font-size:2rem}
.concise-qualifications{border-left:3px solid var(--red);padding-left:30px}
.concise-qualifications .credential-list li{padding:14px 0}
.concise-contact{padding-block:48px 65px}
@media(max-width:680px){
 .concise-home{padding-block:35px 16px}
 .concise-home h1{font-size:clamp(2rem,8vw,2.8rem)}
 .concise-services{padding-block:16px 34px}
 .concise-services .service-card{padding:23px}
 .concise-intro{padding-block:34px 28px}
 .concise-about{gap:35px}
 .concise-qualifications{padding-left:22px}
 .concise-cta .optima-actions{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.menu-toggle,.optima-actions{display:none!important}.optima-section,.hero,.page-hero{padding-block:20px}.hero-grid,.split-layout,.contact-layout,.section-intro{display:block}.dark,.field-panel,.contact-band{background:#fff!important;color:#000!important}a{color:#000}.wrap,.optima-wrap{width:100%}}

/* About: editable founder portrait and existing biography. */
.optima-about-with-portrait{grid-template-columns:minmax(230px,340px) minmax(0,1fr);gap:64px}
.optima-about-portrait{margin:0;position:sticky;top:28px}
.optima-about-portrait img{display:block;width:100%;height:auto;border-bottom:5px solid var(--red)}
.optima-about-copy .concise-qualifications{margin-top:34px}
.optima-about-copy>.wp-block-group:first-child>h2{margin-top:0}
@media(max-width:850px){.optima-about-with-portrait{grid-template-columns:1fr;gap:32px}.optima-about-portrait{position:static;max-width:340px}}

/* Consistent spacing for concise copy and mobile footer. */
.concise-home .hero-note{line-height:1.7}
.concise-home .hero-note a{display:block;width:fit-content;margin:7px 0 0}
.concise-details .service-detail>div>p{margin:0;line-height:1.75}
.concise-intro .hero-lead{max-width:850px;line-height:1.7}
.optima-about-copy .body-large{font-size:1.1rem;line-height:1.75}
@media(max-width:480px){.footer-top{grid-template-columns:1fr;gap:26px}.footer-brand{grid-column:auto}}

/* A clearer, more prominent introduction and project path. */
.concise-home{background:#fff;color:var(--ink);padding-block:62px 64px}
.concise-home h1{color:var(--ink);max-width:1000px}
.concise-home .eyebrow{color:var(--red)}
.concise-home h1 em{color:var(--red)}
.concise-home .hero-lead{color:var(--muted);font-size:1.2rem;max-width:810px}
.concise-home .hero-note{color:var(--muted)}
.concise-home .hero-note a{color:var(--ink)}
.concise-home .optima-actions{margin-top:25px}
.concise-home .optima-actions .wp-block-button__link{background:#c62026;border-color:#c62026}
.primary-menu>li:last-child>a{background:var(--red);border:1px solid var(--red);color:#fff;padding:10px 18px}
.primary-menu>li:last-child>a:hover,.primary-menu>li:last-child.current-menu-item>a{background:#a7181d;color:#fff}
.concise-services{padding-block:50px 56px}
.concise-services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0}
.concise-services .service-card{padding:28px 32px;border-right:0;border-bottom:2px solid #dce1e5}
.concise-services .service-card:nth-child(odd){border-right:1px solid #dce1e5}
.concise-services .service-card h2{font-size:1.5rem}
.concise-services .service-card p{line-height:1.7}
@media(max-width:680px){
 .concise-home{padding-block:42px 45px}
 .concise-home .hero-lead{font-size:1.05rem}
 .concise-services{padding-block:26px 42px}
 .concise-services .service-grid{grid-template-columns:1fr}
 .concise-services .service-card{padding:26px 0}
 .concise-services .service-card:nth-child(odd){border-right:0}
}
@media(max-width:900px){.primary-menu>li:last-child>a{display:inline-block;margin:8px 0;padding:9px 16px}}

/* Monthly remote support offer. */
.monthly-support{padding-block:58px;background:#f2f4f5;border-top:1px solid var(--line)}
.monthly-support .support-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:64px;align-items:start}
.monthly-support h2{font-size:clamp(1.9rem,3vw,2.65rem);margin-bottom:20px}
.monthly-support .support-intro{max-width:690px;color:var(--muted);font-size:1.08rem}
.support-price{padding:30px;background:#fff;border-top:4px solid var(--red)}
.support-price .price{font-size:2.75rem;font-weight:700;letter-spacing:-.04em;line-height:1.1;margin-bottom:8px;color:var(--ink)}
.support-price .price-unit{font-size:.92rem;color:var(--muted);margin-bottom:19px}
.support-price .allowance{font-weight:700;color:var(--ink);margin-bottom:12px}
.support-price .optima-actions{margin-top:24px}
.support-price .support-small{font-size:.86rem;color:var(--muted);margin-bottom:0}
.support-scope{padding:0;list-style:none;margin-bottom:0}
.support-scope li{border-top:1px solid var(--line);padding:15px 0;color:var(--muted);font-size:.95rem}
.support-scope strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:3px}
.support-terms{margin-top:35px;padding-top:26px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:18px 40px}
.support-terms p{font-size:.88rem;color:var(--muted);margin:0}
.support-terms strong{display:block;color:var(--ink);margin-bottom:5px}
@media(max-width:760px){
 .monthly-support{padding-block:42px}
 .monthly-support .support-layout{grid-template-columns:1fr;gap:30px}
 .support-terms{grid-template-columns:1fr;gap:20px}
 .support-price{padding:25px}
}

/* Avetta registration: original logo, with room to wrap on small screens. */
.optima-avetta-membership{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:24px;background:var(--ink);color:#fff}
.optima-avetta-membership .optima-avetta-logo{margin:0;flex:0 0 auto}
.optima-avetta-membership .optima-avetta-logo img{display:block;width:160px;max-width:100%;height:auto}
.optima-avetta-membership p{margin:0;color:inherit;font-size:1rem;line-height:1.5}
