/*
Theme Name: ʻUpena Strategy
Theme URI: https://upena.agency
Author: ʻUpena Strategy
Author URI: https://upena.agency
Description: Direct booking marketing site for Hawaiʻi tour and activity operators. Ships with custom editable blocks for every section, a built-in audit request form that stores leads in WordPress and emails you, and one-click page setup on activation.
Version: 1.1.0
Requires at least: 6.1
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: upena
*/

:root{
  --u-deep:#0A1F2C; --u-deepest:#09161F; --u-slate:#0D2836; --u-slate-hi:#10303F;
  --u-accent:#E8A87C; --u-accent-hi:#F2BE97; --u-accent-dk:#B65E31; --u-accent-dkr:#93481F;
  --u-cream:#F2EDE2; --u-cream-soft:#FAF7F0; --u-cream-alt:#EDE6D6;
  --u-cream-line:#DDD3C2; --u-rule:#C9BCA6; --u-rule-soft:#E7DECD;
  --u-fg:#F2EEE6; --u-muted:#9DB2BC; --u-muted2:#B9C9D1; --u-muted3:#D5DEE2;
  --u-dim:#5F7683; --u-dim2:#7E95A1; --u-ink:#14232C; --u-ink2:#3D4F58;
  --u-ink3:#4A5B64; --u-ink4:#2E3F48; --u-sand:#8A7B65;
  --u-sans:'IBM Plex Sans','Noto Sans',-apple-system,'Segoe UI',sans-serif;
  --u-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --u-wrap:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--u-deep);color:var(--u-fg);font-family:var(--u-sans);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--u-accent)}
a:hover{color:var(--u-accent-hi)}
::selection{background:var(--u-accent);color:var(--u-deep)}
h1,h2,h3,h4{text-wrap:pretty}
.u-skip{position:absolute;left:-9999px}
.u-skip:focus{left:12px;top:12px;z-index:200;background:var(--u-accent);color:var(--u-deepest);padding:12px 18px;border-radius:6px;font-weight:600}

