/* OSFILE V12.2 — one public shell for Home, Epson model/tool pages, search and content pages */
:root{
    --shell-blue:#0b6bff;
    --shell-blue-dark:#0054d7;
    --shell-ink:#0b1830;
    --shell-line:#e7edf5;
}

.site-header.stp-site-header{
    position:sticky;
    top:0;
    z-index:80;
    padding:0;
    border-bottom:1px solid var(--shell-line);
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:none;
}

.stp-header-inner{
    min-height:64px;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) minmax(270px,360px);
    gap:28px;
    align-items:center;
}

.stp-header-brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    text-decoration:none;
    white-space:nowrap;
    color:var(--shell-ink);
}

.stp-header-logo-image{
    display:block;
    width:auto;
    max-width:120px;
    max-height:34px;
    object-fit:contain;
}

.stp-header-brand .site-logo-word{
    font:800 26px/1 Manrope,Inter,sans-serif;
    letter-spacing:-.04em;
    color:var(--shell-ink);
}

.stp-header-brand .site-logo-word span{color:var(--shell-blue)}
.stp-header-brand small{font-size:11px;font-weight:600;color:#23324d}

.stp-header-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:26px;
    min-width:0;
}

.stp-header-nav a{
    color:#25334d;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:color .18s ease;
}

.stp-header-nav a:hover,
.stp-header-nav a:focus-visible{color:var(--shell-blue)}

.stp-header-search{
    display:flex;
    align-items:center;
    min-width:0;
    margin:0;
    border:1px solid #d8e2ef;
    border-radius:8px;
    background:#fff;
    overflow:hidden;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.stp-header-search:focus-within{
    border-color:#8fbaff;
    box-shadow:0 0 0 3px rgba(11,107,255,.08);
}

.stp-header-search input{
    width:100%;
    min-width:0;
    height:36px;
    padding:0 12px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--shell-ink);
    font-size:12px;
    font-weight:400;
}

.stp-header-search input::placeholder{color:#8a96a9}

.stp-header-search button{
    width:42px;
    height:36px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    background:var(--shell-blue);
    color:#fff;
}

.stp-header-search button:hover{background:var(--shell-blue-dark)}
.stp-header-search svg{width:16px;height:16px}

/* Keep the same footer shell on every public page. */
.site-footer.site-footer-v2{
    margin-top:0;
    background:linear-gradient(110deg,#10213b,#0b1b34 55%,#0a1a31);
}

@media(max-width:1180px){
    .stp-header-inner{grid-template-columns:auto minmax(0,1fr);gap:18px}
    .stp-header-nav{gap:16px}
    .stp-header-search{grid-column:1/-1;width:100%;margin-bottom:9px}
}

@media(max-width:900px){
    .stp-header-inner{grid-template-columns:auto minmax(0,1fr);gap:16px}
    .stp-header-nav{display:none}
    .stp-header-search{grid-column:auto;margin-bottom:0}
}

@media(max-width:620px){
    .stp-header-inner{
        grid-template-columns:1fr;
        gap:8px;
        padding-top:9px;
        padding-bottom:9px;
    }
    .stp-header-brand{justify-content:center}
    .stp-header-search{width:100%;max-width:none}
}

@media(max-width:420px){
    .stp-header-brand small{display:none}
    .stp-header-brand .site-logo-word{font-size:24px}
}

/* V18 active public navigation state */
.stp-header-nav a.active{color:var(--shell-blue);font-weight:700}

/* V20 AdSense clarity: ads must not resemble navigation or download controls. */
.ad-slot{position:relative;padding-top:18px}
.ad-slot:before{content:"Advertisement";position:absolute;top:0;left:50%;transform:translateX(-50%);font-size:9px;line-height:1;color:#8792a6;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
