/* Final99 Systems – theme layer on top of theme.json tokens. */
:root{
  --f99-navy:#00007C; --f99-coral:#FF6E6E; --f99-coral-deep:#B3262E;
  --f99-ink:#15152B; --f99-slate:#4A4A63; --f99-mist:#F3F3F9; --f99-line:#D9D9E6;
  --f99-gutter:var(--wp--custom--gutter,1.5rem);
  --f99-cut:var(--wp--custom--chamfer,22px);
  --f99-wrap:1160px;
}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}

/* Focus: visible everywhere */
:where(a,button,input,select,textarea,summary,.wp-element-button):focus-visible{
  outline:3px solid var(--f99-navy);outline-offset:3px;border-radius:2px}
.f99-dark :where(a,button,summary):focus-visible,.f99-footer :where(a):focus-visible{outline-color:var(--f99-coral)}

/* Layout primitives */
.f99-wrap{max-width:var(--f99-wrap);margin-inline:auto;padding-inline:var(--f99-gutter);box-sizing:border-box}
.wp-block-post-content>:not(.alignfull):not(.f99-wrap){max-width:var(--f99-wrap);margin-inline:auto;padding-inline:var(--f99-gutter);box-sizing:border-box}
.f99-main{margin:0!important}
.f99-main>*{margin-block-start:0!important}
.f99-section{padding-block:clamp(3rem,7vw,5.5rem)}
.f99-section.f99-tint{background:var(--f99-mist)}
.f99-narrow{max-width:66ch}
.f99-narrow>*{max-width:66ch}
.f99-lede{font-size:var(--wp--preset--font-size--medium);color:var(--f99-slate);max-width:62ch;margin-top:1rem}
.f99-section h2{margin-top:0;max-width:24ch}
.f99-section h2+p{max-width:62ch;color:var(--f99-slate)}

/* Header */
.f99-header{background:#fff;border-bottom:1px solid var(--f99-line);position:sticky;top:0;z-index:50}
.admin-bar .f99-header{top:32px}
.f99-header__inner{padding-block:.6rem;gap:1rem 2rem}
.f99-brand{gap:.85rem;margin:0}
.f99-brand .wp-block-site-logo img{display:block;width:auto;height:38px}
.f99-header__nav{gap:1.25rem;margin:0}
.f99-header .wp-block-navigation a{text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.f99-header .wp-block-navigation a:hover,.f99-header .wp-block-navigation [aria-current="page"]{border-bottom-color:var(--f99-coral)}
.f99-header__cta .wp-block-button__link{padding:.6rem 1.1rem;font-size:.95rem}
@media (max-width:781px){.f99-header__cta{display:none}}
.wp-block-navigation__responsive-container.is-menu-open{background:#fff;color:var(--f99-ink)}

/* Buttons: one chamfered corner echoes the logo's angled cuts */
.wp-block-button__link{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);transition:background-color .15s,color .15s}
.wp-block-button.is-style-outline .wp-block-button__link{clip-path:none;background:transparent;color:var(--f99-navy);box-shadow:inset 0 0 0 2px var(--f99-navy);border:0}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--f99-navy);color:#fff}
.f99-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--f99-coral);color:var(--f99-navy)}
.f99-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:#fff;color:var(--f99-navy)}
.f99-dark .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;box-shadow:inset 0 0 0 2px #fff}
.f99-dark .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--f99-navy)}
.wp-block-buttons{gap:.85rem}

/* Page head (inner pages) */
.f99-pagehead{background:var(--f99-mist);border-bottom:1px solid var(--f99-line);padding-block:clamp(2.5rem,6vw,4.5rem)}
.f99-pagehead h1{margin:0;font-size:var(--wp--preset--font-size--x-large);max-width:22ch}