/* ---------- sections ---------- */
.u-sec{padding:clamp(64px,9vw,110px) 0}
.u-sec--tight{padding:clamp(48px,7vw,90px) 0}
.u-sec--deep{background:var(--u-deep)}
.u-sec--deepest{background:var(--u-deepest)}
.u-sec--slate{background:var(--u-slate)}
.u-sec--cream{background:var(--u-cream);color:var(--u-ink2)}
.u-sec--topline{border-top:1px solid rgba(242,238,230,0.08)}
.u-sec--cream.u-sec--topline{border-top:1px solid var(--u-cream-line)}
.u-wrap{max-width:var(--u-wrap);margin:0 auto;padding:0 24px}
.u-wrap--narrow{max-width:820px}
.u-wrap--article{max-width:760px}
.u-mesh{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M28 0L56 28L28 56L0 28Z' fill='none' stroke='%23E8A87C' stroke-opacity='0.05' stroke-width='1'/%3E%3Ccircle cx='28' cy='0' r='1.5' fill='%23E8A87C' fill-opacity='0.08'/%3E%3Ccircle cx='0' cy='28' r='1.5' fill='%23E8A87C' fill-opacity='0.08'/%3E%3Ccircle cx='56' cy='28' r='1.5' fill='%23E8A87C' fill-opacity='0.08'/%3E%3Ccircle cx='28' cy='56' r='1.5' fill='%23E8A87C' fill-opacity='0.08'/%3E%3C/svg%3E")}

/* ---------- type ---------- */
.u-eyebrow{font-family:var(--u-mono);font-size:13px;letter-spacing:0.16em;color:var(--u-accent);margin:0 0 18px;line-height:1.7}
.u-sec--cream .u-eyebrow{color:var(--u-accent-dk)}
.u-eyebrow--sm{font-size:12.5px;letter-spacing:0.14em}
.u-h1{margin:0 0 24px;font-weight:700;letter-spacing:-0.028em;line-height:1.02;font-size:clamp(42px,8vw,84px);color:var(--u-fg)}
.u-h1--home{font-size:clamp(42px,8.2vw,92px);line-height:1.02;max-width:14ch;margin-bottom:26px}
.u-h1--article{font-size:clamp(34px,6vw,60px);line-height:1.08;letter-spacing:-0.024em}
.u-h2{margin:0 0 22px;font-size:clamp(30px,4.6vw,44px);line-height:1.1;letter-spacing:-0.02em;font-weight:700;color:var(--u-fg)}
.u-h2--xl{font-size:clamp(38px,7vw,72px);line-height:1.02;letter-spacing:-0.025em}
.u-h2--sm{font-size:clamp(26px,4vw,36px);letter-spacing:-0.02em}
.u-h3{margin:0 0 8px;font-size:20px;font-weight:700;letter-spacing:-0.01em;color:var(--u-fg)}
.u-sec--cream .u-h1,.u-sec--cream .u-h2,.u-sec--cream .u-h3{color:var(--u-ink)}
.u-accent{color:var(--u-accent)}
.u-sec--cream .u-accent{color:var(--u-accent-dk)}
.u-lead{margin:0 0 20px;font-size:clamp(21px,3.2vw,28px);line-height:1.35;color:var(--u-fg);font-weight:500;max-width:26ch}
.u-sec--cream .u-lead{color:var(--u-ink)}
.u-sub{margin:0 0 40px;font-size:17.5px;line-height:1.6;color:var(--u-muted);max-width:52ch}
.u-sec--cream .u-sub{color:var(--u-ink2)}
.u-prose{font-size:18px;line-height:1.65;color:var(--u-muted2)}
.u-prose p{margin:0 0 18px}
.u-prose p:last-child{margin-bottom:0}
.u-prose strong{color:var(--u-fg);font-weight:600}
.u-prose a{font-weight:600}
.u-sec--cream .u-prose{color:var(--u-ink2)}
.u-sec--cream .u-prose strong{color:var(--u-ink)}
.u-prose--lg{font-size:18.5px;line-height:1.7}
.u-prose--xl{font-size:19px;line-height:1.68;color:var(--u-muted3)}
.u-kicker{margin:0 0 24px;font-family:var(--u-mono);font-size:14px;letter-spacing:0.08em;color:var(--u-sand)}
.u-note{margin:0;font-size:15.5px;font-style:italic;line-height:1.6;color:var(--u-dim2)}
.u-sec--cream .u-note{color:#6B7B84}
.u-meta{margin:0;font-family:var(--u-mono);font-size:13px;letter-spacing:0.08em;color:var(--u-dim);line-height:1.8}
.u-fineprint{margin:0;font-family:var(--u-mono);font-size:12.5px;letter-spacing:0.06em;color:var(--u-sand)}

/* ---------- buttons ---------- */
.u-btn{display:inline-block;background:var(--u-accent);color:var(--u-deepest);text-decoration:none;font-weight:600;font-size:17px;padding:15px 28px;border-radius:6px;border:none;cursor:pointer;font-family:var(--u-sans);line-height:1.3;min-height:48px}
.u-btn:hover{background:var(--u-accent-hi);color:var(--u-deepest)}
.u-btn--lg{font-size:18px;padding:16px 30px;min-height:52px}
.u-btn--ghost{background:none;border:1px solid rgba(232,168,124,0.55);color:var(--u-accent)}
.u-btn--ghost:hover{background:none;border-color:var(--u-accent);color:var(--u-accent-hi)}
.u-link{display:inline-block;color:var(--u-accent-dk);text-decoration:none;font-weight:600;font-size:17px;border-bottom:2px solid var(--u-accent-dk);padding-bottom:2px}
.u-link:hover{color:var(--u-accent-dkr);border-color:var(--u-accent-dkr)}
.u-cta-stack{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.u-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* ---------- header ---------- */
.u-header{position:sticky;top:0;z-index:50;background:rgba(9,22,31,0.97);border-bottom:1px solid rgba(242,238,230,0.1);backdrop-filter:blur(10px)}
.u-header__in{max-width:var(--u-wrap);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.u-brand{display:flex;align-items:center;gap:11px;text-decoration:none;padding:8px 0}
.u-brand__name{font-size:19px;color:var(--u-fg);letter-spacing:-0.01em;white-space:nowrap}
.u-brand__name b{font-weight:700}
.u-brand__name span{font-weight:400;opacity:0.8}
.u-nav{display:flex;align-items:center;gap:30px}
.u-nav__list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.u-nav__list a{text-decoration:none;font-size:16.5px;font-weight:500;padding:6px 0;color:var(--u-muted);display:inline-block}
.u-nav__list a:hover{color:var(--u-accent-hi)}
.u-nav__list .current-menu-item>a,.u-nav__list .current_page_item>a,.u-nav__list .current-menu-ancestor>a{color:var(--u-fg);box-shadow:inset 0 -2px 0 var(--u-accent)}
.u-nav__cta{background:var(--u-accent);color:var(--u-deepest);text-decoration:none;font-weight:600;font-size:16px;padding:11px 20px;border-radius:6px;letter-spacing:0.01em;white-space:nowrap}
.u-nav__cta:hover{background:var(--u-accent-hi);color:var(--u-deepest)}
.u-mobtools{display:none;align-items:center;gap:10px}
.u-mobtools .u-nav__cta{font-size:15px;padding:12px 16px}
.u-burger{background:none;border:1px solid rgba(242,238,230,0.3);border-radius:6px;color:var(--u-fg);min-width:48px;min-height:44px;font-family:var(--u-mono);font-size:13px;cursor:pointer}
.u-mobnav{display:none;border-top:1px solid rgba(242,238,230,0.1);padding:8px 20px 16px;flex-direction:column;background:rgba(9,22,31,0.98)}
.u-mobnav.is-open{display:flex}
.u-mobnav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.u-mobnav a{color:var(--u-muted);text-decoration:none;font-size:18px;padding:13px 0;border-bottom:1px solid rgba(242,238,230,0.08);display:block}
.u-mobnav .current-menu-item>a,.u-mobnav .current_page_item>a{color:var(--u-fg);font-weight:600}
.u-mobnav__tel{color:var(--u-accent) !important;font-weight:600;border-bottom:none !important}
@media (max-width:919px){
  .u-nav{display:none}
  .u-mobtools{display:flex}
}
@media (min-width:920px){
  .u-mobnav,.u-stickybar,.u-stickybar__spacer{display:none !important}
}

/* ---------- footer ---------- */
.u-ctaband{background:var(--u-slate);border-top:1px solid rgba(242,238,230,0.08)}
.u-ctaband .u-wrap{max-width:820px;padding-top:clamp(64px,10vw,110px);padding-bottom:clamp(64px,10vw,110px)}
.u-ctaband h2{margin:0 0 18px;color:var(--u-fg);font-size:clamp(30px,5.4vw,46px);line-height:1.12;letter-spacing:-0.02em;font-weight:700}
.u-ctaband p{margin:0 0 30px;color:var(--u-muted);font-size:18px;line-height:1.6;max-width:56ch}
.u-footer{background:var(--u-deepest);border-top:1px solid rgba(242,238,230,0.08)}
.u-footer__in{max-width:var(--u-wrap);margin:0 auto;padding:clamp(48px,7vw,72px) 24px 32px}
.u-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:40px 32px;align-items:start}
.u-footer__brand{max-width:340px}
.u-footer__mark{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.u-footer__mark span{font-size:18px;color:var(--u-fg)}
.u-footer p{margin:0 0 14px;color:var(--u-muted);font-size:15.5px;line-height:1.55}
.u-footer__tag{margin:0 !important;font-family:var(--u-mono);font-size:12.5px;letter-spacing:0.04em;color:var(--u-accent) !important}
.u-footer__label{font-family:var(--u-mono);font-size:12px;letter-spacing:0.16em;color:var(--u-dim);margin-bottom:10px}
.u-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.u-footer__links a{color:var(--u-muted);text-decoration:none;font-size:16px;padding:7px 0;display:inline-block}
.u-footer__links a:hover{color:var(--u-fg)}
.u-footer__tel{display:block;color:var(--u-fg);text-decoration:none;font-size:17px;font-weight:600;padding:7px 0}
.u-footer__tel:hover{color:var(--u-accent)}
.u-footer__mail{display:block;color:var(--u-muted);text-decoration:none;font-size:16px;padding:7px 0}
.u-footer__mail:hover{color:var(--u-fg)}
.u-footer__base{border-top:1px solid rgba(242,238,230,0.08);margin-top:44px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.u-footer__base p{margin:0;color:var(--u-dim);font-size:13px;line-height:1.6;max-width:60ch}
.u-stickybar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(9,22,31,0.97);border-top:1px solid rgba(232,168,124,0.3);backdrop-filter:blur(10px)}
.u-stickybar a{flex:1;text-decoration:none;font-weight:600;font-size:17px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--u-accent);color:var(--u-deepest)}
.u-stickybar a.u-btn--ghost{flex:0 0 auto;padding:0 18px;font-size:16px;background:none;color:var(--u-accent)}
.u-stickybar__spacer{height:74px}

/* ---------- blocks: hero ---------- */
.u-hero{padding:clamp(72px,11vw,150px) 0 clamp(64px,9vw,120px)}
.u-hero--page{padding:clamp(64px,9vw,120px) 0 clamp(48px,7vw,80px)}
.u-hero--photo{background-size:cover;background-position:center}

/* ---------- blocks: split ---------- */
.u-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:36px 64px;align-items:start}
.u-split--center{align-items:center;gap:44px 64px}
.u-split--wide{gap:48px 72px}
.u-split h2{margin:0}
.u-split__media{margin:0;max-width:420px;width:100%;justify-self:end}
.u-split__media img{display:block;width:100%;object-fit:cover;border-radius:8px}
.u-split__media figcaption,.u-figcap{margin-top:10px;font-family:var(--u-mono);font-size:12px;letter-spacing:0.06em;color:var(--u-sand)}
.u-sticky{position:sticky;top:90px}

/* ---------- blocks: big number ---------- */
.u-bignum{margin-top:clamp(48px,7vw,80px);border:1px solid rgba(232,168,124,0.28);border-radius:10px;background:var(--u-slate);padding:clamp(36px,6vw,64px) clamp(24px,5vw,64px)}
.u-bignum--flush{margin-top:0}
.u-bignum__ctx{font-family:var(--u-mono);font-size:13px;letter-spacing:0.14em;color:var(--u-muted);margin-bottom:26px;line-height:1.8}
.u-bignum__fig{font-weight:700;letter-spacing:-0.035em;line-height:0.98;color:var(--u-fg);font-size:clamp(56px,11vw,124px);font-variant-numeric:tabular-nums}
.u-bignum__fig--accent{color:var(--u-accent);margin-top:6px}
.u-bignum__foot{border-top:1px solid rgba(232,168,124,0.28);margin-top:30px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;align-items:baseline}
.u-bignum__foot p{margin:0}
.u-bignum__foot p:first-child{font-size:19px;color:var(--u-fg);font-weight:600}
.u-bignum__foot p:last-child{font-size:16px;color:var(--u-muted)}

/* ---------- blocks: callout ---------- */
.u-callout{border-radius:10px;padding:clamp(24px,4vw,40px)}
.u-callout--cream{background:var(--u-cream-soft);border:1px solid var(--u-cream-line)}
.u-callout--sand{background:var(--u-cream-alt);border:1px solid var(--u-rule)}
.u-callout--dark{background:var(--u-slate);border:1px solid rgba(242,238,230,0.16)}
.u-callout--accent{background:rgba(232,168,124,0.06);border:1px solid rgba(232,168,124,0.35)}
.u-callout__body{margin:0;font-size:18px;line-height:1.65;max-width:78ch}
.u-callout--cream .u-callout__body,.u-callout--sand .u-callout__body{color:var(--u-ink2)}
.u-callout--dark .u-callout__body{color:var(--u-muted2);font-size:16.5px;line-height:1.66}
.u-callout--accent .u-callout__body{color:var(--u-fg);font-size:17px;line-height:1.62}
.u-callout--accent .u-callout__body strong{color:var(--u-fg)}
.u-callout__body p{margin:0 0 14px}
.u-callout__body p:last-child{margin-bottom:0}
.u-callout--spaced{margin-top:clamp(44px,6vw,64px)}

/* ---------- blocks: grid ---------- */
.u-grid{display:grid;gap:0 56px}
.u-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.u-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.u-grid--cards{gap:32px}
.u-grid--wide{gap:36px 56px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.u-item--hair{border-top:1px solid var(--u-rule);padding:22px 0 26px}
.u-sec--deep .u-item--hair,.u-sec--deepest .u-item--hair,.u-sec--slate .u-item--hair{border-top-color:rgba(242,238,230,0.14);padding-top:22px}
.u-item__title{margin:0 0 8px;font-size:19px;font-weight:700;color:var(--u-ink);letter-spacing:-0.005em}
.u-sec--deep .u-item__title,.u-sec--deepest .u-item__title,.u-sec--slate .u-item__title{color:var(--u-fg);font-size:22px;margin-bottom:12px}
.u-item__body{margin:0;font-size:17px;line-height:1.6;color:var(--u-ink3)}
.u-item__body p{margin:0 0 14px}
.u-item__body p:last-child{margin-bottom:0}
.u-sec--deep .u-item__body,.u-sec--deepest .u-item__body,.u-sec--slate .u-item__body{color:var(--u-muted2);font-size:17px;line-height:1.64}
.u-item--card{background:var(--u-slate);border:1px solid rgba(242,238,230,0.1);border-radius:10px;padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.u-item--card .u-item__title{margin:0;font-size:23px;color:var(--u-fg)}
.u-item--card .u-item__body{margin:0;font-size:16.5px;line-height:1.6;color:var(--u-muted)}
.u-item__tags{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.u-item__n{font-family:var(--u-mono);font-size:14px;color:var(--u-dim)}
.u-item__tag{font-family:var(--u-mono);font-size:13px;letter-spacing:0.08em;color:var(--u-accent)}
.u-item--plain{padding:0 0 8px}
.u-item--plain .u-item__title{font-family:var(--u-mono);font-size:12.5px;letter-spacing:0.14em;color:var(--u-accent);font-weight:400;margin-bottom:8px;text-transform:uppercase}
.u-item--plain .u-item__body{font-size:17px;line-height:1.62;color:var(--u-muted2)}
.u-item--num{display:flex;gap:16px;border-top:1px solid var(--u-rule);padding:16px 0}
.u-item--num .u-item__n{flex-shrink:0;color:var(--u-sand)}
.u-item--num .u-item__body{font-size:17.5px;line-height:1.6;color:var(--u-ink4)}
.u-item--num .u-item__body strong{color:var(--u-ink)}
.u-grid__cta{margin-top:36px}

/* ---------- blocks: rows ---------- */
.u-rows__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 28px;align-items:baseline;border-bottom:1px solid var(--u-rule-soft);padding:12px 0}
.u-rows__row:last-of-type{border-bottom:none}
.u-rows__l{font-size:16.5px;color:var(--u-ink2)}
.u-rows__v{font-family:var(--u-mono);font-size:17px;font-weight:600;color:var(--u-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.u-rows--scope .u-rows__row{border-top:1px solid var(--u-rule-soft);border-bottom:none;padding:14px 0;flex-wrap:wrap}
.u-rows--scope .u-rows__v{font-family:var(--u-sans);font-weight:700;font-size:24px;color:var(--u-ink);min-width:96px;order:-1}
.u-rows--scope .u-rows__l{flex:1;min-width:min(100%,260px);font-size:16.5px;line-height:1.55;color:var(--u-ink3)}
.u-rows__total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:14px 0 2px;border-top:2px solid var(--u-ink)}
.u-rows__total .u-rows__l{font-weight:700;color:var(--u-ink)}
.u-rows__total .u-rows__v{font-size:19px;color:var(--u-accent-dk)}
.u-rows__note{margin:16px 0 0;font-size:16px;line-height:1.6;color:var(--u-ink2);font-weight:600}
.u-rows__after{margin:12px 0 0;font-family:var(--u-mono);font-size:12.5px;letter-spacing:0.06em;color:var(--u-sand)}
.u-rows--soon .u-rows__row{border-bottom:1px solid #E0D6C4;padding:13px 0}
.u-rows--soon .u-rows__l{font-size:17.5px;font-weight:600;color:var(--u-ink)}
.u-rows--soon .u-rows__v{font-size:11.5px;letter-spacing:0.1em;color:var(--u-sand);font-weight:400}

/* ---------- blocks: offer ---------- */
.u-offer{background:var(--u-slate);border:1px solid rgba(232,168,124,0.28);border-radius:10px;padding:clamp(30px,5vw,56px)}
.u-offer--bare{background:none;border:none;border-radius:0;padding:0}
.u-offer__head{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.u-offer__title{margin:0;font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:-0.02em;color:var(--u-fg)}
.u-offer--bare .u-offer__title{color:var(--u-ink)}
.u-offer__idx{font-family:var(--u-mono);font-size:0.65em;color:var(--u-dim);font-weight:400;margin-right:10px}
.u-offer--bare .u-offer__idx{color:var(--u-sand)}
.u-offer__pricewrap{text-align:right}
.u-offer__price{font-weight:700;font-size:clamp(40px,6vw,60px);letter-spacing:-0.03em;color:var(--u-accent);line-height:1;font-variant-numeric:tabular-nums}
.u-offer--bare .u-offer__price{color:var(--u-accent-dk);font-size:clamp(34px,5vw,52px)}
.u-offer__pricenote{font-family:var(--u-mono);font-size:13px;letter-spacing:0.1em;color:var(--u-sand);margin-top:6px}
.u-offer__intro{margin:18px 0 40px;font-size:18px;color:var(--u-ink2);font-weight:600}
.u-offer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px 48px;margin-top:26px}
.u-offer__foot{margin:26px 0 0;font-size:16px;line-height:1.6;color:var(--u-dim2);font-style:italic;max-width:74ch}
.u-offer__cta{margin-top:26px}

/* ---------- blocks: pricing ---------- */
.u-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;align-items:start}
.u-tier{position:relative;background:var(--u-slate);border:1px solid rgba(242,238,230,0.12);border-radius:10px;padding:30px 26px}
.u-tier--rec{background:var(--u-slate-hi);border:1.5px solid var(--u-accent)}
.u-tier__flag{position:absolute;top:-13px;left:24px;background:var(--u-accent);color:var(--u-deepest);font-family:var(--u-mono);font-size:12px;letter-spacing:0.1em;font-weight:600;padding:4px 12px;border-radius:4px}
.u-tier__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.u-tier__name{margin:0;font-size:26px;font-weight:700;color:var(--u-fg);letter-spacing:-0.01em}
.u-tier__gloss{font-family:var(--u-mono);font-size:13px;color:var(--u-dim2);font-style:italic}
.u-tier__price{margin:14px 0 4px;font-weight:700;font-size:40px;letter-spacing:-0.03em;color:var(--u-accent);line-height:1;font-variant-numeric:tabular-nums}
.u-tier__per{font-size:17px;color:var(--u-muted);font-weight:400;letter-spacing:0}
.u-tier__who{margin:0 0 18px;font-size:15.5px;line-height:1.55;color:var(--u-muted);border-bottom:1px solid rgba(242,238,230,0.12);padding-bottom:16px}
.u-tier__plus{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--u-fg)}
.u-tier__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.u-tier__list li{display:flex;gap:10px;align-items:baseline;font-size:15.5px;line-height:1.5;color:var(--u-muted2)}
.u-tier__list li::before{content:"·";color:var(--u-accent);font-family:var(--u-mono);font-size:13px;flex-shrink:0}

/* ---------- blocks: article prose ---------- */
.u-article h2{margin:0 0 16px;font-size:clamp(24px,3.6vw,30px);font-weight:700;letter-spacing:-0.015em;color:var(--u-ink)}
.u-article h2:not(:first-child){margin-top:36px}
.u-article p{margin:0 0 18px;font-size:18.5px;line-height:1.7;color:var(--u-ink4)}
.u-article a{color:var(--u-accent-dk);font-weight:600}
.u-article a:hover{color:var(--u-accent-dkr)}

/* ---------- blocks: contact card ---------- */
.u-contactcard{background:var(--u-slate);border-radius:10px;padding:clamp(24px,4vw,32px)}
.u-contactcard__tel{display:inline-block;color:var(--u-fg);text-decoration:none;font-weight:700;font-size:clamp(26px,4vw,34px);letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.u-contactcard__tel:hover{color:var(--u-accent)}
.u-contactcard__mail{display:block;margin-top:8px;color:var(--u-muted);text-decoration:none;font-size:17px}
.u-contactcard__mail:hover{color:var(--u-fg)}
.u-contactcard p{margin:18px 0 0;font-size:15.5px;line-height:1.6;color:var(--u-muted)}
.u-contactcard p.u-contactcard__note{margin-top:14px;color:var(--u-muted2);font-style:italic}

/* ---------- form ---------- */
.u-form{background:var(--u-cream-soft);border:1px solid var(--u-cream-line);border-radius:10px;padding:clamp(24px,4vw,40px)}
.u-form__fields{display:flex;flex-direction:column;gap:18px}
.u-form label{display:block}
.u-form__lab{display:block;font-size:15px;font-weight:600;color:var(--u-ink);margin-bottom:6px}
.u-form input[type=text],.u-form input[type=email],.u-form input[type=tel],.u-form select,.u-form textarea{width:100%;box-sizing:border-box;font-size:17px;padding:13px 14px;border:1px solid var(--u-rule);border-radius:6px;background:#FFFFFF;color:var(--u-ink);font-family:var(--u-sans)}
.u-form select{min-height:50px}
.u-form textarea{resize:vertical}
.u-form input:focus,.u-form select:focus,.u-form textarea:focus{border-color:var(--u-accent-dk);outline:2px solid rgba(182,94,49,0.25);outline-offset:1px}
.u-form__pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
.u-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.u-form__note{margin:0;font-size:14.5px;font-style:italic;line-height:1.6;color:#6B7B84}
.u-form__err{margin:0;background:#FBE9E4;border:1px solid #E0A38F;border-radius:6px;padding:12px 14px;font-size:15.5px;color:#8A3418}
.u-form__done{padding:24px 0}
.u-form__done h3{margin:0 0 12px;font-size:26px;font-weight:700;color:var(--u-ink)}
.u-form__done p{margin:0 0 20px;font-size:17.5px;line-height:1.6;color:var(--u-ink2)}
.u-form__done a{color:var(--u-accent-dk);text-decoration:none;font-weight:600;font-size:18px}
.u-form__req{color:var(--u-accent-dk)}

/* ---------- misc ---------- */
.u-stack{display:flex;flex-direction:column;gap:28px}
.u-mt-lg{margin-top:clamp(44px,6vw,64px)}
.u-mt-md{margin-top:40px}
.u-mt-sm{margin-top:32px}
.u-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:40px 56px;align-items:start}
.u-divider{margin-top:56px;border-top:1px solid var(--u-rule);padding-top:28px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- grid item styles, driven by the parent block ---------- */
[data-upena-item-style="hair"] .u-item,
[data-upena-item-style="wide"] .u-item{border-top:1px solid var(--u-rule);padding:22px 0 26px}
.u-sec--deep [data-upena-item-style="hair"] .u-item,
.u-sec--deepest [data-upena-item-style="hair"] .u-item,
.u-sec--slate [data-upena-item-style="hair"] .u-item,
.u-sec--deep [data-upena-item-style="wide"] .u-item,
.u-sec--deepest [data-upena-item-style="wide"] .u-item,
.u-sec--slate [data-upena-item-style="wide"] .u-item{border-top-color:rgba(242,238,230,0.14);padding:22px 0 0}

[data-upena-item-style="card"] .u-item{background:var(--u-slate);border:1px solid rgba(242,238,230,0.1);border-radius:10px;padding:30px 28px;display:flex;flex-direction:column;gap:12px}
[data-upena-item-style="card"] .u-item__title{margin:0;font-size:23px;color:var(--u-fg)}
[data-upena-item-style="card"] .u-item__body,[data-upena-item-style="card"] .u-item__body p{font-size:16.5px;line-height:1.6;color:var(--u-muted);margin:0}

[data-upena-item-style="plain"] .u-item__title{font-family:var(--u-mono);font-size:12.5px;letter-spacing:0.14em;color:var(--u-accent);font-weight:400;margin-bottom:8px;text-transform:uppercase}
[data-upena-item-style="plain"] .u-item__body,[data-upena-item-style="plain"] .u-item__body p{font-size:17px;line-height:1.62;color:var(--u-muted2)}
.u-sec--cream [data-upena-item-style="plain"] .u-item__title{color:var(--u-accent-dk)}
.u-sec--cream [data-upena-item-style="plain"] .u-item__body,.u-sec--cream [data-upena-item-style="plain"] .u-item__body p{color:var(--u-ink2)}

[data-upena-item-style="num"] .u-item{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;border-top:1px solid var(--u-rule);padding:16px 0}
[data-upena-item-style="num"] .u-item__tags{grid-column:1;grid-row:1 / span 2;display:block}
[data-upena-item-style="num"] .u-item__n{color:var(--u-sand)}
[data-upena-item-style="num"] .u-item__title{grid-column:2;margin:0 0 2px;font-size:17.5px;font-weight:700;color:var(--u-ink)}
[data-upena-item-style="num"] .u-item__body{grid-column:2}
[data-upena-item-style="num"] .u-item__body p{margin:0 0 8px;font-size:17.5px;line-height:1.6;color:var(--u-ink4)}
[data-upena-item-style="num"] .u-item__body p:last-child{margin-bottom:0}

/* tier feature lists come from a core list block */
.u-tier__list-wrap ul,.u-tier__list-wrap ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.u-tier__list-wrap li{display:flex;gap:10px;align-items:baseline;font-size:15.5px;line-height:1.5;color:var(--u-muted2)}
.u-tier__list-wrap li::before{content:"·";color:var(--u-accent);font-family:var(--u-mono);font-size:13px;flex-shrink:0}

/* prose inherits section colour for core paragraph/heading children */
.u-prose h2,.u-prose h3{color:inherit}
.u-sec--cream .u-prose h2,.u-sec--cream .u-prose h3{color:var(--u-ink)}
.u-callout__body ul,.u-prose ul{padding-left:1.1em;margin:0 0 18px}
.u-callout__body li,.u-prose li{margin-bottom:6px}

/* italic in a heading paints the accent colour — the editor's italic button */
.u-h1 em,.u-h2 em,.u-lead em,.u-offer__title em{color:var(--u-accent);font-style:normal}
.u-sec--cream .u-h1 em,.u-sec--cream .u-h2 em,.u-sec--cream .u-lead em,.u-sec--cream .u-offer__title em{color:var(--u-accent-dk)}
.u-grid--1{grid-template-columns:1fr}
.u-cols .wp-block-column{min-width:0}
.wp-block-columns.u-cols{gap:40px 56px;align-items:flex-start}
.u-sec > .wp-block-group__inner-container,.u-sec > .u-wrap{max-width:var(--u-wrap);margin:0 auto;padding:0 24px}

/* offer header: let the title wrap without crowding the price */
.u-offer__head{row-gap:6px}
.u-offer__title{line-height:1.14;flex:1 1 320px;min-width:0}
.u-offer__pricewrap{flex:0 0 auto}
.u-offer__cols{margin-top:30px}


/* ================================================================
   MOTION
   The u-motion class is set inline in the head, and only when the
   visitor has not asked for reduced motion. Without JS, nothing
   below applies and every section is visible from the first paint.
   ================================================================ */

.u-boot{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:var(--u-deepest);transition:opacity .5s ease,visibility .5s ease}
.u-booted .u-boot{opacity:0;visibility:hidden;pointer-events:none}
.u-boot__mark{width:72px;height:72px;overflow:visible}
.u-boot__mark path{stroke-dasharray:44;stroke-dashoffset:44;animation:u-draw 1s cubic-bezier(.6,0,.2,1) forwards}
.u-boot__mark path:nth-of-type(2){animation-delay:.16s}
.u-boot__mark circle{opacity:0;animation:u-pop .5s .72s cubic-bezier(.34,1.4,.64,1) forwards}
.u-boot__bar{position:absolute;bottom:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--u-accent);animation:u-load 1.5s cubic-bezier(.4,0,.2,1) forwards}
@keyframes u-draw{to{stroke-dashoffset:0}}
@keyframes u-pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes u-load{0%{transform:scaleX(0)}70%{transform:scaleX(.82)}100%{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.u-boot{display:none}}

.u-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}
.u-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--u-accent-dk),var(--u-accent));will-change:transform}

.u-header{transition:min-height .3s ease,background .3s ease,box-shadow .3s ease}
.u-header.is-scrolled{background:rgba(9,22,31,.99);box-shadow:0 10px 34px rgba(0,0,0,.34)}
.u-header.is-scrolled .u-header__in{min-height:56px}
.u-header__in{transition:min-height .3s ease}

.u-motion [data-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.u-motion [data-reveal].is-in{opacity:1;transform:none}
.u-motion [data-reveal-child]{opacity:0;transform:translate3d(0,18px,0);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1);transition-delay:var(--u-delay,0ms)}
.u-motion [data-reveal-child].is-in{opacity:1;transform:none}

/* hairlines draw in rather than appearing */
.u-motion [data-upena-item-style="hair"] .u-item,
.u-motion [data-upena-item-style="wide"] .u-item,
.u-motion [data-upena-item-style="num"] .u-item{border-top-color:transparent;transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1),border-top-color .6s ease .18s}
.u-motion [data-upena-item-style="hair"] .u-item.is-in,
.u-motion [data-upena-item-style="wide"] .u-item.is-in,
.u-motion [data-upena-item-style="num"] .u-item.is-in{border-top-color:var(--u-rule)}
.u-motion .u-sec--deep [data-upena-item-style="hair"] .u-item.is-in,
.u-motion .u-sec--deepest [data-upena-item-style="hair"] .u-item.is-in,
.u-motion .u-sec--deep [data-upena-item-style="wide"] .u-item.is-in,
.u-motion .u-sec--slate [data-upena-item-style="wide"] .u-item.is-in{border-top-color:rgba(242,238,230,.14)}

/* the eyebrow settles into position */
.u-motion [data-reveal] .u-eyebrow{letter-spacing:.34em;opacity:0;transition:letter-spacing .8s cubic-bezier(.22,.61,.36,1),opacity .5s ease}
.u-motion [data-reveal].is-in .u-eyebrow{letter-spacing:.16em;opacity:1}
.u-motion [data-reveal].is-in .u-eyebrow--sm{letter-spacing:.14em}

/* the mesh drifts, slowly */
@media (prefers-reduced-motion:no-preference){
	.u-mesh{animation:u-drift 64s linear infinite}
	@keyframes u-drift{to{background-position:56px 112px}}
}

/* ---------- hover / focus, desktop pointers only ---------- */
@media (hover:hover) and (pointer:fine){
	[data-upena-item-style="card"] .u-item,.u-tier,.u-offer,.u-callout{position:relative;transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .35s ease}
	[data-upena-item-style="card"] .u-item::after,.u-tier::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(340px circle at var(--u-mx,50%) var(--u-my,50%),rgba(232,168,124,.13),transparent 62%)}
	[data-upena-item-style="card"] .u-item:hover,.u-tier:hover{transform:translateY(-4px);border-color:rgba(232,168,124,.5)}
	[data-upena-item-style="card"] .u-item:hover::after,.u-tier:hover::after{opacity:1}
	.u-btn{transition:transform .2s cubic-bezier(.22,.61,.36,1),background .2s ease,box-shadow .2s ease}
	.u-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(232,168,124,.22)}
	.u-btn:active{transform:translateY(0)}
	.u-split__media img,.u-figcap+img{transition:transform .6s cubic-bezier(.22,.61,.36,1)}
	.u-split__media:hover img{transform:scale(1.02)}
}

:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--u-accent);outline-offset:3px;border-radius:4px}

