:root{
  --wpo-bg:#ffffff;
  --wpo-surface:#f6f7f7;
  --wpo-text:#1d2327;
  --wpo-muted:#50575e;
  --wpo-border:rgba(0,0,0,.08);
  --wpo-accent:#2271b1;
  --wpo-accent-contrast:#ffffff;
  --wpo-radius:14px;
  --wpo-shadow:0 12px 30px rgba(0,0,0,.10);
  --wpo-font-base:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  --wpo-font-headings:var(--wpo-font-base);
  --wpo-gutter:50px;
  --wpo-gutter-mobile:20px;
  --wpo-gutter-mobile-vw:5;
  --wpo-footer-bg:#0b1d2a;
  --wpo-footer-text:rgba(255,255,255,.86);
  --wpo-footer-link:#ffffff;
}

*{box-sizing:border-box}
body{margin:0;background:var(--wpo-bg);color:var(--wpo-text);font-family:var(--wpo-font-base);line-height:1.55}
h1,h2,h3,h4,h5,h6{font-family:var(--wpo-font-headings)}
a{color:var(--wpo-accent)}
img{max-width:100%;height:auto}

:where(a,button,summary):focus-visible{outline:3px solid rgba(34,113,177,.35);outline-offset:3px;border-radius:10px}

.wpo-container{max-width:1140px;margin:0 auto;padding:0 min(var(--wpo-gutter), 5vw)}
.wpo-main{min-height:60vh}
.wpo-stack>*+*{margin-top:18px}

.wpo-shell{container-type:inline-size;container-name:page}

/* Mobile container-query overrides are generated via wp_add_inline_style so the cutoff is configurable in admin. */

.wpo-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--wpo-border)}
.wpo-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px;flex-wrap:wrap;container-type:inline-size;container-name:header}
.wpo-site-title{font-weight:700;text-decoration:none;color:var(--wpo-text)}
.wpo-menu{list-style:none;margin:0;padding:0;display:flex;gap:16px;row-gap:10px;align-items:center;flex-wrap:wrap}
.wpo-menu a{text-decoration:none;color:var(--wpo-text);font-weight:600}
.wpo-menu a:hover{text-decoration:underline}

/* Sub-menus (WordPress) */
.wpo-menu li{position:relative}
.wpo-menu .sub-menu{list-style:none;margin:0;padding:8px;display:none;position:absolute;left:0;top:calc(100% + 10px);z-index:40;background:var(--wpo-bg);border:1px solid var(--wpo-border);border-radius:12px;box-shadow:var(--wpo-shadow);min-width:240px}
.wpo-menu .sub-menu a{display:block;padding:10px 12px;border-radius:10px;font-weight:700}
.wpo-menu .sub-menu a:hover{text-decoration:none;background:var(--wpo-surface)}
.wpo-menu li:hover>.sub-menu,.wpo-menu li:focus-within>.sub-menu{display:block}
.wpo-menu li.menu-item-has-children>a{display:inline-flex;align-items:center;gap:8px}
.wpo-menu li.menu-item-has-children>a::after{content:"▾";font-size:12px;line-height:1;color:var(--wpo-muted)}

.wpo-nav-details{position:relative;margin-left:auto}
.wpo-nav-summary{display:none;list-style:none;cursor:pointer;user-select:none;border:1px solid var(--wpo-border);background:var(--wpo-bg);border-radius:10px;padding:10px 12px;font-weight:800;color:var(--wpo-text)}
.wpo-nav-summary::-webkit-details-marker{display:none}

/* Desktop/default: always show full navbar, no hamburger */
.wpo-nav-details:not([open]) > .wpo-nav{display:block;position:static;padding:0;border:0;box-shadow:none;background:transparent;min-width:auto}

/* Hamburger icon */
.wpo-nav-summary__label{display:inline-flex;align-items:center;gap:10px}
.wpo-nav-summary__label::before{content:"";width:18px;height:2px;background:var(--wpo-text);border-radius:999px;box-shadow:0 -6px 0 var(--wpo-text), 0 6px 0 var(--wpo-text)}

/* Header mobile dropdown rules are generated via wp_add_inline_style so the cutoff is configurable in admin. */