/* Hero */
.f99-hero{padding-block:clamp(3rem,8vw,6.5rem);background:#fff;overflow:hidden}
.f99-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.f99-hero h1{margin:0 0 1.25rem;max-width:18ch}
.f99-hero__art{margin:0}
.f99-hero__art svg{display:block;width:100%;height:auto}
.f99-hero__note{font-size:var(--wp--preset--font-size--small);color:var(--f99-slate);margin-top:1.25rem}
@media (max-width:860px){.f99-hero__grid{grid-template-columns:1fr}.f99-hero__art{max-width:460px}}

/* Grids and cards */
.f99-grid{display:grid;gap:1.25rem;margin-top:2.25rem}
.f99-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.f99-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.f99-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){.f99-grid--3,.f99-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.f99-grid--3,.f99-grid--2,.f99-grid--4{grid-template-columns:1fr}}
.f99-grid>*{margin:0!important}
.f99-card{background:#fff;border:1px solid var(--f99-line);padding:1.6rem 1.5rem 1.5rem;
  clip-path:polygon(0 0,calc(100% - var(--f99-cut)) 0,100% var(--f99-cut),100% 100%,0 100%);
  border-top:4px solid var(--f99-navy);height:100%;box-sizing:border-box}
.f99-tint .f99-card{background:#fff}
.f99-card h3{margin:0 0 .6rem}
.f99-card p{margin:0 0 .75rem;color:var(--f99-slate)}
.f99-card p:last-child{margin-bottom:0}
.f99-card a{font-weight:600}
.f99-card--coral{border-top-color:var(--f99-coral)}

/* Process (a true sequence: numbers are meaningful) */
.f99-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:2.25rem;counter-reset:step;padding:0;list-style:none}
.f99-steps>li{counter-increment:step;padding:1.25rem 1.1rem 0 0;border-top:3px solid var(--f99-coral);position:relative;margin:0}
.f99-steps>li::before{content:counter(step);display:block;font-weight:700;font-size:1.1rem;color:var(--f99-coral);margin-bottom:.5rem}
.f99-steps h3{margin:0 0 .4rem;color:#fff}
.f99-steps p{margin:0;color:#DCDCF2;font-size:.98rem}
@media (max-width:960px){.f99-steps{grid-template-columns:1fr;gap:0}.f99-steps>li{padding-bottom:1.25rem}}

/* Dark sections */
.f99-dark{background:var(--f99-navy);color:#fff}
.f99-dark :where(h1,h2,h3,h4){color:#fff}
.f99-dark h2+p,.f99-dark p{color:#E6E6F7}
.f99-dark a{color:#fff}

/* Split (two-column text) */
.f99-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.f99-split>*{margin:0!important}
@media (max-width:860px){.f99-split{grid-template-columns:1fr}}

/* Service detail blocks */
.f99-service{padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--f99-line)}
.f99-service:first-of-type{border-top:0}
.f99-service h2{max-width:none}
.f99-service__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2rem;margin-top:1.5rem}
.f99-service__cols h3{font-size:1rem;margin:0 0 .4rem;color:var(--f99-coral-deep)}
.f99-service__cols>*{margin:0!important}
.f99-service__cols ul{margin:0;padding-left:1.15rem}
.f99-service__cols li{margin-bottom:.3rem}
.f99-service__cols p{margin:0}
@media (max-width:860px){.f99-service__cols{grid-template-columns:1fr}}
.f99-jump{display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding:0;list-style:none;margin:1.5rem 0 0}
.f99-jump a{display:inline-block;padding:.35rem .8rem;border:1px solid var(--f99-line);background:#fff;text-decoration:none;font-size:.95rem;font-weight:500}
.f99-jump a:hover{border-color:var(--f99-navy)}

/* FAQ (native <details>) */
.wp-block-details{border-top:1px solid var(--f99-line);margin:0!important}
.wp-block-details:last-of-type{border-bottom:1px solid var(--f99-line)}
.wp-block-details summary{cursor:pointer;font-weight:600;color:var(--f99-navy);padding-block:.15rem;list-style-position:outside}
.wp-block-details[open] summary{margin-bottom:.6rem}
.wp-block-details p{color:var(--f99-slate);max-width:68ch;margin:0 0 .5rem}

/* Lists */
.f99-plainlist{list-style:none;padding:0;margin:0}
.f99-plainlist li{margin:0 0 .4rem}
.f99-ticks{list-style:none;padding:0;margin:1rem 0 0}
.f99-ticks li{position:relative;padding-left:1.5rem;margin-bottom:.55rem}
.f99-ticks li::before{content:"";position:absolute;left:0;top:.55em;width:.7rem;height:.7rem;background:var(--f99-coral);clip-path:polygon(0 0,100% 30%,100% 100%,0 100%)}

/* Footer */
.f99-footer{background:var(--f99-ink);color:#E4E4F2;padding-block:clamp(2.5rem,5vw,4rem) 1.5rem}
.f99-footer a{color:#fff}
.f99-footer__title{color:#fff!important;font-size:1rem!important;margin:0 0 .75rem!important;letter-spacing:0!important}
.f99-footer__grid{display:grid;grid-template-columns:1.4fr .8fr 1.2fr;gap:2.5rem}
@media (max-width:860px){.f99-footer__grid{grid-template-columns:1fr;gap:1.75rem}}
.f99-footer__grid>*{margin:0!important}
.f99-footer p{margin:0 0 .5rem}
.f99-footer__legal{border-top:1px solid #34344F;margin-top:2.25rem!important;padding-top:1.25rem;font-size:.9rem;color:#B9B9D3}
.f99-contact-list{list-style:none;margin:0;padding:0}
.f99-contact-list li{margin:0 0 .6rem}
.f99-contact-list address{font-style:normal}

/* Contact page */
.f99-contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.f99-contact-grid>*{margin:0!important}
@media (max-width:900px){.f99-contact-grid{grid-template-columns:1fr}}
.f99-aside{background:var(--f99-mist);padding:1.75rem;border-top:4px solid var(--f99-coral)}
.f99-aside h2{font-size:1.25rem;margin:0 0 1rem}
.f99-aside .f99-contact-list a{color:var(--f99-navy);font-weight:600}

/* Contact form (rendered by the Final99 Site Essentials plugin) */
.f99-form{display:grid;gap:1.15rem}
.f99-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
@media (max-width:620px){.f99-form__row{grid-template-columns:1fr}}
.f99-field label,.f99-field legend{display:block;font-weight:600;margin-bottom:.35rem;color:var(--f99-ink)}
.f99-field .f99-opt{font-weight:400;color:var(--f99-slate)}
.f99-field input,.f99-field select,.f99-field textarea{width:100%;box-sizing:border-box;font:inherit;padding:.7rem .8rem;border:1.5px solid #6B6B85;background:#fff;color:var(--f99-ink);border-radius:0}
.f99-field textarea{min-height:9rem;resize:vertical}
.f99-field [aria-invalid="true"]{border-color:var(--f99-coral-deep);border-width:2px}
.f99-help{font-size:.9rem;color:var(--f99-slate);margin:.3rem 0 0}
.f99-error-text{color:var(--f99-coral-deep);font-weight:600;font-size:.95rem;margin:.35rem 0 0}
.f99-consent{display:flex;gap:.7rem;align-items:flex-start}
.f99-consent input{width:1.2rem;height:1.2rem;margin-top:.25rem;flex:none}
.f99-consent label{font-weight:400;margin:0}
.f99-notice{padding:1rem 1.25rem;border-left:5px solid var(--f99-navy);background:var(--f99-mist);margin-bottom:1.5rem}
.f99-notice--ok{border-left-color:#1E6B3A;background:#EAF6EE}
.f99-notice--error{border-left-color:var(--f99-coral-deep);background:#FDEEEE}
.f99-notice h2,.f99-notice h3{margin:0 0 .4rem;font-size:1.1rem}
.f99-notice ul{margin:.4rem 0 0;padding-left:1.2rem}
.f99-notice p{margin:0}
.f99-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.f99-form button[type=submit]{justify-self:start;font:inherit;font-weight:600;border:0;cursor:pointer;background:var(--f99-navy);color:#fff;padding:.9rem 1.8rem;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.f99-form button[type=submit]:hover{background:var(--f99-ink)}

/* Legal pages */
.f99-legal{max-width:760px}
.f99-legal h2{font-size:1.5rem;margin-top:2.25rem}
.f99-legal h3{margin-top:1.5rem}
.f99-confirm{background:#FFF4CC;padding:.05em .3em;border-radius:2px}

.screen-reader-text,.f99-sr{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;width:auto;height:auto;background:#fff;color:var(--f99-navy);padding:.75rem 1rem;z-index:100000;left:.5rem;top:.5rem;position:fixed}