/* ================================================================
   RESPONSIVE
   Verified at 1440, 1280, 1024, 900, 834, 768, 430, 390 and 360.
   ================================================================ */

@media (max-width:1180px){
	:root{--u-wrap:1080px}
	.u-grid{gap:0 40px}
	.u-grid--wide{gap:32px 40px}
	.u-split{gap:32px 44px}
	.u-split--wide{gap:40px 48px}
}

@media (max-width:1024px){
	.u-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
	.u-offer__cols{gap:22px 32px}
	.u-h1--home{max-width:16ch}
	.u-bignum{padding:clamp(28px,5vw,44px) clamp(22px,4vw,40px)}
}

@media (max-width:919px){
	.u-split,.u-split--wide{grid-template-columns:1fr;gap:28px}
	.u-split__media{max-width:100%;justify-self:stretch}
	.u-sticky{position:static}
	.u-offer__head{flex-direction:column;align-items:flex-start;gap:10px}
	.u-offer__pricewrap{text-align:left}
	.u-lead{max-width:32ch}
	.u-header__in{padding:0 18px}
}

@media (max-width:820px){
	.u-tiers{grid-template-columns:1fr;gap:20px}
	.u-tier--rec{order:-1}
	.wp-block-columns.u-cols{flex-direction:column;gap:32px}
	.wp-block-columns.u-cols .wp-block-column{flex-basis:100% !important}
	.u-grid--3,.u-grid--2{grid-template-columns:1fr;gap:0}
	.u-grid--cards{gap:16px}
	.u-grid--wide{grid-template-columns:1fr;gap:0}
	.u-offer__cols{grid-template-columns:1fr;gap:24px}
	.u-footer__grid{gap:32px}
}