.wpo-hero{position:relative;overflow:hidden;background:linear-gradient(135deg, var(--wpo-text), #0b1d2a)}
.wpo-hero__slides{position:relative}
.wpo-hero__slide{display:none;color:#fff;padding:clamp(48px, 7vw, 78px) 0}
.wpo-hero__slide.is-active{display:block}
.wpo-hero__title{margin:0 0 10px;font-size:clamp(28px, 3.6vw + 10px, 46px);letter-spacing:-.02em;line-height:1.1}
.wpo-hero__lead{margin:0 0 22px;font-size:clamp(16px, 0.8vw + 14px, 18px);color:rgba(255,255,255,.85);max-width:56ch}
.wpo-hero__actions{display:flex;gap:12px;flex-wrap:wrap}

.wpo-hero__controls{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:10px}
.wpo-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.35);cursor:pointer}
.wpo-dot.is-active{background:rgba(255,255,255,.9)}

.wpo-btn{display:inline-block;text-decoration:none;border-radius:999px;padding:11px 16px;font-weight:800;border:1px solid transparent}
.wpo-btn--primary{background:var(--wpo-accent);color:var(--wpo-accent-contrast)}
.wpo-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.wpo-btn--block{display:block;text-align:center}

.wpo-jumbotron{background:var(--wpo-surface);border-bottom:1px solid var(--wpo-border)}
.wpo-jumbotron__inner{padding:44px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.wpo-jumbotron__title{margin:0;font-size:28px}
.wpo-jumbotron__text{margin:0;color:var(--wpo-muted);max-width:70ch}
.wpo-jumbotron__actions{display:flex;gap:12px;flex-wrap:wrap}

.wpo-section{padding:54px 0}
.wpo-section--alt{background:var(--wpo-surface);border-top:1px solid var(--wpo-border);border-bottom:1px solid var(--wpo-border)}
.wpo-section__title{margin:0 0 22px;font-size:28px;letter-spacing:-.01em}
.wpo-lead{font-size:18px;margin:0 0 8px}
.wpo-muted{color:var(--wpo-muted)}

.wpo-grid{display:grid;gap:18px}
.wpo-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}
.wpo-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}

.wpo-card{background:var(--wpo-bg);border:1px solid var(--wpo-border);border-radius:var(--wpo-radius);padding:18px;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.wpo-card--soft{background:linear-gradient(180deg,#ffffff, var(--wpo-surface))}
.wpo-card__title{margin:0 0 8px;font-size:18px}
.wpo-card__text{margin:0;color:var(--wpo-muted)}

.wpo-price{background:var(--wpo-bg);border:1px solid var(--wpo-border);border-radius:var(--wpo-radius);padding:20px;box-shadow:var(--wpo-shadow)}
.wpo-price--featured{border-color:rgba(34,113,177,.45)}
.wpo-price__name{margin:0 0 4px;font-size:18px}
.wpo-price__tag{margin:0 0 10px;color:var(--wpo-muted)}
.wpo-price__amount{font-size:34px;font-weight:900;margin:10px 0 14px}
.wpo-price__period{font-size:14px;font-weight:700;color:var(--wpo-muted)}

.wpo-list{margin:0 0 16px;padding-left:18px;color:var(--wpo-muted)}
.wpo-list li{margin:6px 0}

.wpo-content{padding:30px 0}
.wpo-content:not(.wpo-container){padding-left:min(var(--wpo-gutter), 5vw);padding-right:min(var(--wpo-gutter), 5vw)}
.wpo-page-title{margin:0 0 16px;font-size:clamp(24px, 2vw + 16px, 32px);letter-spacing:-.01em}
.wpo-meta{margin-bottom:14px}

.wpo-footer{background:var(--wpo-footer-bg);color:var(--wpo-footer-text);margin-top:40px}
.wpo-footer a{color:var(--wpo-footer-link)}
.wpo-footer--stripe{padding:14px 0}
.wpo-footer__stripe{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}

.wpo-social{display:flex;gap:10px;align-items:center}
.wpo-social__link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.22);text-decoration:none}
.wpo-social__link:hover{border-color:rgba(255,255,255,.45)}
.wpo-social__icon{font-weight:900;font-size:12px;line-height:1;color:#fff}

.wpo-footer__copy{font-weight:700;font-size:13px;color:rgba(255,255,255,.80)}

