/*
Theme Name: Journey
Description: Lightweight WooCommerce theme for the Airbnb Journey platform. Presentation only; all logic lives in the Airbnb Journey Core plugin.
Version: 0.8.11
Text Domain: journey
*/
:root{--ink:#0b0d0e;--sea:#0b0d0e;--paper:#fbfaf8;--tint:#efede8;--accent:#0f7a6f;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:1.125rem/1.7 var(--sans)}
h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0 0 .6rem;font-weight:700}
h1{font-size:clamp(2.2rem,8vw,3.6rem);letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,5vw,2.2rem)}
p{margin:0 0 1rem;max-width:38rem}
a{color:var(--sea)}
img{max-width:100%;height:auto}
.wrap{max-width:46rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}
.top{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--tint);max-width:64rem;margin:0 auto}
.brand{font:700 1.15rem var(--serif);color:var(--ink);text-decoration:none}
.top-nav{display:none;gap:1.5rem}
.top-nav a{color:var(--ink);text-decoration:none}
.btn.ghost{background:transparent;color:var(--sea);border:2px solid var(--sea)}
.btn.ghost:hover{background:var(--tint);color:var(--sea)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.band.dark :focus-visible,.os-brief :focus-visible{outline-color:#7fd4c8}
input,select,textarea{font:inherit;max-width:100%;padding:.65rem;border:1px solid #d9d6cf;border-radius:.35rem;background:#fff}

/* Home */
.hero{max-width:64rem;margin:0 auto;padding:2.5rem 1.25rem 1rem}
.hero p.lead{font-size:1.2rem;max-width:32rem}
.hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.5rem}
.hero small{display:block;color:#4a4f52;margin-top:.75rem}
.path{max-width:64rem;margin:0 auto;padding:2rem 1.25rem 3rem}
.path ol{list-style:none;margin:1.5rem 0 0;padding:0;position:relative;max-width:36rem}
.path ol:before{content:"";position:absolute;left:1.3rem;top:1.4rem;bottom:1.4rem;width:2px;background:var(--sea)}
.path li{position:relative;display:flex;gap:1.1rem;padding:.9rem 0}
.path .n{flex:none;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--sea);color:#fff;display:grid;place-items:center;font:700 1rem var(--serif);z-index:1}
.path li.soon .n{background:var(--paper);color:var(--sea);border:2px solid var(--sea)}
.path h3{margin:0;font-size:1.25rem}
.path p{margin:.15rem 0 0;color:#3a3f42}
.path .meta{font-size:.85rem;color:#4a4f52}
.close{background:var(--sea);color:#fff}
.close .in{max-width:64rem;margin:0 auto;padding:2.5rem 1.25rem}
.close p{color:#d8d6d0}
.close .btn{background:#fff;color:var(--sea)}

/* Woo basics */
.woocommerce-message,.woocommerce-info{background:var(--tint);padding:.8rem 1rem;border-radius:.35rem;list-style:none}
.woocommerce-error{background:#fbe8ee;padding:.8rem 1rem;border-radius:.35rem;list-style:none}
.woocommerce div.product .price,.woocommerce .price{color:var(--ink);font-weight:700}
.ajc-credit{display:block;font-weight:400;font-size:.9rem;color:#4a4f52}
.related.products,.upsells.products{display:none}


.foot{max-width:64rem;margin:0 auto;padding:1.5rem 1.25rem;font-size:.85rem;color:#4a4f52}
@media (min-width:48rem){
	.top-nav{display:flex}
}

/*
 * ===== Buttons: one system for the theme, WooCommerce and the Journey plugin =====
 * The tag/attribute selectors below (button[type=submit], input[type=submit], the plain WooCommerce
 * button classes) are wrapped in :where(...), which carries ZERO specificity. That means any single
 * class the plugin puts on a button — .ajc-mini, .ajc-copy, .ajc-btn-line, .ajc-danger-btn, .ok-btn —
 * wins over this default look automatically, with no !important anywhere and nothing to fight.
 * Only .btn, .button and .wp-element-button stay as normal classes: they ARE the default look on
 * purpose, so a plain WooCommerce or Gutenberg button still gets it.
 */
.btn,.button,.wp-element-button,
:where(button[type=submit],input[type=submit],
body .woocommerce a.button,body .woocommerce button.button,body .woocommerce input.button,body .woocommerce #respond input#submit,
body .woocommerce a.button.alt,body .woocommerce button.button.alt,body .woocommerce input.button.alt,body .woocommerce #payment #place_order,
.wc-block-components-button:not(.is-link)){
	display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.8rem 1.5rem;border-radius:.75rem;border:2px solid transparent;
	background:var(--accent);color:#fff;font:650 1.05rem/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;text-align:center;
	box-shadow:0 1px 0 rgba(0,0,0,.08),0 8px 16px -8px rgba(15,122,111,.6);transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover,.button:hover,.wp-element-button:hover,
:where(button[type=submit]:hover,
body .woocommerce a.button:hover,body .woocommerce button.button:hover,body .woocommerce input.button:hover,body .woocommerce #payment #place_order:hover,
.wc-block-components-button:not(.is-link):hover){background:#0b5c53;color:#fff;transform:translateY(-1px)}
.btn:active,.button:active,body .woocommerce button.button:active{transform:translateY(0);box-shadow:none}
.btn::after{content:"\2192";font-weight:400;transition:transform .12s}
.btn:hover::after{transform:translateX(3px)}
.btn.ghost,body .woocommerce a.button.ghost{background:transparent;color:var(--sea);border-color:var(--sea);box-shadow:none}
.btn.ghost:hover{background:var(--tint);color:var(--sea)}
.btn[disabled],.button.disabled,body .woocommerce button.button:disabled{opacity:.55;cursor:not-allowed;transform:none}
body .woocommerce div.product form.cart .single_add_to_cart_button,body .woocommerce #payment #place_order,.wc-block-components-checkout-place-order-button{width:100%;min-height:3.4rem;font-size:1.1rem}
.woocommerce-message .button,.woocommerce-info .button{min-height:2.5rem;padding:.4rem 1rem;box-shadow:none}
@media (prefers-reduced-motion:reduce){.btn,.button,.btn::after{transition:none}}

/* ===== Product page ===== */
body .woocommerce div.product div.images,body .woocommerce div.product div.summary{float:none;width:100%;margin:0 0 1.25rem}
body .woocommerce div.product div.images{max-width:28rem}
body .woocommerce div.product div.images img{border-radius:.75rem}
body .woocommerce div.product .product_title{font-size:clamp(1.7rem,6vw,2.4rem)}
body .woocommerce div.product p.price,body .woocommerce div.product span.price,body .woocommerce .price{color:var(--ink)!important;font-weight:700;font-size:1.5rem}
body .woocommerce .price small.woocommerce-price-suffix{font-size:.85rem;font-weight:400;color:#4a4f52}
body .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1rem;display:flex;gap:.5rem;list-style:none;border:0}
body .woocommerce div.product .woocommerce-tabs ul.tabs::before,body .woocommerce div.product .woocommerce-tabs ul.tabs li::before,body .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
body .woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:var(--tint);border-radius:.6rem;margin:0}
body .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.6rem 1rem;color:var(--sea);font-weight:600}
body .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--sea)}
body .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
body .woocommerce div.product .woocommerce-tabs .panel h2:first-child{display:none}

/* ===== My account ===== */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3.2rem;padding:.6rem 1rem;border-radius:.9rem;background:var(--tint);color:var(--sea);text-decoration:none;font-weight:650;border:1.5px solid transparent;transition:background .12s,border-color .12s}
.woocommerce-MyAccount-navigation a:hover{background:#e9e7e1}
.woocommerce-MyAccount-navigation .is-active a{background:var(--sea);color:#fff;border-color:var(--sea)}
body .woocommerce-account .woocommerce-MyAccount-navigation,body .woocommerce-account .woocommerce-MyAccount-content{float:none;width:100%}
@media (min-width:34rem){.woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(3,1fr)}}
@media (min-width:48rem){.woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(6,1fr)}}
.account-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.woocommerce table.shop_table{border-radius:.6rem;border-collapse:separate;overflow:hidden}

/* ===== Friendlier header, no bottom bar ===== */
.top{position:relative}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem 1rem;z-index:100}
.skip:focus{left:.5rem;top:.5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:3rem;padding:0 1.2rem;border-radius:2rem;background:var(--tint);color:var(--sea);font-weight:650;font-size:1.02rem}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--sea);color:#fff}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 14px 28px -14px rgba(18,38,45,.25);padding:.25rem 1.25rem 1rem;z-index:60}
.menu-panel a{display:flex;align-items:center;min-height:3.4rem;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--tint)}
.menu-panel a:last-child{border-bottom:0}
@media (min-width:48rem){.menu{display:none}}

/* ===== Home ===== */
.hero .actions{flex-direction:column;align-items:stretch;gap:.75rem;max-width:26rem}
.hero .actions .btn{width:100%}
.ticks{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.6rem;max-width:32rem}
.ticks li{position:relative;padding-left:1.9rem;color:#3a3f42}
.ticks li::before{content:"\2713";position:absolute;left:0;top:0;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--tint);color:var(--sea);font-weight:700;font-size:.85rem;display:grid;place-items:center;top:.2rem}
.path .who{margin-top:1.5rem;color:#3a3f42}
.path h3{font-size:1.2rem}
.faq details{border-bottom:1px solid var(--tint);padding:.25rem 0}
.faq summary{cursor:pointer;min-height:3rem;display:flex;align-items:center;font-weight:650;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-size:1.4rem;color:var(--sea)}
.faq details[open] summary::after{content:"\2212"}
.foot p{margin:0 0 .4rem}
.foot-links a{margin-right:1rem;color:#4a4f52}
@media (min-width:40rem){.hero .actions{flex-direction:row;max-width:none}.hero .actions .btn{width:auto}}

/* ===== Personal brand: black and white base, one accent, editorial type ===== */
:root{--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif}
.kicker{font:650 .85rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.25rem}
.display{font-size:clamp(2.7rem,10vw,5.4rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 1.25rem}
.hero{padding-top:3rem;padding-bottom:2rem}
.hero .lead{font-size:clamp(1.15rem,3.6vw,1.45rem);max-width:34rem;color:#2c3033}
.motto{font:650 1rem/1.4 var(--sans);letter-spacing:.04em;margin:0 0 1.75rem;color:var(--ink)}
.hero-grid{display:grid;gap:2rem}
.hero-photo{margin:0}
.hero-photo img,.bio-photo img,.about-photo img{display:block;width:100%;height:auto;border-radius:1rem;filter:grayscale(.15)}
@media (min-width:56rem){.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;max-width:70rem}.hero-photo img{max-height:34rem;object-fit:cover}}

.band{padding:0}
.band.soft{background:var(--tint)}
.band.dark{background:var(--ink);color:#fff}
.band.dark p,.band.dark .sub{color:#d8d6d0}
.band.dark .btn{background:#fff!important;color:var(--ink)!important;box-shadow:none}
.band.dark .btn:hover{background:var(--tint)!important}
.sec{max-width:64rem;margin:0 auto;padding:3.5rem 1.25rem}
.sec h2{font-size:clamp(1.8rem,6vw,2.8rem);letter-spacing:-.015em;margin-bottom:.75rem}
.sec .sub{font-size:1.1rem;max-width:40rem;color:#3a3f42}
.textlink{color:var(--ink);font-weight:650;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:.1rem}
.textlink:hover{color:var(--accent)}

.system-grid{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1px;background:#d9d6cf;border:1px solid #d9d6cf;border-radius:1rem;overflow:hidden}
.system-grid li{background:#fff;padding:1.4rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}
.system-grid b{font:700 1.1rem var(--serif)}
.system-grid span{color:#3a3f42;font-size:.98rem}
@media (min-width:44rem){.system-grid{grid-template-columns:repeat(3,1fr)}}

.bio{display:grid;gap:2rem}
.biz-mini{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:.9rem}
.biz-mini li{padding-left:1rem;border-left:3px solid var(--accent);display:flex;flex-direction:column}
.biz-mini span{color:#3a3f42}
@media (min-width:56rem){.bio{grid-template-columns:1.2fr .8fr;align-items:center}}

.steps9{list-style:none;counter-reset:s;margin:1.5rem 0 0;padding:0;display:grid;gap:.6rem}
.steps9 li{counter-increment:s;display:flex;gap:.9rem;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--tint);font-weight:600}
.steps9 li::before{content:counter(s,decimal-leading-zero);font:700 .95rem var(--sans);color:var(--accent);min-width:1.8rem}
@media (min-width:44rem){.steps9{grid-template-columns:1fr 1fr;column-gap:3rem}}

.nots{list-style:none;margin:1.25rem 0;padding:0;display:grid;gap:.5rem}
.nots li{position:relative;padding-left:1.6rem;font-size:1.1rem}
.nots li::before{content:"\2715";position:absolute;left:0;color:#e0a3a3;font-size:.9rem;top:.15rem}

.post-list{list-style:none;margin:1.5rem 0 0;padding:0}
.post-list a{display:block;padding:1.1rem 0;border-bottom:1px solid #d9d6cf;text-decoration:none;color:var(--ink)}
.post-list b{display:block;font:700 1.25rem/1.25 var(--serif);margin-bottom:.3rem}
.post-list span{color:#3a3f42}
.post-list a:hover b{color:var(--accent)}

/* Pages and articles */
.prose{max-width:42rem;margin:0 auto}
.prose h1{font-size:clamp(2.2rem,8vw,3.6rem);letter-spacing:-.02em}
.prose h2{margin-top:2.5rem;font-size:clamp(1.5rem,5vw,2rem)}
.prose .lead{font-size:1.3rem;line-height:1.5;color:#2c3033}
.prose blockquote{margin:2rem 0;padding:1rem 0 1rem 1.25rem;border-left:4px solid var(--accent);font:600 1.3rem/1.45 var(--serif)}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li{margin:.35rem 0}
.about-photo{margin:0 0 2rem}
.biz{display:grid;gap:1rem;margin:1.5rem 0}
.biz article{background:#fff;border:1px solid #d9d6cf;border-radius:1rem;padding:1.25rem}
.biz h3{font-size:1.15rem;margin-bottom:.4rem}
.biz p{margin:0;color:#3a3f42}
.steps9.prose-list,.prose .steps9{margin-top:1rem}
.method-list{list-style:none;margin:1.5rem 0;padding:0;position:relative}
.method-list::before{content:"";position:absolute;left:1.3rem;top:1.4rem;bottom:1.4rem;width:2px;background:var(--ink)}
.method-list li{position:relative;display:flex;gap:1.1rem;padding:.9rem 0}
.method-list .n{flex:none;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 1rem var(--serif);z-index:1}
.method-list h3{margin:0;font-size:1.2rem}
.method-list p{margin:.15rem 0 0;color:#3a3f42}
.method-list .meta{font-size:.85rem;color:#4a4f52}
.cta-box{margin:3rem 0 0;padding:1.5rem;background:var(--tint);border-radius:1rem}
.cta-box h2{margin-top:0;font-size:1.5rem}
.prose .account-actions{margin:2rem 0}

/* Subtle motion (respects reduced motion; content stays visible without JavaScript) */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Header polish */
.top{background:rgba(251,250,248,.92);border-bottom:1px solid #e4e2dc}
.brand{letter-spacing:.06em;font-size:1rem;text-transform:uppercase}
.top-nav{gap:1.25rem;font-size:.95rem}
.top-nav a:hover{color:var(--accent)}
.path ol::before{background:var(--ink)}
.path .n{background:var(--ink)}

/* ===== Tools, start paths and a header that sells ===== */
.top{position:sticky;top:0;z-index:70;gap:.75rem}
.top-cta{display:none}
.btn.sm{min-height:2.5rem;padding:.5rem 1.1rem;font-size:.95rem}
.menu-cta{margin:1rem 0 .25rem;width:100%}
.menu-panel a.menu-cta{display:flex;justify-content:center;color:#fff;border-bottom:0}
@media (min-width:48rem){.top-cta{display:inline-flex}.top-nav{margin-left:auto}}
.wrap.wide{max-width:64rem}
.prose.prose-wide{max-width:none}

.stats-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem}
.stats-strip li{display:flex;flex-direction:column;border-left:3px solid var(--accent);padding-left:.8rem}
.stats-strip b{font:700 2rem/1 var(--serif)}
.stats-strip span{color:#4a4f52;font-size:.9rem}
.band .stats{padding-top:1.5rem;padding-bottom:1.5rem}
@media (min-width:44rem){.stats-strip{grid-template-columns:repeat(5,1fr)}}

.paths3{display:grid;gap:1rem;margin:1.75rem 0 1rem}
.pcard{display:block;background:#fff;border:1px solid #d9d6cf;border-radius:1rem;padding:1.4rem}
.pcard>*{margin:0 0 .7rem}
.pcard>*:last-child{margin-bottom:0}
.pcard.main{border:2px solid var(--ink);box-shadow:0 18px 30px -22px rgba(11,13,14,.55)}
.pcard h3{font-size:1.3rem}
.pcard p{color:#3a3f42}
.ptag{display:inline-block;font:700 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:2rem;padding:.35rem .7rem}
.ptag.free{background:var(--accent)}
.ptag.extra{background:#4a4f52}
.ptag.owned{background:#0b5c53}
@media (min-width:52rem){.paths3{grid-template-columns:repeat(3,1fr)}}

.tools .lead{font-size:1.2rem;max-width:40rem}
.tools h2{margin-top:2.5rem}
.tool-card{background:#fff;border:1px solid #d9d6cf;border-radius:1rem;padding:1.3rem;margin:1rem 0;display:block}
.tool-card>*{margin-top:0;margin-bottom:.6rem}
.tool-card>*:last-child{margin-bottom:0}
.tool-card.free{border-color:var(--accent);border-width:2px}
.tool-card h2,.tool-card h3{font-size:1.35rem}
.tq{color:#3a3f42;font-weight:600}
.tool-card details{width:100%}
.tool-card summary{cursor:pointer;min-height:3rem;display:flex;align-items:center;font-weight:650;color:var(--accent)}
.tool-card ul{margin:.25rem 0 .5rem;padding-left:1.2rem}
.tool-card ul.ticks{padding-left:0}
.tool-cta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.5rem}
.tprice{color:#4a4f52;font-size:.92rem}

/* Product page */
.trust{list-style:none;margin:1.25rem 0;padding:0;display:grid;gap:.5rem}
.trust li{position:relative;padding-left:1.7rem;color:#3a3f42}
.trust li::before{content:"\2713";position:absolute;left:0;top:.15rem;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--tint);color:var(--accent);font-weight:700;font-size:.8rem;display:grid;place-items:center}
body .woocommerce div.product form.cart{margin:1.25rem 0}
body .woocommerce div.product .product_title{margin-bottom:.3rem}

/* Footer */
.foot{border-top:1px solid #e4e2dc;margin-top:3rem}
.foot-grid{max-width:64rem;margin:0 auto;padding:2rem 1.25rem 0;display:grid;gap:1.5rem}
.foot-grid nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-content:flex-start}
.foot-grid nav a{color:var(--ink);text-decoration:none;font-weight:600}
.foot-brand{font:700 1.1rem var(--serif);text-transform:uppercase;letter-spacing:.06em}
@media (min-width:44rem){.foot-grid{grid-template-columns:1fr 1fr}}

/* ===== Polish from real-browser checks ===== */
a{text-underline-offset:.15em}
/* Hero: text on the left, journey route (or your photo) on the right */
.hero-grid{display:grid;gap:2rem}
.hero-route{background:var(--ink);color:#fff;border-radius:1.2rem;padding:1.25rem 1.25rem 1rem}
.hr-title{font:650 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#b9b6ae;margin:0}
.hero-route ol{list-style:none;margin:1.1rem 0 .9rem;padding:0;display:flex;justify-content:space-between;position:relative}
.hero-route ol::before{content:"";position:absolute;left:1.1rem;right:1.1rem;top:1.1rem;height:2px;background:#3a3f42}
.hero-route li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.45rem;font-size:.72rem;text-align:center}
.hero-route li span{width:2.2rem;height:2.2rem;border-radius:50%;background:#1d2123;border:2px solid #3a3f42;display:grid;place-items:center;font:700 .8rem var(--serif)}
.hero-route li.on span{background:var(--accent);border-color:var(--accent)}
.hero-route li b{font-weight:600}
.hero-route li small{display:none}
.hr-foot{margin:0;font:650 .8rem var(--sans);letter-spacing:.06em;color:#d8d6d0}
@media (min-width:56rem){
	.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center}
	.hero-route{padding:1.6rem}
	.hero-route ol{flex-direction:column;gap:1.1rem;align-items:flex-start}
	.hero-route ol::before{left:1.1rem;right:auto;top:1.1rem;bottom:1.1rem;width:2px;height:auto}
	.hero-route li{flex-direction:row;align-items:flex-start;text-align:left;gap:.9rem;font-size:1rem}
	.hero-route li small{display:block;color:#b9b6ae;font-size:.85rem;line-height:1.35;margin-top:.1rem}
}

/* Tools cards */
.tool-card h2,.tool-card h3{margin-top:0}
.tool-card .ptag{margin-bottom:.6rem}

/* Articles */
.post-meta{color:#4a4f52;margin:-.4rem 0 1.5rem;font-size:.95rem}

/* Product page: image and buying box side by side on desktop */
body .woocommerce div.product .woocommerce-tabs ul.tabs li a{text-decoration:none}
body .woocommerce div.product .woocommerce-tabs ul.tabs{overflow:visible}
@media (min-width:56rem){
	.single-product .wrap{max-width:64rem}
	body.single-product .woocommerce div.product{display:grid;grid-template-columns:minmax(0,26rem) 1fr;gap:0 3rem;align-items:start}
	body.single-product .woocommerce div.product div.images,body.single-product .woocommerce div.product div.summary{float:none;width:auto;margin:0}
	body.single-product .woocommerce div.product .woocommerce-tabs,body.single-product .woocommerce div.product .related,body.single-product .woocommerce div.product .upsells{grid-column:1/-1}
}

/* Cart, checkout and order tables */
.woocommerce h1{font-size:clamp(2rem,7vw,3rem)}
.woocommerce h3,.woocommerce-checkout h3{font-size:1.3rem}
body .woocommerce table.shop_table{width:100%;border:1px solid #e4e2dc;border-radius:.8rem;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}
body .woocommerce table.shop_table th,body .woocommerce table.shop_table td{padding:.85rem 1rem;text-align:left;border-top:1px solid #efede8;vertical-align:top}
body .woocommerce table.shop_table thead th{border-top:0;background:var(--tint);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:#3a3f42}
body .woocommerce table.shop_table td:last-child,body .woocommerce table.shop_table th:last-child{text-align:right}
body .woocommerce table.shop_table tfoot th{font-weight:650}
.woocommerce ul.wc_payment_methods{list-style:none;margin:1.25rem 0;padding:0}
.woocommerce ul.wc_payment_methods li{padding:.85rem 1rem;border:1px solid #e4e2dc;border-radius:.8rem;background:#fff;margin:0 0 .5rem}
.woocommerce ul.wc_payment_methods li label{font-weight:600}
.woocommerce form .form-row label{display:block;font-weight:600;margin-bottom:.25rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{width:100%;min-height:2.9rem;border:1px solid #d3d0c8;border-radius:.7rem;padding:.55rem .8rem;background:#fff}
.woocommerce form .form-row input.input-text:focus{outline:3px solid rgba(15,122,111,.25);border-color:var(--accent)}
.woocommerce form .form-row .woocommerce-form__label-for-checkbox,.woocommerce form .validate-required label.checkbox{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}
.woocommerce form .form-row .checkbox input{margin-top:.3rem}
@media (min-width:56rem){
	.woocommerce-checkout .wrap,.woocommerce-cart .wrap{max-width:64rem}
	form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1fr) 26rem;gap:0 3rem;align-items:start}
	form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 2}
	form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin-top:0}
	form.woocommerce-checkout #order_review{grid-column:2;grid-row:2}
	.woocommerce form.checkout .col2-set .col-1,.woocommerce form.checkout .col2-set .col-2{float:none;width:100%}
}

/* Footer spacing and my account */
.foot-links{margin-top:1.25rem!important;padding-bottom:2rem}
.foot-grid{padding-bottom:.5rem}
.woocommerce-MyAccount-content .account-actions{margin-top:1.5rem}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:100%!important}

/* Hero details */
.hero-grid{max-width:64rem}
.hero .display{font-size:clamp(2.6rem,9vw,4.4rem)}
.hero-route li b{display:none}
.hr-names{margin:0 0 .6rem;color:#d8d6d0;font-size:.85rem;line-height:1.5}
@media (min-width:56rem){
	.hero-route li b{display:block}
	.hr-names{display:none}
	.hero .display{font-size:clamp(3rem,5.2vw,4.6rem)}
}

/* PMS stays visible in the top bar */
.top-nav a.nav-chip{border:1.5px solid var(--accent);color:var(--accent);border-radius:2rem;padding:.3rem .8rem;font-weight:700;text-decoration:none}
.top-nav a.nav-chip:hover{background:var(--accent);color:#fff}
.menu-panel a .ptag{margin-left:.6rem}
@media (min-width:48rem) and (max-width:70rem){.top-nav{gap:.85rem;font-size:.9rem}.top-cta{display:none}}

.brand,.top-nav a{white-space:nowrap}
.top-nav{gap:1.1rem}
.top-nav{align-items:center}

/* ===== Made easy for everyone: bigger text, clear steps, simple sign-in ===== */
html.big{font-size:125%}
.tsize{min-height:2.75rem;min-width:2.75rem;border-radius:2rem;border:1.5px solid #c9c6be;background:#fff;color:var(--ink);font:700 1rem var(--sans);cursor:pointer;padding:0 .8rem}
.tsize[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.top{gap:.6rem}
.top-nav a.nav-login{font-weight:700;color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:.1rem}
.menu-panel a.menu-login{margin:.5rem 0 0;width:100%;justify-content:center;border-bottom:2px solid var(--ink)}
@media (min-width:48rem){.top-nav{margin-left:auto}}
input,select,textarea,button{font-size:1rem}

.steps3{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.5rem}
.steps3 li{display:flex;gap:1.1rem;align-items:flex-start}
.steps3 h3{margin:.1rem 0 .3rem;font-size:1.3rem}
.steps3 p{margin:0 0 .8rem;color:#3a3f42}
.big-n{flex:none;width:3rem;height:3rem;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 1.4rem var(--serif)}
@media (min-width:52rem){.steps3{grid-template-columns:repeat(3,1fr);gap:2rem}.steps3 li{flex-direction:column}}

.foot-contact{margin:.8rem 0 0;line-height:1.7}
.foot-contact a{color:var(--ink);font-weight:600}

/* Checkout: short path and a big thank-you */
.ajc-checkout-intro{margin:0 0 1.5rem}
.ajc-steps3{list-style:none;display:flex;gap:.5rem;padding:0;margin:0 0 .8rem;flex-wrap:wrap}
.ajc-steps3 li{display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:2rem;background:#efede8;font-weight:600;font-size:.98rem}
.ajc-steps3 li.on{background:var(--ink);color:#fff}
.ajc-steps3 b{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#fff;color:var(--ink);font-size:.9rem}
.ajc-help{background:#e6f2f0;color:#0b5c53;border-radius:.8rem;padding:.8rem 1rem;margin:.6rem 0;font-weight:600}
.ajc-help a{color:#0b5c53}
.ajc-thanks2{background:#0b0d0e;color:#fff;border-radius:1.2rem;padding:1.5rem;margin:0 0 1.5rem}
.ajc-thanks2 h2{color:#fff;margin:0 0 .4rem}
.ajc-thanks2 p{color:#d8d6d0}
.ajc-thanks2 .ajc-btn.big{display:flex;width:100%;justify-content:center;min-height:3.6rem;font-size:1.15rem;background:#fff!important;color:#0b0d0e!important}
.ajc-thanks2 .ajc-btn-line{background:transparent!important;color:#fff!important;border:2px solid #fff!important}
@media (max-width:30rem){
	.brand{font-size:.82rem;letter-spacing:.02em}
	.tsize{min-width:2.6rem;min-height:2.6rem;padding:0 .55rem}
	.menu summary{padding:0 .9rem}
	.top{gap:.4rem}
}

/* Sign-in is always visible on a phone; the bigger-text switch moves into the menu there */
.login-pill{display:inline-flex;align-items:center;min-height:2.6rem;padding:0 1rem;border-radius:2rem;border:2px solid var(--ink);font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;margin-left:auto}
.top>.tsize{display:none}
.menu-panel .tsize.in-menu{width:100%;margin:.5rem 0 0;justify-content:center;display:flex;align-items:center}
@media (min-width:48rem){.login-pill{display:none}.top>.tsize{display:inline-flex;align-items:center;justify-content:center}.menu-panel .tsize.in-menu{display:none}}
@media (max-width:30rem){
	.top{padding-left:1rem;padding-right:1rem}
	.brand{font-size:.74rem;letter-spacing:.01em}
	.login-pill{padding:0 .85rem;font-size:.95rem;margin-left:auto}
	.menu summary{padding:0 .8rem;font-size:.95rem}
}

/* ===== Extra clear and large for checkout and login ===== */
.ajc-easy{background:#e6f2f0;color:#0b5c53;border-radius:.9rem;padding:.9rem 1rem;font-size:1.08rem;line-height:1.5;margin:.9rem 0}
.ajc-login-hint{font-size:1.08rem;margin:.6rem 0}
.ajc-login-hint a{font-weight:700;color:var(--ink)}
.woocommerce-checkout .form-row label{font-size:1.08rem;font-weight:700;margin-bottom:.35rem}
.woocommerce-checkout input.input-text,.woocommerce-checkout select{min-height:3.4rem;font-size:1.12rem;border:2px solid #b9b6ae;border-radius:.8rem;padding:.6rem .9rem;background:#fff;width:100%}
.woocommerce-checkout input.input-text:focus,.woocommerce-checkout select:focus{outline:4px solid rgba(15,122,111,.25);border-color:var(--accent)}
.woocommerce-checkout .ajc-invoice-toggle label{font-weight:500;display:flex;gap:.6rem;align-items:center;min-height:3rem}
.woocommerce-checkout .ajc-invoice-toggle input{width:1.4rem;height:1.4rem}
.woocommerce-checkout #place_order{min-height:3.6rem;font-size:1.2rem;width:100%}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;border:0;border-radius:.9rem;padding:1rem 1.1rem;margin:0 0 1.25rem;font-size:1.05rem;line-height:1.5}
.woocommerce-message,.woocommerce-info{background:#e6f2f0;color:#0b5c53}
.woocommerce-error{background:#fdf1dc;color:#7a4b00}


/* ===== Accessibility pass: comfortable for any age, including a first-time visitor of 65+ ===== */
:root{--min-tap:3rem}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:1.15rem}
p,li{max-width:70ch}
a{text-decoration-thickness:.08em}
.top-nav a{padding:.4rem .2rem;min-height:var(--min-tap);display:inline-flex;align-items:center}
.foot-grid nav a{padding:.3rem 0;min-height:2.4rem;display:inline-flex;align-items:center}
button,.btn,.button,input[type=submit],input[type=button]{cursor:pointer}
input,select,textarea{font-size:1.08rem!important}
label{font-size:1.05rem}
::selection{background:#cdeae4}

/* ===== Comparison: the three paths ===== */
.compare-grid{display:grid;gap:1.1rem;margin-top:1.75rem}
.cmp{background:#fff;border:1px solid #d9d6cf;border-radius:1rem;padding:1.5rem}
.cmp h3{margin:0 0 .5rem;font-size:1.2rem}
.cmp-cost{font-weight:650;color:#8a6d1f;margin:0 0 .6rem}
.cmp p:not(.cmp-cost){color:#3a3f42;margin:0}
.cmp-main{border:2px solid var(--ink);box-shadow:0 18px 30px -22px rgba(11,13,14,.55);position:relative}
.cmp-main .cmp-cost{color:var(--sea)}
.cmp-main .ptag{margin-bottom:.7rem}
.cmp-main .btn{margin-top:1.1rem}
@media (min-width:56rem){.compare-grid{grid-template-columns:repeat(3,1fr);align-items:stretch}.cmp{display:flex;flex-direction:column}.cmp .btn{margin-top:auto;align-self:flex-start}}

/* ===== What you get / what you never get ===== */
.whatnot-grid{display:grid;gap:2rem;margin:1.75rem 0}
.wn-title{font:700 .78rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 1rem}
.wn-title.ok{color:#7fd4c8}
.wn-title.no{color:#e0a3a3}
.ticks.on-dark li{color:#eceae4}
.ticks.on-dark li::before{background:rgba(127,212,200,.18);color:#7fd4c8}
.band.dark .nots li{color:#eceae4}
@media (min-width:48rem){.whatnot-grid{grid-template-columns:1fr 1fr}}

/* ===== Final CTA ===== */
.cta-final .actions{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem}

/* ===== Who this is for: every experience level, one grid ===== */
.who-grid{display:grid;gap:1.1rem;margin-top:1.75rem}
.who{background:#fff;border:1px solid #d9d6cf;border-radius:1rem;padding:1.4rem}
.who b{display:block;font:700 1.1rem var(--serif);margin-bottom:.5rem}
.who p{color:#3a3f42;margin:0 0 .8rem}
@media (min-width:56rem){.who-grid{grid-template-columns:repeat(4,1fr)}.who{display:flex;flex-direction:column}.who .textlink{margin-top:auto}}

/* ===== The "already managing properties" pain/solution pitch ===== */
.pain-grid{display:grid;gap:1.1rem;margin:1.75rem 0}
.pain{background:#171a1c;border:1px solid #2a2f32;border-radius:1rem;padding:1.4rem}
.pain-q{font:italic 500 1.08rem/1.5 var(--serif);color:#f3f1ec;margin:0 0 .8rem}
.pain-a{color:#c9d9d5;margin:0;font-size:.98rem;line-height:1.6}
.pain-a b{color:#7fd4c8}
.pms-price-note{color:#b9b6ae;font-size:.95rem;margin:0 0 1.25rem}
@media (min-width:56rem){.pain-grid{grid-template-columns:repeat(2,1fr)}.pain:last-child{grid-column:1/-1;max-width:none}}