@media (max-width:680px){
	.u-sec{padding:clamp(44px,11vw,68px) 0}
	.u-sec--tight{padding:clamp(34px,9vw,52px) 0}
	.u-wrap{padding:0 20px}
	.u-h1{letter-spacing:-.022em}
	.u-h1--home{max-width:none}
	.u-lead{max-width:none;font-size:clamp(19px,5.4vw,24px)}
	.u-sub,.u-prose,.u-prose--lg{max-width:none}
	.u-prose,.u-article p{font-size:17px}
	.u-bignum__ctx{font-size:11.5px;letter-spacing:.1em;margin-bottom:18px}
	.u-bignum__fig{font-size:clamp(44px,13vw,72px)}
	.u-bignum__foot{flex-direction:column;gap:6px;margin-top:22px}
	.u-bignum__foot p:first-child{font-size:17px}
	.u-callout{padding:22px 20px}
	.u-item--card,[data-upena-item-style="card"] .u-item{padding:24px 20px}
	.u-offer{padding:26px 20px}
	.u-tier{padding:26px 20px}
	.u-form{padding:22px 18px}
	.u-form__pair{grid-template-columns:1fr;gap:16px}
	.u-ctaband .u-wrap{padding-top:clamp(48px,12vw,72px);padding-bottom:clamp(48px,12vw,72px)}
	.u-footer__base{flex-direction:column;gap:10px}
	.u-divider,.u-mt-lg{margin-top:32px}
	.u-rows--scope .u-rows__v{min-width:0;font-size:21px}
	.u-rows__row{padding:14px 0}
	.u-rows__l{font-size:16px}
	.u-cta-stack .u-btn,.u-cta-row .u-btn{width:100%;text-align:center}
	.u-cta-row{gap:10px}
	.u-article h2{font-size:clamp(22px,6vw,26px)}
	.u-article h2:not(:first-child){margin-top:30px}
}

@media (max-width:430px){
	.u-wrap{padding:0 18px}
	.u-brand__name{font-size:17px}
	.u-header__in{gap:10px;padding:0 14px}
	.u-mobtools .u-nav__cta{font-size:14px;padding:12px 13px}
	.u-burger{min-width:52px}
	.u-h1{font-size:clamp(32px,9.4vw,44px)}
	.u-offer__price{font-size:clamp(32px,10vw,42px)}
	.u-tier__price{font-size:34px}
	.u-tier__head{flex-direction:column;align-items:flex-start;gap:2px}
	.u-rows__row{flex-direction:column;align-items:flex-start;gap:2px}
	.u-rows__total{flex-direction:column;align-items:flex-start;gap:2px}
	.u-stickybar a{font-size:16px}
	[data-upena-item-style="num"] .u-item{column-gap:12px}
}

/* the highlight flag needs headroom above the first tier */
.u-tiers{padding-top:14px}

/* ---------- contrast corrections ----------
   --u-dim (#5F7683) on --u-deepest measures about 3.9:1, under the 4.5:1
   minimum for body text. These three uses carry real information, so they
   move up to a tone that passes. */
.u-footer__base p{color:#7E95A1}
.u-footer__label{color:#7E95A1}
.u-meta{color:#7E95A1}
