/* Aurelia Dragoi 0.28.0 — Lora + responsive stabilization. */
:root {
  --ad-rose:#a76969; --ad-rose-dark:#874a4c; --ad-rose-soft:#d9b9ad;
  --ad-plum:#531d20; --ad-cream:#faf5ef; --ad-cream-2:#f4e9e0;
  --ad-paper:#fffaf6; --ad-blush:#eddacf; --ad-sage:#82836f;
  --ad-ink:#272222; --ad-muted:#655b57; --ad-border:rgba(120,77,62,.14);
  --ad-shadow:0 12px 35px rgba(120,77,62,.055); --ad-container:1320px;
  --ad-font:'Lora',Georgia,'Times New Roman',serif;
  --ad-ui:'Lora',Georgia,'Times New Roman',serif;
  --ad-script:'Lora',Georgia,'Times New Roman',serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body.ad-theme { margin:0; background:var(--ad-cream); color:var(--ad-ink); font:400 17px/1.58 var(--ad-font); -webkit-font-smoothing:antialiased; }
.ad-theme a { color:inherit; text-decoration:none; }
.ad-theme img { display:block; max-width:100%; height:auto; }
.ad-theme button,.ad-theme input,.ad-theme select,.ad-theme textarea { font-family:var(--ad-ui); }
.ad-theme button { cursor:pointer; }
.ad-theme button:disabled { cursor:default; }
.ad-theme :focus-visible { outline:2px solid var(--ad-rose-dark); outline-offset:5px; }
.ad-theme [hidden] { display:none!important; }
.ad-theme h1,.ad-theme h2,.ad-theme h3 { font-family:var(--ad-font); font-weight:500; }
.ad-theme h1,.ad-theme h2,.ad-theme h3,.ad-theme p,.ad-theme figure,.ad-theme blockquote { margin-top:0; }
.ad-theme ::selection { color:var(--ad-plum); background:var(--ad-blush); }
.screen-reader-text { position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ad-skip:focus { clip:auto; width:auto; height:auto; margin:10px; padding:12px 18px; background:#fff; z-index:99999; }
.ad-container { width:min(90.2%,var(--ad-container)); margin-inline:auto; }
.ad-icon { width:22px; height:22px; display:inline-block; flex-shrink:0; vertical-align:middle; }
.ad-eyebrow { color:var(--ad-rose-dark); font-family:var(--ad-ui); letter-spacing:.14em; font-size:clamp(12px,1.18vw,17px); font-weight:600; margin:0 0 13px; }
.ad-script { font-family:var(--ad-script); font-style:italic; font-weight:400; letter-spacing:-.015em; color:var(--ad-rose-dark); }
.ad-btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:clamp(40px,3.75vw,54px); padding:9px clamp(20px,2.1vw,30px); border:1px solid transparent; border-radius:999px; background:linear-gradient(165deg,var(--ad-rose),var(--ad-rose-dark)); color:#fff!important; font-family:var(--ad-ui); font-size:clamp(12px,1.1vw,16px); font-weight:500; line-height:1.3; text-align:center; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.ad-btn:not(:disabled):hover { transform:translateY(-2px); box-shadow:0 7px 18px rgba(119,64,59,.18); background:var(--ad-rose-dark); }
.ad-btn .ad-icon { width:20px; height:20px; }
.ad-btn-ghost { color:var(--ad-rose-dark)!important; border-color:var(--ad-rose-dark); background:rgba(255,251,247,.55); }
.ad-btn-ghost:not(:disabled):hover { color:#fff!important; }
.ad-btn-small { min-height:clamp(34px,3.1vw,44px); padding:8px 23px; font-size:clamp(11px,.98vw,14px); }
.ad-text-link { display:inline-flex; align-items:center; gap:10px; color:var(--ad-rose-dark)!important; font-family:var(--ad-ui); font-size:clamp(12px,1.05vw,15px); font-weight:600; line-height:1.4; }
.ad-text-link .ad-icon { width:18px; height:18px; transition:transform .2s ease; }
.ad-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.ad-text-link:hover .ad-icon { transform:translateX(4px); }

/* Header, native WordPress menus, and search. */
.ad-header { position:sticky; top:0; z-index:1000; background:rgba(250,245,239,.96); transition:box-shadow .2s ease; }
.ad-header.is-scrolled { box-shadow:0 4px 22px rgba(68,38,30,.08); }
.admin-bar .ad-header { top:32px; }
.ad-header-inner { width:min(calc(100% - 48px),1640px); min-height:clamp(58px,5.2vw,78px); display:flex; align-items:center; gap:clamp(14px,1.1vw,22px); }
.ad-brand { display:inline-flex; flex-direction:column; flex-shrink:0; line-height:1; color:#201b1a; }
.ad-brand-name { display:block; white-space:nowrap; font:600 clamp(28px,2.7vw,40px)/1 var(--ad-font); letter-spacing:-.045em; }
.ad-brand-tag { display:block; margin-top:7px; font-family:var(--ad-ui); font-size:clamp(7px,.64vw,9px); line-height:1.3; letter-spacing:.15em; font-weight:500; white-space:nowrap; }
.ad-brand .custom-logo { width:auto; max-width:220px; height:auto; max-height:57px; object-fit:contain; }
.ad-nav { margin-left:auto; }
.ad-nav-list { list-style:none; display:flex; align-items:center; gap:clamp(12px,1vw,18px); margin:0; padding:0; font-family:var(--ad-ui); font-size:clamp(12px,1.04vw,15px); font-weight:600; white-space:nowrap; }
.ad-nav-list>li { display:flex; align-items:center; position:relative; }
.ad-nav-list>li>a { display:block; position:relative; padding:16px 0; }
.ad-nav-list>li>a::after { content:''; position:absolute; left:0; right:0; bottom:9px; height:2px; background:var(--ad-rose-dark); transform:scaleX(0); transition:transform .2s ease; }
.ad-nav-list>li>a:hover,.ad-nav-list .current-menu-item>a,.ad-nav-list .current-menu-ancestor>a { color:var(--ad-rose-dark); }
.ad-nav-list>li>a:hover::after,.ad-nav-list>.current-menu-item>a::after,.ad-nav-list>.current-menu-ancestor>a::after { transform:scaleX(1); }
.ad-submenu-toggle { background:none; border:0; color:inherit; width:24px; height:36px; padding:0; display:grid; place-items:center; margin-right:-9px; }
.ad-submenu-toggle::after { content:''; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s; }
.ad-submenu-toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
.ad-nav .sub-menu { list-style:none; padding:10px; margin:0; position:absolute; top:100%; left:-15px; min-width:220px; background:var(--ad-paper); border:1px solid var(--ad-border); box-shadow:var(--ad-shadow); border-radius:13px; white-space:normal; display:none; font:400 13px/1.5 var(--ad-ui); }
.ad-nav .sub-menu li { position:relative; }
.ad-nav .sub-menu a { display:block; padding:10px 12px; border-radius:7px; }
.ad-nav .sub-menu a:hover { background:var(--ad-cream-2); color:var(--ad-rose-dark); }
.ad-nav .sub-menu .sub-menu { top:0; left:100%; }
.ad-nav li:focus-within>.sub-menu,.ad-nav li:hover>.sub-menu,.ad-nav li.is-submenu-open>.sub-menu { display:block; }
.ad-js .ad-nav li>.sub-menu { display:none; }
.ad-js .ad-nav li.is-submenu-open>.sub-menu { display:block; }
.ad-submenu-toggle:focus-visible { outline-offset:0; }
.ad-header-actions { display:flex; align-items:center; gap:clamp(8px,.8vw,12px); flex-shrink:0; }
.ad-search-toggle,.ad-search-close { display:grid; place-items:center; width:32px; height:40px; border:0; color:var(--ad-ink); background:transparent; padding:0; }
.ad-search-toggle .ad-icon { width:21px; height:21px; }
.ad-booking-btn { min-height:clamp(36px,3.3vw,48px); padding-inline:clamp(16px,1.3vw,22px); font-size:clamp(11px,.99vw,14px); white-space:nowrap; }
/* 0.89.13: social rail follows the booking CTA and uses only brand colors. */
.ad-header-socials{display:flex;align-items:center;gap:5px;flex-shrink:0}
.ad-header-socials--mobile{display:none}
.ad-header-social-link{
  --ad-social-accent:var(--ad-rose);
  position:relative;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(83,29,32,.13);
  border-radius:12px;
  color:var(--ad-plum)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(241,219,212,.56));
  box-shadow:0 5px 14px rgba(83,29,32,.07),inset 0 -2px 0 var(--ad-social-accent);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.ad-header-social-link--facebook{--ad-social-accent:var(--ad-rose)}
.ad-header-social-link--instagram{--ad-social-accent:var(--ad-plum)}
.ad-header-social-link--youtube{--ad-social-accent:var(--ad-rose-dark)}
.ad-header-social-link--tiktok{--ad-social-accent:var(--ad-sage)}
.ad-header-social-link:hover{
  color:#fffaf6!important;
  border-color:var(--ad-social-accent);
  background:linear-gradient(135deg,var(--ad-plum),var(--ad-rose));
  box-shadow:0 9px 22px rgba(83,29,32,.16),inset 0 -2px 0 var(--ad-social-accent);
  transform:translateY(-2px);
}
.ad-header-social-link:focus-visible{outline:3px solid rgba(167,105,105,.25);outline-offset:3px}
.ad-header-social-link .ad-icon{width:17px;height:17px;stroke-width:1.55}
.ad-menu-toggle,.ad-mobile-booking { display:none; }
.ad-header-search { position:absolute; top:100%; left:0; width:100%; padding:22px 0; background:var(--ad-paper); border-top:1px solid var(--ad-border); box-shadow:0 15px 25px rgba(66,42,33,.09); }
.ad-header-search>.ad-container { display:flex; align-items:center; gap:18px; max-width:840px; }
.ad-search-form { display:flex; flex:1; gap:12px; }
.ad-search-form label { flex:1; }
.ad-search-form input { width:100%; height:100%; min-height:45px; padding:11px 18px; border:1px solid var(--ad-border); border-radius:30px; background:#fff; color:var(--ad-ink); }
.ad-nojs-search { padding-block:12px; }

/* Hero: live text and a separate portrait, not a flattened screenshot. */
.ad-home-main { overflow:clip; background:var(--ad-cream); }
.ad-hero { position:relative; isolation:isolate; background:radial-gradient(ellipse at 32% 25%,rgba(255,255,255,.5),transparent 65%),var(--ad-cream); }
.ad-hero::before { content:''; position:absolute; inset:-90px 0 0; z-index:-2; background:url('../images/hero-waves.svg') center/100% 100% no-repeat; pointer-events:none; }
.ad-hero::after { content:''; position:absolute; inset:0; z-index:5; background:url('../images/paper-grain.svg'); opacity:.1; pointer-events:none; mix-blend-mode:multiply; }
.ad-hero-grid { width:min(85.7%,1250px); display:grid; grid-template-columns:50% 50%; min-height:clamp(395px,39.1vw,568px); }
.ad-hero-copy { position:relative; z-index:3; padding:clamp(23px,2.9vw,42px) 20px 24px 0; align-self:center; }
.ad-hero h1 { margin:0 0 14px; font-size:clamp(46px,4.9vw,72px); line-height:.98; letter-spacing:-.035em; color:var(--ad-plum); font-weight:500; }
.ad-hero h1>span { display:block; }
.ad-hero h1 .ad-hero-subtitle { font-size:.86em; line-height:1.1; letter-spacing:-.045em; margin-top:1px; }
.ad-lead { margin:0 0 19px; max-width:96%; color:var(--ad-muted); font:400 clamp(14px,1.32vw,19px)/1.4 var(--ad-font); letter-spacing:.01em; }
.ad-hero-buttons { display:flex; flex-wrap:wrap; gap:13px; }
.ad-benefits { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:12px; padding:0; margin:clamp(24px,2.35vw,34px) 0 0; max-width:96%; }
.ad-benefits li { display:flex; align-items:center; gap:12px; font-size:clamp(11px,.98vw,14px); line-height:1.3; }
.ad-benefits strong { display:block; font-weight:500; }
.ad-benefit-icon { display:grid; place-items:center; width:clamp(38px,3.85vw,56px); height:clamp(38px,3.85vw,56px); flex-shrink:0; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:linear-gradient(135deg,#e9cbbc,#f7ede5); color:#754840; }
.ad-benefit-icon .ad-icon { width:60%; height:60%; stroke-width:1.1; }
.ad-hero-note { display:flex; align-items:center; gap:20px; margin:20px 0 0 18px; font-size:clamp(21px,2.25vw,32px); line-height:.9; transform:rotate(-4deg); }
.ad-hero-note::before { content:''; width:clamp(45px,4.5vw,65px); height:1px; background:var(--ad-rose); flex-shrink:0; }
.ad-hero-visual { position:relative; min-width:0; align-self:stretch; }
.ad-portrait-frame { position:absolute; left:-4%; top:0; width:80%; height:100%; border:5px solid rgba(255,248,240,.9); border-bottom:0; border-radius:52% 52% 0 0 / 37% 37% 0 0; overflow:hidden; box-shadow:0 0 0 1px rgba(143,97,75,.16); background:#c3ad98; }
.ad-portrait-frame .ad-portrait { width:100%; height:100%; object-fit:cover; object-position:47% center; filter:saturate(.84) brightness(1.035); }
.ad-hero-quote { position:absolute; z-index:4; right:-2.5%; top:15%; width:43%; margin:0; padding:clamp(20px,2.2vw,32px) clamp(20px,2.35vw,34px) clamp(16px,1.7vw,24px); border:2px solid rgba(255,255,255,.95); border-radius:19px; background:rgba(249,236,226,.96); box-shadow:0 13px 28px rgba(84,59,43,.1); }
.ad-quote-open { position:absolute; top:4px; left:18px; font:600 clamp(38px,4vw,57px)/1 var(--ad-font); color:var(--ad-rose-dark); }
.ad-hero-quote p { position:relative; margin:8px 0 12px; font:500 clamp(14px,1.43vw,20px)/1.2 var(--ad-font); color:#302522; }
.ad-hero-quote cite { display:block; font:400 clamp(11px,1.08vw,15px)/1.3 var(--ad-font); color:var(--ad-rose-dark); text-align:center; }
.ad-hero-signature { position:absolute; z-index:2; right:-1%; bottom:10%; width:23%; margin:0; font-size:clamp(25px,3vw,43px); line-height:1.02; transform:rotate(-14deg); text-align:center; }
.ad-hero-sprig,.ad-hero-botanical { position:absolute; background:url('../images/botanical.svg') center/contain no-repeat; pointer-events:none; }
.ad-hero-sprig { left:-17%; top:3%; width:24%; height:40%; transform:rotate(-16deg); opacity:.8; z-index:-1; }
.ad-hero-botanical { z-index:1; right:-2.5%; bottom:-2%; width:17%; height:60%; transform:rotate(-8deg); opacity:.85; }

/* Six editorial proof points. */
.ad-stats { position:relative; border-top:2px solid rgba(255,255,255,.85); background:linear-gradient(100deg,#f2e6dc,#f5eae2 45%,#efe2d8); }
.ad-stats-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:clamp(15px,1.65vw,24px) 0 clamp(15px,1.5vw,22px); }
.ad-stat { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 8px; }
.ad-stat+.ad-stat::before { content:''; position:absolute; left:0; bottom:0; height:77%; width:1px; background:rgba(150,95,77,.12); }
.ad-stat-icon { width:clamp(26px,2.65vw,38px); height:clamp(26px,2.65vw,38px); color:var(--ad-rose); margin:0 0 6px; stroke-width:1.6; }
.ad-stat:nth-child(2) .ad-icon,.ad-stat:nth-child(5) .ad-icon { fill:var(--ad-rose); stroke-width:0; }
.ad-stat strong { font-variant-numeric:lining-nums tabular-nums; font:500 clamp(26px,2.7vw,39px)/1 var(--ad-font); color:var(--ad-plum); letter-spacing:-.025em; }
.ad-stat p { margin:4px 0 0; color:var(--ad-muted); font-size:clamp(10px,.98vw,14px); line-height:1.35; }

/* Programs. */
.ad-section { position:relative; padding:clamp(18px,1.8vw,26px) 0; }
.ad-section-head { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:clamp(13px,1.25vw,18px); }
.ad-section-head>div { min-width:0; }
.ad-section h2 { margin:0 0 3px; font-size:clamp(35px,3.5vw,51px); letter-spacing:-.035em; line-height:1.05; color:var(--ad-plum); font-weight:600; }
.ad-section-head p:not(.ad-script) { max-width:680px; margin:0; font-size:clamp(12px,1.14vw,16px); line-height:1.35; color:var(--ad-muted); }
.ad-section-head>.ad-btn { flex-shrink:0; }
.ad-programs { padding-bottom:12px; }
/* 0.17.5 — Homepage reuses the Programs-page cards 1:1 while keeping the homepage section itself unchanged. */
.ad-programs .adp-home-programs-copy{background:transparent!important;overflow:visible!important;padding:22px 0 58px!important}
.ad-programs .adp-home-programs-copy .adp-program-grid{position:relative;z-index:2}
.ad-programs .adp-home-programs-copy .adp-home-programs-shell{width:min(90.2%,1440px);max-width:1440px}
.ad-programs .adp-home-programs-copy .adp-programs-quote-band{position:relative;z-index:2}
.ad-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,1.65vw,24px); }
.ad-course-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.65); border-radius:16px; background:rgba(255,252,248,.68); box-shadow:var(--ad-shadow); transition:transform .24s ease,box-shadow .24s ease; }
.ad-course-card:hover { transform:translateY(-4px); box-shadow:0 18px 35px rgba(120,77,62,.11); }
.ad-card-image { display:block; aspect-ratio:1.98; overflow:hidden; border-radius:14px; }
.ad-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ad-course-card:hover .ad-card-image img { transform:scale(1.035); }
.ad-card-body { position:relative; display:flex; flex-direction:column; flex:1; padding:11px clamp(15px,1.5vw,22px) 16px; }
.ad-program-number { position:absolute; display:grid; place-items:center; top:-24px; left:0; width:49px; height:35px; border-radius:30px 30px 0 0; background:#fffaf6; font:500 20px/1 var(--ad-font); color:var(--ad-plum); }
.ad-course-card h3 { margin:0 0 6px; font-size:clamp(23px,2.08vw,30px); line-height:1.07; letter-spacing:-.025em; color:var(--ad-plum); font-weight:600; }
.ad-card-body>p { margin:0 0 9px; color:var(--ad-muted); font-size:clamp(12px,1.11vw,16px); line-height:1.35; }
.ad-card-body .ad-text-link { margin-top:auto; }


/* WooCommerce products surfaced on the homepage. */
.ad-shop { padding-top:28px; padding-bottom:30px; }
.ad-shop::before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(115deg,rgba(255,255,255,.24),rgba(237,218,207,.2)); border-block:1px solid rgba(255,255,255,.45); pointer-events:none; }
.ad-shop .ad-container { position:relative; z-index:1; }
.ad-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(15px,1.45vw,22px); }
.ad-product-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.75); border-radius:18px; background:rgba(255,252,248,.82); box-shadow:var(--ad-shadow); transition:transform .24s ease,box-shadow .24s ease; }
.ad-product-card:hover { transform:translateY(-4px); box-shadow:0 18px 35px rgba(120,77,62,.11); }
.ad-product-image { position:relative; display:block; flex:0 0 auto; aspect-ratio:auto; background:var(--ad-cream-2); }
.ad-product-image img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; }
.ad-product-placeholder { display:grid; width:100%; height:100%; min-height:240px; place-items:center; color:var(--ad-rose); background:linear-gradient(145deg,var(--ad-cream-2),#fff9f4); }
.ad-product-placeholder svg { width:52px; height:52px; opacity:.75; }
.ad-product-card:hover .ad-product-image img { transform:none; }
.ad-product-image-starter { aspect-ratio:auto; }
.ad-product-image-starter img { display:block; width:100%; height:auto; object-fit:contain; object-position:center; filter:saturate(.78) contrast(.96); }
.ad-product-cover-tint { display:none; }
.ad-product-cover-label { display:none; }
.ad-product-cover-label small { display:none; }
.ad-product-cover-label strong { display:none; }
.ad-product-badge-starter { background:rgba(255,250,246,.93); color:var(--ad-plum); box-shadow:0 4px 14px rgba(80,37,36,.12); }
.ad-product-card-starter .ad-product-body { background:linear-gradient(180deg,rgba(255,252,248,.94),rgba(255,249,244,.82)); }
.ad-product-card-starter .ad-product-image { background:transparent; }
.ad-product-badge { position:absolute; z-index:2; top:12px; left:12px; padding:6px 10px; border-radius:999px; background:var(--ad-rose-dark); color:#fff; font-size:10px; line-height:1; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.ad-product-body { display:flex; flex-direction:column; flex:1; padding:16px 17px 18px; }
.ad-product-card h3 { margin:0 0 7px; font-size:clamp(21px,1.75vw,27px); line-height:1.08; letter-spacing:-.02em; color:var(--ad-plum); font-weight:600; }
.ad-product-body>p { margin:0 0 14px; color:var(--ad-muted); font-size:clamp(11px,.95vw,14px); line-height:1.45; }
.ad-product-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:13px; flex-wrap:wrap; margin-top:auto; }
.ad-product-price { color:var(--ad-plum); font:600 clamp(16px,1.35vw,20px)/1.2 var(--ad-font); white-space:nowrap; }
.ad-product-price del { color:var(--ad-muted); opacity:.65; font-size:.78em; font-weight:400; }
.ad-product-price ins { color:var(--ad-rose-dark); text-decoration:none; }
.ad-product-footer .ad-text-link { font-size:12px; }
.ad-shop-status { grid-column:1/-1; display:flex; align-items:center; gap:16px; min-height:118px; padding:22px 24px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(255,252,248,.74); box-shadow:var(--ad-shadow); color:var(--ad-muted); }
.ad-shop-status-mark { display:grid; flex:0 0 52px; width:52px; height:52px; place-items:center; border-radius:50%; background:var(--ad-cream-2); color:var(--ad-rose-dark); }
.ad-shop-status-mark .ad-icon { width:28px; height:28px; }
.ad-shop-status strong,.ad-shop-status small { display:block; }
.ad-shop-status strong { margin-bottom:4px; color:var(--ad-plum); font:600 clamp(18px,1.55vw,23px)/1.15 var(--ad-font); }
.ad-shop-status small { font-size:12px; line-height:1.45; }
.ad-shop-status.is-fallback { min-height:96px; }

/* Three simple steps; decorative lines never carry information. */
.ad-process { padding-top:12px; padding-bottom:27px; isolation:isolate; }
.ad-process::before { content:''; position:absolute; z-index:-2; inset:0; background:url('../images/process-waves.svg') center bottom/100% 100% no-repeat; }
.ad-process::after { content:''; position:absolute; z-index:-1; right:-30px; bottom:0; width:140px; height:220px; background:url('../images/botanical.svg') center/contain no-repeat; transform:rotate(8deg); opacity:.7; }
.ad-process-note { font-size:clamp(26px,3vw,43px); line-height:.9; text-align:center; transform:rotate(-9deg); margin:0 3px 2px 0; }
.ad-process .ad-container { position:relative; }
.ad-process .ad-container::before { content:''; position:absolute; z-index:-1; left:-95px; bottom:-25px; width:160px; height:150px; background:url('../images/botanical.svg') center/contain no-repeat; transform:rotate(40deg); opacity:.7; }
.ad-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.4vw,20px); padding:0; margin:24px 0 0; }
.ad-step { position:relative; display:flex; align-items:center; gap:12px; min-width:0; padding:21px 18px; background:rgba(255,252,248,.77); border:1px solid rgba(255,255,255,.6); border-radius:29px; box-shadow:var(--ad-shadow); }
.ad-step-number { align-self:flex-start; flex-shrink:0; display:grid; place-items:center; width:clamp(30px,2.85vw,41px); height:clamp(30px,2.85vw,41px); border-radius:50%; background:linear-gradient(130deg,#d6a38c,#ae6f61); color:#fff; font:500 clamp(23px,2.1vw,30px)/1 var(--ad-font); }
.ad-step-icon { display:grid; place-items:center; flex-shrink:0; width:clamp(42px,4.6vw,66px); height:clamp(42px,4.6vw,66px); border-radius:50%; background:#f4e6da; color:#a86d52; }
.ad-step-icon .ad-icon { width:73%; height:73%; stroke-width:.95; }
.ad-step h3 { margin:0 0 6px; font-size:clamp(23px,1.98vw,29px); line-height:1; letter-spacing:-.025em; font-weight:600; }
.ad-step p { margin:0; font-size:clamp(11px,.92vw,13px); line-height:1.45; color:var(--ad-muted); }
.ad-step-connector { position:absolute; z-index:3; width:38px; height:28px; right:-29px; top:40%; color:var(--ad-rose); }

/* Real, configurable testimonials. Navigation is disabled for one entry. */
.ad-testimonials { padding:16px 0 14px; background:linear-gradient(130deg,rgba(255,255,255,.28),#f1e4d9); border-top:1px solid rgba(255,255,255,.5); }
.ad-testimonials>.ad-container { position:relative; }
.ad-testimonials h2 { margin:0 0 10px 5.5%; font-size:clamp(30px,2.95vw,43px); color:var(--ad-ink); }
.ad-testimonials h2 em { color:var(--ad-plum); font-weight:500; }
.ad-testimonial-layout { display:grid; grid-template-columns:72px minmax(0,1.6fr) minmax(0,1fr); gap:18px; align-items:center; }
.ad-slider-controls { display:flex; gap:8px; align-items:center; justify-content:center; }
.ad-slider-arrow { display:grid; place-items:center; width:33px; height:33px; flex-shrink:0; padding:0; border:1px solid #b78371; border-radius:50%; color:var(--ad-rose-dark); background:#fffaf6; transition:background .2s ease; }
.ad-slider-arrow .ad-icon { width:16px; height:16px; }
.ad-slider-prev .ad-icon { transform:rotate(180deg); }
.ad-slider-arrow:not(:disabled):hover { color:white; background:var(--ad-rose); }
.ad-slider-arrow:disabled { opacity:.6; }
.ad-testimonial-card { display:flex; align-items:center; gap:clamp(18px,2.4vw,34px); margin:0; padding:clamp(14px,1.35vw,20px) clamp(19px,2vw,29px); border-radius:29px; background:rgba(255,252,249,.91); border:1px solid rgba(255,255,255,.7); }
.ad-avatar { flex-shrink:0; width:clamp(100px,9.5vw,137px); height:clamp(100px,9.5vw,137px)!important; border-radius:50%; object-fit:cover; }
.ad-avatar-placeholder { display:grid; place-items:center; background:var(--ad-blush); color:var(--ad-rose); }
.ad-avatar-placeholder .ad-icon { width:55%; height:55%; }
.ad-stars { display:flex; gap:3px; margin-bottom:6px; color:#cc913d; }
.ad-stars .ad-icon { width:18px; height:18px; fill:currentColor; stroke-width:0; }
.ad-testimonial-card blockquote { margin:0; }
.ad-testimonial-card blockquote p { font:400 clamp(11px,.99vw,14px)/1.38 var(--ad-ui); margin:0 0 5px; color:var(--ad-muted); }
.ad-testimonial-card figcaption { font-size:clamp(11px,.99vw,14px); line-height:1.35; }
.ad-testimonial-card figcaption strong,.ad-testimonial-card figcaption span { display:block; }
.ad-testimonial-card figcaption strong { font-weight:600; }
.ad-testimonial-card figcaption span { color:var(--ad-muted); }
.ad-testimonial-aside { position:relative; align-self:stretch; min-height:150px; padding:15px 0 0 20px; isolation:isolate; }
.ad-testimonial-aside::after { content:''; position:absolute; z-index:-1; right:-25px; bottom:-20px; width:150px; height:210px; background:url('../images/botanical.svg') center/contain no-repeat; transform:rotate(-16deg); opacity:.7; }
.ad-testimonial-aside .ad-script { position:relative; display:inline-block; margin:0; font-size:clamp(29px,3.5vw,50px); line-height:.96; transform:rotate(-10deg); }
.ad-testimonial-aside>.ad-icon { position:absolute; left:18px; bottom:14px; width:28px; height:35px; transform:rotate(-14deg); color:var(--ad-rose-dark); }
.ad-testimonial-aside>span { position:absolute; bottom:0; right:0; font-size:clamp(9px,.9vw,13px); color:#aa7358; letter-spacing:.075em; line-height:1.6; padding:10px 0 0 14px; background:rgba(246,233,221,.76); }

/* Posts are native WordPress content; newsletter accepts a provider's shortcode. */
.ad-blog { padding:12px 0 36px; }
.ad-blog .ad-section-head { margin-bottom:13px; }
.ad-blog h2 { font-size:clamp(29px,2.55vw,37px); color:var(--ad-ink); }
.ad-blog .ad-section-head p { font-size:clamp(11px,1.02vw,15px); max-width:none; }
.ad-blog .ad-section-head>.ad-btn { font-size:11px; min-height:30px; padding:5px 18px; }
.ad-blog-layout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.06fr); gap:clamp(12px,1.45vw,21px); align-items:stretch; }
.ad-post-card { min-width:0; display:flex; flex-direction:column; border-radius:12px; background:rgba(255,252,249,.82); box-shadow:var(--ad-shadow); overflow:hidden; }
.ad-post-image { display:block; aspect-ratio:2.38; overflow:hidden; border-radius:11px; }
.ad-post-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ad-post-card:hover .ad-post-image img { transform:scale(1.04); }
.ad-post-body { position:relative; padding:15px 17px 12px; display:flex; flex-direction:column; flex:1; }
.ad-category { position:absolute; left:12px; top:-13px; padding:4px 16px; border-radius:20px; background:#fff9f2; font-size:clamp(8px,.66vw,10px); line-height:1.2; font-weight:600; text-transform:uppercase; color:#534037; box-shadow:0 2px 6px rgba(83,53,39,.025); }
.ad-post-card h3 { margin:0 0 9px; font:600 clamp(18px,1.7vw,24px)/1.08 var(--ad-font); letter-spacing:-.015em; }
.ad-post-card .ad-text-link { font-size:clamp(10px,.88vw,13px); gap:6px; margin-top:auto; }
.ad-post-card .ad-text-link .ad-icon { width:15px; height:15px; }
.ad-newsletter { position:relative; overflow:hidden; padding:15px 22px 12px; border-radius:12px; background:linear-gradient(125deg,var(--ad-sage),#737560); color:#fffaf4; isolation:isolate; }
.ad-newsletter::after { content:''; position:absolute; z-index:-1; right:-7px; top:10px; width:70px; height:140px; background:url('../images/leaf-outline.svg') center/contain no-repeat; opacity:.68; transform:rotate(-8deg); }
.ad-newsletter-icon { width:23px; height:23px; margin-bottom:5px; stroke-width:1; }
.ad-newsletter h3 { margin:0 0 5px; font:500 clamp(18px,1.55vw,23px)/1.05 var(--ad-font); letter-spacing:-.025em; }
.ad-newsletter>p { font-size:clamp(10px,.88vw,13px); line-height:1.35; margin:0 0 11px; max-width:93%; }
.ad-newsletter-form { display:flex; flex-direction:column; gap:6px; margin:0; }
.ad-newsletter input[type="email"],.ad-newsletter-provider input[type="email"] { width:100%; min-height:33px; border:1px solid rgba(255,255,255,.7); border-radius:24px; padding:7px 14px; background:#fffaf6; color:#403e37; font-size:clamp(10px,.85vw,12px); line-height:1.3; }
.ad-newsletter input:disabled { opacity:.8; }
.ad-newsletter input::placeholder { color:#78736c; opacity:1; }
.ad-newsletter-form>.ad-btn { width:100%; min-height:32px; padding:5px 12px; border:1px solid rgba(255,255,255,.72); outline:1px solid rgba(108,57,56,.5); outline-offset:2px; font-size:clamp(10px,.83vw,12px); }
.ad-newsletter-form>.ad-btn .ad-icon { width:16px; height:16px; }
.ad-newsletter-form>.ad-btn:disabled { opacity:.75; }
.ad-newsletter>small { display:block; margin-top:9px; font-size:clamp(9px,.74vw,11px); line-height:1.3; text-align:center; color:#fff6ed; }
.ad-newsletter-consent { display:flex; align-items:flex-start; gap:5px; font-size:10px; line-height:1.4; padding-block:4px; }
.ad-newsletter-consent input { margin:1px 0 0; flex-shrink:0; accent-color:var(--ad-rose-dark); }
.ad-newsletter-consent a { text-decoration:underline; }
.ad-newsletter-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.ad-newsletter-provider p { font-size:12px; margin:0 0 7px; }
.ad-newsletter-provider input[type="submit"],.ad-newsletter-provider button[type="submit"] { border:1px solid #fff4; border-radius:999px; min-height:34px; padding:6px 18px; width:100%; color:#fff; background:var(--ad-rose-dark); font:500 12px var(--ad-ui); cursor:pointer; }
.ad-newsletter :focus-visible { outline-color:white; outline-offset:3px; }

/* Footer waves are vector artwork, with all text still selectable. */
.ad-footer { position:relative; z-index:1; margin-top:0; background:linear-gradient(110deg,#a4716b,#936360 70%,#a5726c); color:#fff6ef; padding:27px 0 18px; }
.ad-footer-waves { position:absolute; left:0; right:0; top:-82px; height:83px; background:url('../images/footer-signature.svg') center bottom/100% 100% no-repeat; pointer-events:none; }
.ad-footer-main { display:grid; grid-template-columns:1fr 1fr 1.28fr; gap:20px; align-items:center; }
.ad-footer .ad-brand-name { color:#fff9f2; font-size:clamp(31px,3vw,44px); font-weight:500; }
.ad-footer .ad-brand-tag { font-size:clamp(7px,.68vw,10px); letter-spacing:.13em; }
.ad-footer-tagline { margin:0; font:400 clamp(23px,2.1vw,31px)/1.12 var(--ad-font); text-align:center; }
.ad-footer-links { display:flex; justify-content:flex-end; gap:24px; align-items:center; }
.ad-socials { display:flex; align-items:center; gap:14px; }
.ad-socials:empty { display:none; }
.ad-socials .ad-icon { width:18px; height:18px; }
.ad-socials a { display:grid; place-items:center; width:23px; min-height:30px; transition:transform .2s ease; }
.ad-socials a:hover { transform:translateY(-3px); }
.ad-legal-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px 16px; font-size:clamp(9px,.7vw,11px); }
.ad-socials+.ad-legal-links { border-left:1px solid #efd6c980; padding-left:20px; }
.ad-legal-links a:hover,.ad-footer-menu a:hover { text-decoration:underline; text-underline-offset:3px; }
.ad-footer-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding-top:24px; opacity:.83; }
.ad-footer-bottom small { font-size:clamp(9px,.78vw,11px); }
.ad-footer-note { margin-left:auto; display:flex; align-items:center; gap:12px; }
.ad-footer-note .ad-icon { width:15px; height:15px; fill:currentColor; stroke-width:0; }
.ad-footer-menu { display:flex; flex-wrap:wrap; gap:15px; padding:0; margin:0; list-style:none; font-size:11px; }
.ad-footer :focus-visible { outline-color:white; }

/* Existing page, article, search and commerce templates share the same skin. */
.ad-page { min-height:65vh; padding:70px 0 140px; background:linear-gradient(var(--ad-cream),#fffaf5); }
.ad-narrow { max-width:940px; }
.ad-page-head { margin-bottom:35px; }
.ad-page h1 { font-size:clamp(40px,4.4vw,64px); color:var(--ad-plum); line-height:1.1; letter-spacing:-.025em; margin:0; }
.ad-content-grid { max-width:940px; }
.ad-loop-card { margin:0 0 40px; padding-bottom:40px; border-bottom:1px solid var(--ad-border); }
.ad-loop-card h2 { margin:15px 0 10px; font-size:36px; line-height:1.15; }
.ad-loop-card>a>img,.ad-single-image img { width:100%; margin-bottom:24px; border-radius:20px; }
.ad-entry-content { font:400 17px/1.75 var(--ad-ui); overflow-wrap:break-word; }
.ad-entry-content h2 { font-size:36px; line-height:1.2; }
.ad-entry-content h3 { font-size:29px; line-height:1.2; }
.ad-entry-content a { color:var(--ad-rose-dark); text-decoration:underline; text-underline-offset:3px; }
.ad-entry-content .wp-block-button__link { background:var(--ad-rose-dark); border-radius:999px; color:#fff; text-decoration:none; }
.ad-entry-content .alignwide { max-width:1200px; }
.ad-entry-content iframe { max-width:100%; }
.ad-entry-content table { width:100%; border-collapse:collapse; }
.ad-entry-content th,.ad-entry-content td { padding:12px; border:1px solid var(--ad-border); }
.ad-entry-content input:not([type="checkbox"]):not([type="radio"]),.ad-entry-content textarea { max-width:100%; }
.ad-404 { text-align:center; padding-block:70px; }
.ad-404 .ad-btn { margin-top:20px; }
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button { background:var(--ad-rose-dark)!important; color:#fff!important; border-radius:999px!important; font-family:var(--ad-ui)!important; }
.woocommerce div.product .product_title { font-family:var(--ad-font); font-size:44px; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--ad-rose); }

/* Medium desktop: keep six navigation links without squeezing the hero. */
@media (min-width:951px) and (max-width:1150px) {
  /* Cormorant + approved menu/CTA sizes need slightly more horizontal room. */
  .ad-header-inner { width:96%; gap:10px; }
  .ad-nav-list { gap:10px; }
  .ad-brand-name { font-size:29px; }
  .ad-brand-tag { font-size:7px; }
  .ad-header-actions { gap:7px; }
  .ad-booking-btn { padding-inline:12px; gap:6px; }
  .ad-booking-btn .ad-icon { width:15px; }
  .ad-header-socials--desktop{gap:3px}
  .ad-header-socials--desktop .ad-header-social-link{width:28px;height:28px;border-radius:9px}
  .ad-header-socials--desktop .ad-icon{width:14px;height:14px}
  .ad-step { padding:16px 12px; gap:9px; }
  .ad-testimonial-layout { grid-template-columns:62px minmax(0,1.7fr) minmax(0,1fr); gap:13px; }
  .ad-slider-controls { gap:5px; }
  .ad-slider-arrow { width:29px; height:29px; }
  .ad-testimonial-aside { padding-left:10px; }
  .ad-footer-links { flex-wrap:wrap; gap:8px; }
}
/* Keep the expanded desktop header compact enough for the four social controls. */
@media (min-width:951px) and (max-width:1280px) {
  .ad-header-inner{width:96%;gap:10px}
  .ad-nav-list{gap:10px}
  .ad-header-actions{gap:7px}
  .ad-booking-btn{padding-inline:12px;gap:6px}
  .ad-header-socials--desktop{gap:3px}
  .ad-header-socials--desktop .ad-header-social-link{width:28px;height:28px;border-radius:9px}
  .ad-header-socials--desktop .ad-icon{width:14px;height:14px}
}

/* 0.89.15: adaptive header. The full horizontal navigation is reserved for
   genuinely wide screens; laptops/tablets use the complete accessible drawer
   instead of allowing menu/actions to overflow the viewport. */
@media (min-width:1681px) and (max-width:1900px) {
  .ad-brand-name{font-size:36px}
  .ad-nav-list{gap:12px}
  .ad-header-actions{gap:8px}
  .ad-booking-btn{padding-inline:18px;gap:7px}
  .ad-header-socials--desktop{gap:4px}
  .ad-header-socials--desktop .ad-header-social-link{width:30px;height:30px;border-radius:10px}
  .ad-header-socials--desktop .ad-icon{width:15px;height:15px}
}
/* 0.89.20: center the primary navigation in the usable gap between the
   brand and the actions rail. The flexible middle track begins after the logo
   and ends exactly where the Search/Cart/Account group starts. */
@media (min-width:1681px) {
  .ad-header-inner{
    display:grid;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    align-items:center;
  }
  .ad-brand{justify-self:start}
  .ad-nav{margin:0;justify-self:center}
  .ad-header-actions{justify-self:end}
}
@media (min-width:951px) and (max-width:1680px) {
  .ad-header-inner{width:min(calc(100% - 40px),1560px);min-height:70px;gap:14px;flex-wrap:wrap}
  .ad-header-actions{margin-left:auto;gap:8px}
  .ad-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:9px;border:0;background:transparent}
  .ad-menu-toggle span{width:22px;height:1.5px;background:var(--ad-plum);transition:transform .2s ease,opacity .2s ease}
  .ad-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .ad-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .ad-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .ad-nav{order:3;width:100%;margin:0;padding:15px 0}
  .ad-js .ad-nav{display:none;position:absolute;top:100%;left:0;width:100%;max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;padding:18px max(5%,24px) 28px;background:var(--ad-paper);box-shadow:0 12px 20px rgba(87,48,39,.08);border-top:1px solid var(--ad-border)}
  .ad-js .ad-nav.is-open{display:block}
  .ad-nav-list{display:block;font:600 18px/1.4 var(--ad-ui);white-space:normal}
  .ad-nav-list>li{flex-wrap:wrap;border-bottom:1px solid var(--ad-border)}
  .ad-nav-list>li>a{flex:1;padding:12px 0}
  .ad-nav-list>li>a::after{display:none}
  .ad-submenu-toggle{width:44px;height:44px;margin:0}
  .ad-nav .sub-menu{display:block;position:static;min-width:0;width:100%;box-shadow:none;border:0;border-radius:0;padding:0 0 12px 12px;background:transparent}
  .ad-js .ad-nav .sub-menu{display:none}
  .ad-js .ad-nav li.is-submenu-open>.sub-menu{display:block}
  .ad-js .ad-nav li:not(.is-submenu-open):hover>.sub-menu{display:none}
  .ad-mobile-booking{display:inline-flex;margin-top:22px;font-size:14px}
  .ad-header-socials--desktop{display:none}
  .ad-header-socials--mobile{display:flex;margin-top:12px;gap:9px}
  .ad-header-socials--mobile .ad-header-social-link{width:42px;height:42px;border-radius:13px}
  .ad-header-socials--mobile .ad-icon{width:19px;height:19px}
  body.ad-menu-open{overflow:hidden}
}
@media (max-width:950px) {
  .ad-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ad-header-inner { width:90.2%; min-height:70px; gap:20px; flex-wrap:wrap; }
  .ad-header-actions { margin-left:auto; gap:12px; }
  .ad-brand-name { font-size:33px; }
  .ad-brand-tag { font-size:8px; }
  .ad-menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:9px; border:0; background:transparent; }
  .ad-menu-toggle span { width:22px; height:1.5px; background:var(--ad-plum); transition:transform .2s ease,opacity .2s ease; }
  .ad-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
  .ad-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .ad-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
  .ad-nav { order:3; width:100%; margin:0; padding:15px 0; }
  .ad-js .ad-nav { display:none; position:absolute; top:100%; left:0; width:100%; max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; padding:16px 5% 26px; background:var(--ad-paper); box-shadow:0 12px 20px rgba(87,48,39,.08); border-top:1px solid var(--ad-border); }
  .ad-js .ad-nav.is-open { display:block; }
  .ad-nav-list { display:block; font:600 18px/1.4 var(--ad-ui); white-space:normal; }
  .ad-nav-list>li { flex-wrap:wrap; border-bottom:1px solid var(--ad-border); }
  .ad-nav-list>li>a { flex:1; padding:12px 0; }
  .ad-nav-list>li>a::after { display:none; }
  .ad-submenu-toggle { width:44px; height:44px; margin:0; }
  .ad-nav .sub-menu { display:block; position:static; min-width:0; width:100%; box-shadow:none; border:0; border-radius:0; padding:0 0 12px 12px; background:transparent; }
  .ad-js .ad-nav .sub-menu { display:none; }
  .ad-js .ad-nav li.is-submenu-open>.sub-menu { display:block; }
  .ad-js .ad-nav li:not(.is-submenu-open):hover>.sub-menu { display:none; }
  .ad-mobile-booking { display:inline-flex; margin-top:22px; font-size:14px; }
  .ad-header-socials--desktop{display:none}
  .ad-header-socials--mobile{display:flex;margin-top:12px;gap:9px}
  .ad-header-socials--mobile .ad-header-social-link{width:42px;height:42px;border-radius:13px}
  .ad-header-socials--mobile .ad-icon{width:19px;height:19px}
  body.ad-menu-open { overflow:hidden; }
  .ad-hero-grid { width:90.2%; min-height:400px; }
  .ad-hero-copy { padding-right:12px; }
  .ad-hero h1 { font-size:43px; }
  .ad-hero .ad-eyebrow { font-size:11px; }
  .ad-hero-buttons { gap:8px; }
  .ad-hero-buttons .ad-btn { font-size:11px; padding:9px 17px; min-height:38px; }
  .ad-hero-buttons .ad-icon { width:15px; }
  .ad-benefits { gap:7px; }
  .ad-benefits li { gap:6px; font-size:10px; }
  .ad-benefit-icon { width:32px; height:32px; }
  .ad-hero-note { font-size:22px; margin-left:0; gap:12px; }
  .ad-hero-quote { padding:24px 17px 18px; right:-1%; width:45%; border-radius:15px; }
  .ad-hero-signature { font-size:27px; right:0; }
  .ad-section h2 { font-size:35px; }
  .ad-section-head { gap:20px; }
  .ad-section-head p:not(.ad-script) { font-size:13px; }
  .ad-card-grid { gap:15px; }
  .ad-card-body { padding:12px 14px 15px; }
  .ad-course-card h3 { font-size:24px; }
  .ad-card-body>p { font-size:12px; }
  .ad-steps { gap:13px; }
  .ad-step { flex-wrap:wrap; padding:16px; gap:10px; border-radius:22px; }
  .ad-step>div { flex-basis:100%; }
  .ad-step-icon { width:44px; height:44px; }
  .ad-step-number { align-self:center; }
  .ad-step p { font-size:12px; }
  .ad-step-connector { top:50%; right:-26px; width:34px; }
  .ad-testimonial-layout { grid-template-columns:65px minmax(0,1fr); gap:16px; }
  .ad-testimonial-aside { display:none; }
  .ad-testimonials h2 { margin-left:0; font-size:33px; }
  .ad-testimonial-card { padding:18px 24px; }
  .ad-testimonial-card blockquote p,.ad-testimonial-card figcaption { font-size:13px; }
  .ad-blog-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .ad-post-card h3 { font-size:24px; }
  .ad-post-card .ad-text-link { font-size:13px; }
  .ad-category { font-size:9px; }
  .ad-newsletter { padding:20px 25px; }
  .ad-newsletter h3 { font-size:25px; }
  .ad-newsletter>p { font-size:13px; }
  .ad-newsletter input[type="email"],.ad-newsletter-provider input[type="email"] { min-height:39px; font-size:12px; }
  .ad-newsletter-form>.ad-btn { min-height:37px; font-size:12px; }
  .ad-newsletter>small { font-size:11px; margin-top:13px; }
  .ad-footer-main { grid-template-columns:1fr 1fr; }
  .ad-footer-links { grid-column:1/-1; justify-content:space-between; padding-top:10px; }
  .ad-legal-links { justify-content:flex-start; font-size:11px; }
  .ad-footer .ad-brand-name { font-size:35px; }
  .ad-footer-tagline { font-size:26px; text-align:right; }
  .ad-footer-bottom { padding-top:20px; }
}
@media (max-width:782px) { .admin-bar .ad-header { top:46px; } }
@media (max-width:767px) {
  .ad-booking-btn { display:none; }
  .ad-hero-grid { grid-template-columns:minmax(0,1fr); min-height:0; }
  .ad-hero-copy { padding:30px 0 0; width:100%; max-width:580px; justify-self:center; }
  .ad-hero .ad-eyebrow { font-size:12px; margin-bottom:16px; }
  .ad-hero h1 { font-size:clamp(48px,8.1vw,64px); margin-bottom:17px; line-height:1; }
  .ad-hero h1 .ad-hero-subtitle { font-size:.86em; line-height:1.04; }
  .ad-lead { max-width:95%; font:400 16px/1.45 var(--ad-ui); letter-spacing:0; margin-bottom:22px; }
  .ad-hero-buttons { gap:10px; }
  .ad-hero-buttons .ad-btn { padding:13px 20px; font-size:13px; min-height:46px; }
  .ad-benefits { margin-top:26px; max-width:100%; gap:12px; }
  .ad-benefits li { font-size:12px; gap:9px; }
  .ad-benefit-icon { width:40px; height:40px; }
  .ad-hero-note { margin-top:25px; font-size:27px; justify-content:center; line-height:.93; gap:17px; }
  .ad-hero-note::before { width:40px; }
  .ad-hero-visual { height:clamp(380px,80vw,490px); margin-top:28px; width:100%; max-width:540px; justify-self:center; }
  .ad-portrait-frame { left:4%; width:77%; border-width:5px; border-bottom:0; }
  .ad-hero-quote { right:0; top:12%; width:42%; max-width:220px; padding:26px 20px 18px; }
  .ad-hero-quote p { font-size:16px; line-height:1.15; }
  .ad-hero-quote cite { font-size:13px; }
  .ad-quote-open { font-size:43px; }
  .ad-hero-sprig { left:-3%; top:0; width:25%; height:40%; }
  .ad-hero-signature { font-size:30px; right:0; bottom:12%; width:20%; }
  .ad-hero-botanical { width:110px; height:270px; right:-35px; bottom:0; }
  .ad-hero::before { background-size:auto 100%; }
  .ad-stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); padding:8px 0; }
  .ad-stat { padding:16px 5px; }
  .ad-stat:nth-child(-n+3) { border-bottom:1px solid var(--ad-border); }
  .ad-stat+.ad-stat::before { height:65%; bottom:15%; }
  .ad-stat:nth-child(4)::before { display:none; }
  .ad-stat strong { font-size:30px; }
  .ad-stat-icon { width:28px; height:28px; margin-bottom:6px; }
  .ad-stat p { font-size:10px; line-height:1.5; }
  .ad-section { padding-block:28px; }
  .ad-section-head { flex-wrap:wrap; align-items:flex-start; gap:14px; margin-bottom:20px; }
  .ad-section h2 { font-size:38px; margin-bottom:8px; line-height:1.04; }
  .ad-section-head p:not(.ad-script) { font-size:14px; line-height:1.45; }
  .ad-section-head>.ad-btn { min-height:36px; font-size:12px; padding:8px 18px; }
  .ad-card-grid { grid-template-columns:1fr; gap:23px; }
  .ad-card-image { aspect-ratio:2.05; }
  .ad-course-card { border-radius:17px; }
  .ad-card-body { padding:17px 22px 21px; }
  .ad-course-card h3 { font-size:30px; margin-bottom:9px; }
  .ad-card-body>p { font-size:14px; line-height:1.5; margin-bottom:13px; }
  .ad-program-number { width:55px; height:38px; top:-26px; font-size:23px; }
  .ad-text-link { font-size:14px; }
  .ad-process { padding-top:7px; }
  .ad-process-note { font-size:30px; text-align:left; margin:6px 0 0 auto; line-height:.95; }
  .ad-process .ad-section-head { gap:12px; margin-bottom:0; }
  .ad-steps { grid-template-columns:1fr; gap:20px; margin-top:23px; }
  .ad-step { flex-wrap:nowrap; align-items:center; padding:22px 20px; gap:13px; border-radius:25px; }
  .ad-step>div { flex-basis:auto; min-width:0; }
  .ad-step-number { align-self:flex-start; width:32px; height:32px; font-size:25px; }
  .ad-step-icon { width:52px; height:52px; }
  .ad-step h3 { font-size:28px; margin-bottom:7px; }
  .ad-step p { font-size:13px; line-height:1.45; }
  .ad-step-connector { top:auto; bottom:-24px; right:28px; transform:rotate(80deg); width:33px; }
  .ad-testimonials { padding:25px 0; }
  .ad-testimonials h2 { font-size:34px; margin-bottom:18px; max-width:95%; }
  .ad-testimonial-layout { grid-template-columns:minmax(0,1fr); gap:14px; }
  .ad-slider-controls { order:2; gap:12px; }
  .ad-slider-arrow { width:36px; height:36px; }
  .ad-testimonial-card { gap:18px; padding:20px; border-radius:24px; align-items:flex-start; }
  .ad-avatar { width:80px; height:80px!important; }
  .ad-testimonial-card blockquote p { font-size:13px; line-height:1.5; }
  .ad-testimonial-card figcaption { font-size:12px; margin-top:9px; }
  .ad-stars .ad-icon { width:16px; height:16px; }
  .ad-blog { padding-top:27px; padding-bottom:54px; }
  .ad-blog h2 { font-size:34px; }
  .ad-blog .ad-section-head { margin-bottom:22px; }
  .ad-blog .ad-section-head p { font-size:13px; }
  .ad-post-body { padding:19px 20px 18px; }
  .ad-post-card h3 { font-size:25px; margin-bottom:12px; }
  .ad-newsletter h3 { font-size:28px; }
  .ad-newsletter { padding:25px; }
  .ad-newsletter::after { width:90px; height:170px; }
  .ad-newsletter-icon { width:26px; height:26px; margin-bottom:10px; }
  .ad-newsletter>p { max-width:90%; font-size:14px; margin-bottom:17px; }
  .ad-newsletter-form { gap:9px; }
  .ad-newsletter input[type="email"],.ad-newsletter-provider input[type="email"] { min-height:44px; font-size:13px; }
  .ad-newsletter-form>.ad-btn { min-height:41px; font-size:13px; }
  .ad-newsletter-consent { font-size:11px; }
  .ad-footer { padding:18px 0 23px; }
  .ad-footer-waves { height:56px; top:-55px; background-size:auto 100%; }
  .ad-footer-main { gap:26px; }
  .ad-footer-tagline { font-size:24px; }
  .ad-footer .ad-brand-name { font-size:33px; }
  .ad-footer .ad-brand-tag { font-size:7px; }
  .ad-footer-links { flex-wrap:wrap; gap:15px; }
  .ad-footer-bottom { align-items:flex-start; flex-direction:column; gap:13px; }
  .ad-footer-note { margin:0; }
  .ad-footer-bottom small { font-size:10px; }
  .ad-page { padding:40px 0 100px; }
  .ad-page h1 { font-size:43px; }
  .ad-entry-content { font-size:16px; }
}
@media (max-width:540px) {
  .ad-product-grid { grid-template-columns:1fr; }
  .ad-product-image { aspect-ratio:auto; }
  .ad-product-body { padding:18px 20px 20px; }
  .ad-product-card h3 { font-size:29px; }
  .ad-product-body>p { font-size:14px; }
  .ad-product-footer .ad-text-link { font-size:14px; }
  .ad-container,.ad-header-inner,.ad-hero-grid { width:calc(100% - 38px); }
  .ad-header-inner { min-height:68px; }
  .ad-brand-name { font-size:31px; }
  .ad-brand-tag { font-size:7px; }
  .ad-header-actions { gap:5px; }
  .ad-hero h1 { font-size:48px; }
  .ad-hero h1 .ad-hero-subtitle { font-size:.84em; max-width:380px; }
  .ad-hero-buttons { display:grid; grid-template-columns:1fr; }
  .ad-hero-buttons .ad-btn { font-size:14px; min-height:45px; }
  .ad-benefits { gap:5px; }
  .ad-benefits li { font-size:10px; gap:6px; }
  .ad-benefit-icon { width:33px; height:33px; }
  .ad-hero-note { font-size:25px; }
  .ad-hero-visual { height:385px; }
  .ad-portrait-frame { left:0; width:82%; }
  .ad-hero-quote { width:47%; padding:24px 16px 15px; }
  .ad-hero-quote p { font-size:15px; }
  .ad-hero-signature { font-size:23px; bottom:9%; right:0; width:23%; transform:rotate(-10deg); }
  .ad-stat p { font-size:9px; }
  .ad-step { gap:10px; padding:21px 16px; }
  .ad-step-icon { width:46px; height:46px; }
  .ad-step p { font-size:12px; }
  .ad-step-number { width:29px; height:29px; }
  .ad-section h2 { font-size:36px; }
  .ad-testimonial-card { flex-direction:column; gap:12px; }
  .ad-avatar { width:78px; height:78px!important; }
  .ad-testimonial-card blockquote p { font-size:14px; }
  .ad-testimonial-card { position:relative; }
  .ad-testimonial-card .ad-stars { position:absolute; top:47px; left:118px; }
  .ad-testimonial-card .ad-stars .ad-icon { width:20px; height:20px; }
  .ad-blog-layout { grid-template-columns:1fr; }
  .ad-post-image { aspect-ratio:2.3; }
  .ad-post-card h3 { font-size:27px; }
  .ad-footer-main { grid-template-columns:1fr; text-align:center; justify-items:center; gap:24px; }
  .ad-footer-tagline { text-align:center; font-size:29px; }
  .ad-footer-links { justify-content:center; }
  .ad-socials { justify-content:center; }
  .ad-socials+.ad-legal-links { border-left:0; padding-left:0; }
  .ad-legal-links { justify-content:center; }
  .ad-footer-bottom { align-items:center; text-align:center; }
  .ad-search-form { gap:8px; }
  .ad-search-form input { font-size:13px; min-width:0; padding:10px 13px; }
  .ad-search-form .ad-btn { padding:10px 15px; gap:7px; }
  .ad-search-form .ad-btn .ad-icon { display:none; }
  .ad-header-search>.ad-container { gap:8px; }
}
@media (max-width:360px) {
  .ad-container,.ad-header-inner,.ad-hero-grid { width:calc(100% - 30px); }
  .ad-brand-name { font-size:27px; }
  .ad-brand-tag { font-size:6px; }
  .ad-hero h1 { font-size:44px; }
  .ad-benefits li { flex-direction:column; text-align:center; font-size:11px; }
  .ad-hero-quote { width:49%; }
  .ad-hero-signature { font-size:20px; }
  .ad-section h2 { font-size:33px; }
}
@media (max-width:600px) { .admin-bar .ad-header { top:0; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .ad-theme *,.ad-theme *::before,.ad-theme *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
@media print {
  .ad-header,.ad-footer,.ad-hero-visual,.ad-slider-controls,.ad-newsletter { display:none!important; }
  .ad-theme,.ad-home-main { color:#000; background:#fff; }
  .ad-container { width:100%; }
  .ad-hero-grid { display:block; }
  .ad-card-grid,.ad-product-grid,.ad-steps,.ad-blog-layout { display:block; }
  .ad-course-card,.ad-product-card,.ad-post-card,.ad-step { break-inside:avoid; box-shadow:none; margin-bottom:20px; }
}

.ad-stat strong,.ad-program-number,.ad-step-number { font-variant-numeric:lining-nums tabular-nums; font-feature-settings:"lnum" 1,"tnum" 1; }
@media(max-width:767px){.ad-stat p{font-size:10.5px}}
html:not(.ad-js) .ad-menu-toggle,html:not(.ad-js) .ad-search-toggle { display:none; }

/* 0.8.0 — Elementor homepage bridge. The page itself is assembled in Elementor;
   Aurelia widgets continue to use the theme's native, responsive visual system. */
.ad-elementor-home { overflow:hidden; background:var(--ad-cream); }
.ad-elementor-home > .elementor { width:100%; }
.ad-elementor-home .elementor-widget-aurelia-hero > .elementor-widget-container,
.ad-elementor-home .elementor-widget-aurelia-stats > .elementor-widget-container,
.ad-elementor-home .elementor-widget-aurelia-programs > .elementor-widget-container,
.ad-elementor-home .elementor-widget-aurelia-shop > .elementor-widget-container,
.ad-elementor-home .elementor-widget-aurelia-process > .elementor-widget-container,
.ad-elementor-home .elementor-widget-aurelia-testimonial > .elementor-widget-container,
.ad-elementor-home .elementor-widget-aurelia-articles > .elementor-widget-container { margin:0; padding:0; }
.ad-elementor-home .aeh-shell.e-con { --container-max-width:100%; width:100%; max-width:none; padding:0; margin:0; gap:0; }
.elementor-editor-active .ad-elementor-home [data-elementor-type="wp-page"] { min-height:300px; }


/* 0.9.2: show the full product image and keep the title only in the body */
.ad-product-card .wp-post-image,
.ad-product-card img { max-width:100%; }
.ad-product-card .ad-product-image { line-height:0; }

/* 0.9.3: restore larger product cards while keeping full images and title only below */
.ad-product-card { min-height:100%; }
.ad-product-body { padding:18px 18px 20px; }

/* 0.9.5: preserve the complete artwork in every homepage product card.
   The inset protects image corners from the rounded card; badges have their
   own row instead of covering the image. Scoped to Aurelia product cards. */
.ad-product-card .ad-product-image,
.ad-product-card .ad-product-image-starter {
  display:block;
  flex:0 0 auto !important;
  box-sizing:border-box;
  width:100% !important;
  min-width:0;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  padding:12px;
  border-radius:0;
  overflow:visible;
}
.ad-product-card .ad-product-image img,
.ad-product-card .ad-product-image-starter img,
.ad-product-card .ad-product-image .wp-post-image {
  display:block;
  position:static;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  margin:0;
  border-radius:0;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
.ad-product-card .ad-product-image .ad-product-badge {
  position:static;
  display:table;
  max-width:100%;
  margin:0 0 10px;
  line-height:1.25;
}

/* 0.9.6: larger product image frames, while preserving the full image. */
@media (min-width: 951px) {
  .ad-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2vw,30px); }
}
.ad-product-card .ad-product-image,
.ad-product-card .ad-product-image-starter {
  padding:18px;
  min-height:clamp(340px,32vw,500px) !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ad-product-card .ad-product-image img,
.ad-product-card .ad-product-image-starter img,
.ad-product-card .ad-product-image .wp-post-image {
  width:100% !important;
  height:100% !important;
  max-height:470px !important;
  object-fit:contain !important;
}
@media (max-width:950px) {
  .ad-product-card .ad-product-image,
  .ad-product-card .ad-product-image-starter { min-height:420px !important; }
}
@media (max-width:540px) {
  .ad-product-card .ad-product-image,
  .ad-product-card .ad-product-image-starter { min-height:440px !important; padding:14px; }
  .ad-product-card .ad-product-image img,
  .ad-product-card .ad-product-image-starter img,
  .ad-product-card .ad-product-image .wp-post-image { max-height:410px !important; }
}

/* 0.9.7: large, natural product artwork without oversized empty frames. */
.ad-product-card .ad-product-image,
.ad-product-card .ad-product-image-starter {
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:10px !important;
  overflow:hidden;
  background:transparent;
}
.ad-product-card .ad-product-image img,
.ad-product-card .ad-product-image-starter img,
.ad-product-card .ad-product-image .wp-post-image {
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  margin:0 auto;
  object-fit:contain !important;
  object-position:center !important;
}
.ad-product-card .ad-product-image .ad-product-badge {
  margin:0 0 8px;
}
@media (min-width:951px) {
  .ad-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2vw,30px); }
}
@media (max-width:540px) {
  .ad-product-card .ad-product-image,
  .ad-product-card .ad-product-image-starter { min-height:0 !important; padding:8px !important; }
}

/* 0.9.8: single-row premium product rail with complete, uncropped artwork. */
.ad-shop .ad-product-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.55vw,24px);
  align-items:stretch;
}
.ad-shop .ad-product-card {
  min-width:0;
  border:1px solid rgba(113,68,56,.10);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,253,250,.94);
  box-shadow:0 10px 28px rgba(80,48,40,.07);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.ad-shop .ad-product-card:hover {
  transform:translateY(-5px);
  border-color:rgba(145,82,73,.20);
  box-shadow:0 18px 42px rgba(80,48,40,.11);
}
.ad-shop .ad-product-card .ad-product-image,
.ad-shop .ad-product-card .ad-product-image-starter {
  position:relative;
  display:flex !important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:calc(100% - 24px) !important;
  aspect-ratio:16 / 10 !important;
  min-height:0 !important;
  height:auto !important;
  margin:12px 12px 0;
  padding:0 !important;
  overflow:hidden;
  border-radius:16px;
  background:linear-gradient(145deg,#f8f2ec 0%,#fffaf6 100%);
}
.ad-shop .ad-product-card .ad-product-image img,
.ad-shop .ad-product-card .ad-product-image-starter img,
.ad-shop .ad-product-card .ad-product-image .wp-post-image {
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  max-height:100% !important;
  margin:0 auto;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
.ad-shop .ad-product-card .ad-product-image .ad-product-badge {
  position:absolute;
  z-index:2;
  top:10px;
  left:10px;
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:calc(100% - 20px);
  margin:0;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:999px;
  color:#fff;
  background:rgba(121,61,58,.92);
  box-shadow:0 5px 16px rgba(61,31,28,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-size:9px;
  line-height:1.1;
  letter-spacing:.055em;
}
.ad-shop .ad-product-card .ad-product-badge-starter {
  color:#fff;
  background:rgba(121,61,58,.92);
}
.ad-shop .ad-product-body {
  padding:18px 18px 19px;
}
.ad-shop .ad-product-card h3 {
  margin-bottom:8px;
  font-size:clamp(20px,1.55vw,25px);
  line-height:1.08;
}
.ad-shop .ad-product-body>p {
  margin-bottom:16px;
  font-size:13px;
  line-height:1.5;
}
.ad-shop .ad-product-footer {
  padding-top:2px;
  border-top:1px solid rgba(113,68,56,.08);
  padding-top:13px;
}
.ad-shop .ad-product-footer .ad-text-link {
  font-size:12px;
}

/* Keep one visual row on narrower screens too; cards become a refined snap rail. */
@media (max-width:1100px) {
  .ad-shop .ad-product-grid {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(290px,42vw);
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 18px;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  .ad-shop .ad-product-card { scroll-snap-align:start; }
}
@media (max-width:620px) {
  .ad-shop .ad-product-grid {
    grid-auto-columns:min(84vw,360px);
    gap:14px;
  }
  .ad-shop .ad-product-card .ad-product-image,
  .ad-shop .ad-product-card .ad-product-image-starter {
    width:calc(100% - 20px) !important;
    margin:10px 10px 0;
    border-radius:14px;
  }
  .ad-shop .ad-product-body { padding:16px 16px 18px; }
  .ad-shop .ad-product-card h3 { font-size:23px; }
}

/* 0.65.0: homepage Shop cards use the same approved visual system as the Shop reference cards. */
html body.home .ad-shop .ad-product-grid,
html body.page-template-default .ad-shop .ad-product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:38px 24px;
  align-items:start;
}
html body.home .ad-shop .ad-home-shop-card,
html body.page-template-default .ad-shop .ad-home-shop-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none;
  transition:transform .22s ease;
}
html body.home .ad-shop .ad-home-shop-card:hover,
html body.page-template-default .ad-shop .ad-home-shop-card:hover{
  transform:translateY(-3px);
  box-shadow:none!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__media,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__media{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  aspect-ratio:1 / 1.385;
  border-radius:46% 46% 10px 10px / 13% 13% 10px 10px!important;
  background:linear-gradient(180deg,#f2ebe3 0%,#ebe3da 100%)!important;
  box-shadow:0 14px 28px rgba(39,41,52,.07)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__media::after,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(223,216,208,.75);
  border-radius:inherit;
  pointer-events:none;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image{
  display:block;
  width:100%;
  height:100%;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image img,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image img,
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image .wp-post-image,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image .wp-post-image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  transition:transform .35s ease,filter .25s ease;
}
html body.home .ad-shop .ad-home-shop-card:hover .ad-home-shop-image img,
html body.page-template-default .ad-shop .ad-home-shop-card:hover .ad-home-shop-image img{transform:scale(1.02)}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__badges,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__badges{
  position:absolute;
  z-index:5;
  left:8px;
  top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
  pointer-events:none;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-badge,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:3px 10px;
  border-radius:4px;
  color:#fff;
  font:700 13px/1.2 var(--ad-ui)!important;
  letter-spacing:.07em;
  text-transform:uppercase;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__body,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  padding:15px 8px 0;
  background:transparent!important;
  text-align:center;
}
html body.home .ad-shop .ad-home-shop-card .woocommerce-loop-product__title,
html body.page-template-default .ad-shop .ad-home-shop-card .woocommerce-loop-product__title{
  margin:0!important;
  padding:0!important;
  color:#283442!important;
  font:500 16px/1.3 var(--ad-ui)!important;
  letter-spacing:0!important;
}
html body.home .ad-shop .ad-home-shop-card .woocommerce-loop-product__title a,
html body.page-template-default .ad-shop .ad-home-shop-card .woocommerce-loop-product__title a{color:inherit!important;text-decoration:none}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price{
  margin:10px 0 7px;
  color:#dd221d!important;
  font:700 16px/1.15 var(--ad-ui)!important;
  white-space:normal;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price .price,
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price .woocommerce-Price-amount,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price .price,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price .woocommerce-Price-amount{color:inherit!important;font:inherit!important}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price del,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price del{opacity:.55}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price ins,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price ins{text-decoration:none}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__brand,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__brand{
  margin:0 0 8px!important;
  color:#6294f4!important;
  font:400 13px/1.35 var(--ad-ui)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-rating,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:auto;
  color:#6e747b;
  font:400 13px/1.35 var(--ad-ui)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-stars,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-stars{
  position:relative;
  display:inline-block;
  color:#d8d8d8;
  font:700 13px/1 Arial,sans-serif!important;
  letter-spacing:1.5px;
  white-space:nowrap;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-stars__base,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-stars__base{display:block}
html body.home .ad-shop .ad-home-shop-card .ad-wc-stars__fill,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-stars__fill{
  position:absolute;
  left:0;
  top:0;
  overflow:hidden;
  color:#f4a900;
  white-space:nowrap;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-rating small,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-rating small{font:400 13px/1.35 var(--ad-ui)!important}
@media (max-width:1100px){
  html body.home .ad-shop .ad-product-grid,
  html body.page-template-default .ad-shop .ad-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}
}
@media (max-width:620px){
  html body.home .ad-shop .ad-product-grid,
  html body.page-template-default .ad-shop .ad-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__media,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__media{aspect-ratio:1 / 1.38}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__body,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__body{padding:10px 2px 0}
  html body.home .ad-shop .ad-home-shop-card .woocommerce-loop-product__title,
  html body.page-template-default .ad-shop .ad-home-shop-card .woocommerce-loop-product__title{font-size:15px!important;line-height:1.3!important}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price{margin:7px 0 5px;font-size:13px!important}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__brand,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__brand{font-size:10px!important}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-stars,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-stars{font-size:10px!important;letter-spacing:.7px}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__badges,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__badges{top:6px;left:2px}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-badge,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-badge{min-height:18px;padding:2px 6px;font-size:8px!important}
}

/* Keep NEW/sale badges fully visible around the arch. */
html body.home .ad-shop .ad-product-grid,
html body.page-template-default .ad-shop .ad-product-grid{
  overflow:visible!important;
  grid-auto-flow:row!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__media,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__media{
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__media::after,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__media::after{display:none!important}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image{
  position:relative;
  overflow:hidden!important;
  border-radius:46% 46% 10px 10px / 13% 13% 10px 10px!important;
  background:linear-gradient(180deg,#f2ebe3 0%,#ebe3da 100%)!important;
  box-shadow:0 14px 28px rgba(39,41,52,.07)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image::after,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  border:1px solid rgba(223,216,208,.75);
  border-radius:inherit;
  pointer-events:none;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__badges,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__badges{
  top:14px!important;
  left:12px!important;
  z-index:20!important;
  transform:none!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-badge,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-badge{
  opacity:1!important;
  visibility:visible!important;
}
@media (max-width:620px){
  html body.home .ad-shop .ad-product-grid,
  html body.page-template-default .ad-shop .ad-product-grid{overflow:visible!important}
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__badges,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__badges{top:10px!important;left:8px!important}
}


/* 0.67.0: homepage product cards match the approved Shop reference design, including Elementor and Store API renderers. */
html body.home .ad-shop .ad-home-shop-card,
html body.page-template-default .ad-shop .ad-home-shop-card,
html body.home .elementor-widget .ad-shop .ad-home-shop-card,
html body.page-template-default .elementor-widget .ad-shop .ad-home-shop-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0!important;
  overflow:hidden!important;
  border-radius:50% 50% 10px 10px / 14% 14% 10px 10px!important;
  background:linear-gradient(180deg,#f1ebe3 0%,#ebe4dc 100%)!important;
  box-shadow:0 14px 28px rgba(39,41,52,.07)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image img,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image img,
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image .wp-post-image,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image .wp-post-image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  object-position:center center!important;
  transition:transform .35s ease,filter .25s ease;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image .ad-product-placeholder,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image .ad-product-placeholder{
  min-height:0;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:transparent;
}
html body.home .ad-shop .ad-home-shop-card .woocommerce-loop-product__title,
html body.page-template-default .ad-shop .ad-home-shop-card .woocommerce-loop-product__title{
  margin:0!important;
  font:500 16px/1.3 var(--ad-ui)!important;
  color:#283442!important;
}
html body.home .ad-shop .ad-home-shop-card .woocommerce-loop-product__title a,
html body.page-template-default .ad-shop .ad-home-shop-card .woocommerce-loop-product__title a{
  color:inherit!important;
  text-decoration:none;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price{
  margin:10px 0 7px;
  color:#dd221d!important;
  font:700 16px/1.15 var(--ad-ui)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__brand,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__brand{
  margin:0 0 8px!important;
  color:#6294f4!important;
  font:400 13px/1.35 var(--ad-ui)!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-rating,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:auto;
  color:#6e747b;
  font:400 13px/1.35 var(--ad-ui)!important;
}
@media (max-width:620px){
  html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image{
    padding:0!important;
    border-radius:50% 50% 8px 8px / 13% 13% 8px 8px!important;
  }
}

/* 0.68.0: exact homepage-to-Shop card fidelity: true arch crop and compact title scale. */
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__media,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__media{
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image{
  overflow:hidden!important;
  border-radius:50% 50% 10px 10px / 14% 14% 10px 10px!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-home-shop-image img,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-home-shop-image img{
  border-radius:inherit!important;
  object-fit:cover!important;
}


/* 0.69.0: homepage product prices use exactly the same typography as Shop cards. */
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price,
html body.home .elementor-widget .ad-shop .ad-home-shop-card .ad-wc-card__price,
html body.page-template-default .elementor-widget .ad-shop .ad-home-shop-card .ad-wc-card__price{
  margin:10px 0 7px!important;
  color:#dd221d!important;
  font-family:var(--ad-ui)!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price .price,
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price .woocommerce-Price-amount,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price .price,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price .woocommerce-Price-amount,
html body.home .elementor-widget .ad-shop .ad-home-shop-card .ad-wc-card__price .price,
html body.home .elementor-widget .ad-shop .ad-home-shop-card .ad-wc-card__price .woocommerce-Price-amount{
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price del,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price del{
  font-family:inherit!important;
  font-size:.86em!important;
  font-weight:500!important;
  opacity:.55;
}
html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price ins,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price ins{
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  text-decoration:none!important;
}
@media (max-width:620px){
  html body.home .ad-shop .ad-home-shop-card .ad-wc-card__price,
  html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-card__price,
  html body.home .elementor-widget .ad-shop .ad-home-shop-card .ad-wc-card__price,
  html body.page-template-default .elementor-widget .ad-shop .ad-home-shop-card .ad-wc-card__price{
    margin:7px 0 5px!important;
    font-size:13px!important;
  }
}


/* 0.70.0: requested NEW badge color on homepage product cards. */
html body.home .ad-shop .ad-home-shop-card .ad-wc-badge--new,
html body.page-template-default .ad-shop .ad-home-shop-card .ad-wc-badge--new{
  background:#a76969!important;
  color:#fff!important;
}

.ad-wc-toast{
  position:fixed;
  z-index:100100;
  right:18px;
  bottom:18px;
  width:min(390px,calc(100vw - 36px));
  padding:13px 16px;
  border:1px solid rgba(167,105,105,.2);
  border-radius:14px;
  background:#fffaf7;
  color:#33404d;
  box-shadow:0 18px 48px rgba(41,34,34,.18);
  font:500 13px/1.4 var(--ad-ui);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.ad-wc-toast.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

/* 0.84.0: persistent header actions for Search, Cart and Account. */
.ad-header-commerce-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.ad-header-action{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(62,48,45,.12);
  border-radius:999px!important;
  background:rgba(255,255,255,.72);
  color:var(--ad-ink)!important;
  box-shadow:0 5px 14px rgba(66,42,33,.04);
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.ad-header-action:hover,
.ad-header-action:focus-visible{
  color:#925b5b!important;
  background:#fff;
  border-color:rgba(167,105,105,.42);
  box-shadow:0 8px 20px rgba(66,42,33,.08);
  transform:translateY(-1px);
}
.ad-header-action:focus-visible{outline:3px solid rgba(167,105,105,.18);outline-offset:2px}
.ad-header-action .ad-icon{width:19px;height:19px;stroke-width:1.55}
.ad-header-action[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  z-index:30;
  left:50%;
  top:calc(100% + 9px);
  transform:translate(-50%,-3px);
  padding:6px 9px;
  border-radius:7px;
  background:#26313d;
  color:#fff;
  font:600 10px/1 var(--ad-ui)!important;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
}
.ad-header-action[data-tooltip]:hover::after,
.ad-header-action[data-tooltip]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ad-header-cart-count{
  position:absolute;
  top:-5px;
  right:-5px;
  display:grid;
  place-items:center;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border:2px solid rgba(250,245,239,.98);
  border-radius:999px;
  background:#a76969;
  color:#fff;
  font:700 9px/1 var(--ad-ui)!important;
}
.ad-header-cart-count[data-count="0"]{display:none}
.ad-header-account-dot{
  position:absolute;
  right:4px;
  bottom:4px;
  width:7px;
  height:7px;
  border:1.5px solid #fff;
  border-radius:50%;
  background:#6e9f7f;
}
@media (max-width:1180px) and (min-width:951px){
  .ad-header-commerce-actions{gap:4px}
  .ad-header-action{width:35px;height:35px}
  .ad-header-action .ad-icon{width:18px;height:18px}
  .ad-header-actions{gap:7px}
  .ad-booking-btn{padding-inline:11px}
}
@media (max-width:950px){
  .ad-header-commerce-actions{gap:5px}
  .ad-header-action{width:36px;height:36px}
  .ad-header-action[data-tooltip]::after{display:none}
}
@media (max-width:520px){
  .ad-header-inner{gap:8px!important}
  .ad-header-actions{gap:4px!important}
  .ad-header-commerce-actions{gap:3px}
  .ad-header-action{width:32px;height:32px}
  .ad-header-action .ad-icon{width:16px;height:16px}
  .ad-header-cart-count{top:-4px;right:-4px;min-width:15px;height:15px;font-size:8px!important}
  .ad-brand .custom-logo{max-width:154px}
  .ad-brand-name{font-size:27px!important}
}
@media (max-width:390px){
  .ad-header-action{width:30px;height:30px}
  .ad-header-action .ad-icon{width:15px;height:15px}
  .ad-brand .custom-logo{max-width:135px}
}

/* 0.89.15: prevent the brand + commerce controls from colliding on narrow phones. */
@media (max-width:520px){
  .ad-brand-tag{display:none}
  .ad-menu-toggle{width:38px;height:38px;padding:8px}
}
@media (max-width:390px){
  .ad-header-inner{gap:6px!important}
  .ad-header-actions{gap:3px!important}
  .ad-header-commerce-actions{gap:2px}
  .ad-header-action{width:29px;height:29px}
  .ad-header-action .ad-icon{width:14px;height:14px}
  .ad-brand-name{font-size:24px!important}
  .ad-brand .custom-logo{max-width:120px}
  .ad-menu-toggle{width:36px;height:36px;padding:7px}
  .ad-menu-toggle span{width:20px}
}
@media (max-width:340px){
  .ad-header-inner{width:calc(100% - 24px);gap:5px!important}
  .ad-header-actions{gap:2px!important}
  .ad-header-action{width:27px;height:27px}
  .ad-header-action .ad-icon{width:13px;height:13px}
  .ad-brand-name{font-size:22px!important}
  .ad-brand .custom-logo{max-width:108px}
  .ad-menu-toggle{width:34px;height:34px;padding:6px}
  .ad-menu-toggle span{width:19px}
}

/* ========================================================================== 
   0.89.7 — PREMIUM INTERIOR CONTINUITY
   Visual continuity for the public generic page/article/archive/404 shells.
   Homepage, dedicated campaign templates, WooCommerce and CRM app shells are
   intentionally left out. Existing theme artwork is reused; no new imagery.
   ========================================================================== */
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-top:clamp(64px,6.6vw,96px);
  background:
    radial-gradient(circle at 94% 9%,rgba(181,111,105,.14) 0,rgba(181,111,105,0) 24%),
    radial-gradient(circle at 4% 58%,rgba(130,131,111,.10) 0,rgba(130,131,111,0) 22%),
    linear-gradient(180deg,#f9f1ea 0%,#fffdfb 38%,#fbf4ef 100%);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell)::before{
  content:"";
  position:absolute;
  z-index:0;
  top:clamp(18px,3vw,44px);
  right:clamp(-118px,-6vw,-64px);
  width:clamp(230px,22vw,360px);
  aspect-ratio:.72;
  background:url('../images/botanical-green.svg') center/contain no-repeat;
  opacity:.20;
  transform:rotate(-9deg);
  pointer-events:none;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell)::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:url('../images/paper-grain.svg');
  opacity:.055;
  mix-blend-mode:multiply;
  pointer-events:none;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) > .ad-container{
  position:relative;
  z-index:2;
}

/* Editorial inner-page hero: organic corner, restrained blush and botanical. */
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:940px;
  margin:0 0 clamp(30px,4vw,50px);
  padding:clamp(27px,3.3vw,44px) clamp(25px,4vw,58px) clamp(30px,3.5vw,46px);
  border:1px solid rgba(153,104,91,.13);
  border-radius:30px 92px 30px 30px;
  background:linear-gradient(120deg,rgba(255,253,250,.96) 0%,rgba(249,237,231,.92) 62%,rgba(242,232,222,.88) 100%);
  box-shadow:0 20px 54px rgba(83,55,47,.075);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:-9%;
  top:-80%;
  width:clamp(210px,25vw,360px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(224,190,181,.35) 0%,rgba(224,190,181,.16) 45%,rgba(224,190,181,0) 72%);
  pointer-events:none;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:clamp(10px,2.1vw,28px);
  bottom:-62px;
  width:clamp(105px,10vw,148px);
  height:clamp(160px,16vw,220px);
  background:url('../images/botanical-rose.svg') center/contain no-repeat;
  opacity:.13;
  transform:rotate(14deg);
  pointer-events:none;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head .ad-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:13px;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head .ad-eyebrow::before{
  content:"";
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ad-rose-dark);
  box-shadow:0 0 0 6px rgba(181,111,105,.09);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head h1{
  position:relative;
  z-index:1;
  max-width:780px;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head h1::after{
  content:"";
  display:block;
  width:clamp(90px,10vw,142px);
  height:1px;
  margin-top:clamp(18px,2vw,25px);
  background:linear-gradient(90deg,var(--ad-rose-dark),rgba(130,131,111,.48),transparent);
}

/* Generic page copy becomes a quiet editorial paper panel, not a flat text dump. */
body.page-template-default.ad-theme:not(.home):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) article.page > .ad-entry-content,
body.single-post.ad-theme .ad-page .ad-entry-content{
  position:relative;
  margin-top:0;
  padding:clamp(25px,4.2vw,54px);
  border:1px solid rgba(151,111,98,.12);
  border-radius:28px 58px 28px 28px;
  background:rgba(255,253,250,.82);
  box-shadow:0 18px 48px rgba(72,52,46,.055);
}
body.page-template-default.ad-theme:not(.home):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) article.page > .ad-entry-content::before,
body.single-post.ad-theme .ad-page .ad-entry-content::before{
  content:"";
  position:absolute;
  top:-1px;
  left:clamp(25px,4.2vw,54px);
  width:clamp(72px,8vw,110px);
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ad-rose),rgba(130,131,111,.46));
  opacity:.72;
}

/* Image framing on articles: asymmetrical editorial arch + soft depth. */
body.single-post.ad-theme .ad-single-image{
  position:relative;
  isolation:isolate;
  margin:0 0 clamp(26px,3vw,38px);
  padding:10px;
  border:1px solid rgba(148,105,91,.14);
  border-radius:32px 92px 32px 32px;
  background:rgba(255,252,248,.78);
  box-shadow:0 20px 48px rgba(67,48,43,.08);
}
body.single-post.ad-theme .ad-single-image::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-15px 6% 18px -20px;
  border-radius:46% 54% 50% 50% / 42% 44% 56% 58%;
  background:radial-gradient(ellipse at 44% 42%,rgba(230,203,194,.40),rgba(230,203,194,.08) 55%,rgba(230,203,194,0) 74%);
  transform:rotate(-2deg);
  pointer-events:none;
}
body.single-post.ad-theme .ad-single-image img{
  display:block;
  margin:0!important;
  border-radius:24px 82px 24px 24px!important;
  box-shadow:none;
}

/* Blog, archive and search cards: same soft card depth used on homepage. */
body:is(.blog,.archive,.search).ad-theme .ad-content-grid{
  max-width:980px;
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card{
  position:relative;
  overflow:hidden;
  margin:0 0 clamp(24px,3vw,34px);
  padding:clamp(20px,2.7vw,32px);
  border:1px solid rgba(151,111,98,.13);
  border-radius:28px 66px 28px 28px;
  background:linear-gradient(135deg,rgba(255,253,250,.94),rgba(251,242,236,.78));
  box-shadow:0 17px 42px rgba(75,52,46,.06);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-50px;
  width:120px;
  height:165px;
  background:url('../images/botanical.svg') center/contain no-repeat;
  opacity:.07;
  transform:rotate(12deg);
  pointer-events:none;
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card:hover{
  transform:translateY(-3px);
  border-color:rgba(151,111,98,.22);
  box-shadow:0 23px 55px rgba(75,52,46,.09);
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card > a:first-child{
  display:block;
  position:relative;
  overflow:hidden;
  margin-bottom:22px;
  border-radius:22px 66px 22px 22px;
  background:var(--ad-cream-2);
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card > a:first-child::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.52);
  border-radius:inherit;
  pointer-events:none;
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card > a > img{
  display:block;
  margin:0;
  border-radius:22px 66px 22px 22px;
  transition:transform .35s ease,filter .35s ease;
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card:hover > a > img{
  transform:scale(1.012);
  filter:saturate(.94) contrast(1.01);
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card h2{
  position:relative;
  z-index:1;
}
body:is(.blog,.archive,.search).ad-theme .ad-loop-card .ad-text-link{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
  text-decoration:none;
}

/* Editorial blocks and CTAs inside regular pages and articles. */
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content blockquote,
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-pullquote{
  position:relative;
  margin:clamp(28px,4vw,46px) 0;
  padding:clamp(25px,3vw,36px) clamp(24px,4vw,48px) clamp(24px,3vw,34px);
  border:1px solid rgba(173,112,106,.15);
  border-left:0;
  border-radius:24px 62px 24px 24px;
  background:linear-gradient(125deg,rgba(249,231,226,.78),rgba(255,251,248,.9));
  box-shadow:0 14px 35px rgba(77,53,47,.055);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content blockquote::before,
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-pullquote::before{
  content:"“";
  position:absolute;
  left:18px;
  top:5px;
  color:rgba(173,112,106,.28);
  font:500 54px/1 var(--ad-font);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-button__link{
  min-height:48px;
  padding:12px 25px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:linear-gradient(165deg,var(--ad-rose),var(--ad-rose-dark));
  box-shadow:0 10px 24px rgba(119,64,59,.16);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-button__link:hover{
  transform:translateY(-2px);
  background:var(--ad-rose-dark);
  box-shadow:0 15px 30px rgba(119,64,59,.20);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content :is(figure,.wp-block-image){
  position:relative;
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content :is(figure,.wp-block-image) img{
  border-radius:20px 52px 20px 20px;
  box-shadow:0 14px 35px rgba(62,47,43,.07);
}
body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-separator{
  width:min(100%,560px);
  height:1px;
  margin-block:clamp(30px,4vw,48px);
  border:0;
  background:linear-gradient(90deg,transparent,rgba(176,111,105,.38),rgba(130,131,111,.22),transparent);
}

/* 404: intentionally visual but quiet, using the same botanical/paper language. */
body.error404.ad-theme .ad-404{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(54px,7vw,90px) clamp(28px,6vw,78px);
  border:1px solid rgba(153,104,91,.14);
  border-radius:42px 128px 42px 42px;
  background:linear-gradient(125deg,rgba(255,253,250,.96),rgba(247,232,226,.88));
  box-shadow:0 24px 64px rgba(73,51,45,.08);
}
body.error404.ad-theme .ad-404::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:clamp(240px,30vw,410px);
  aspect-ratio:1;
  right:-16%;
  top:-48%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(226,194,186,.46),rgba(226,194,186,.09) 56%,transparent 73%);
}
body.error404.ad-theme .ad-404::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-35px;
  bottom:-74px;
  width:170px;
  height:245px;
  background:url('../images/botanical-green.svg') center/contain no-repeat;
  opacity:.16;
  transform:rotate(22deg);
}

@media (max-width:767px){
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell){
    padding-top:40px;
  }
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell)::before{
    right:-92px;
    top:14px;
    width:220px;
    opacity:.13;
  }
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head{
    padding:24px 22px 28px;
    border-radius:24px 58px 24px 24px;
    margin-bottom:28px;
  }
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head::after{
    right:-4px;
    bottom:-62px;
    opacity:.09;
  }
  body.page-template-default.ad-theme:not(.home):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) article.page > .ad-entry-content,
  body.single-post.ad-theme .ad-page .ad-entry-content{
    padding:24px 21px 28px;
    border-radius:22px 42px 22px 22px;
  }
  body.single-post.ad-theme .ad-single-image{
    padding:7px;
    border-radius:24px 58px 24px 24px;
  }
  body.single-post.ad-theme .ad-single-image img{
    border-radius:18px 52px 18px 18px!important;
  }
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card{
    padding:17px;
    border-radius:22px 48px 22px 22px;
  }
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card > a:first-child,
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card > a > img{
    border-radius:18px 44px 18px 18px;
  }
  body.error404.ad-theme .ad-404{
    padding:48px 23px 54px;
    border-radius:30px 70px 30px 30px;
  }
}

@media (prefers-reduced-motion:reduce){
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card,
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card > a > img,
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-button__link{
    transition:none!important;
  }
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card:hover,
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card:hover > a > img,
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-entry-content .wp-block-button__link:hover{
    transform:none!important;
  }
}

@media print{
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell),
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) .ad-page-head,
  body.page-template-default.ad-theme:not(.home):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell) article.page > .ad-entry-content,
  body.single-post.ad-theme .ad-page .ad-entry-content,
  body.single-post.ad-theme .ad-single-image,
  body:is(.blog,.archive,.search).ad-theme .ad-loop-card,
  body.error404.ad-theme .ad-404{
    background:#fff!important;
    box-shadow:none!important;
  }
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell)::before,
  body.ad-theme:not(.home):not(.woocommerce):not(.woocommerce-page) .ad-page:not(.ad-page--crm-shell)::after,
  body.error404.ad-theme .ad-404::before,
  body.error404.ad-theme .ad-404::after{
    display:none!important;
  }
}

/* 0.89.8: Wishlist/Favorite removed from all theme surfaces. */
.ad-header-wishlist,
.ad-wc-favorite,
.ad-home-shop-favorite-placeholder,
.ad-account-wishlist{
  display:none!important;
}

/* 0.89.10: corrective homepage visual-depth pass.
   The previous 0.89.9 rules were structurally active but too faint to create a
   meaningful visual change on a real homepage. This pass keeps the same design
   language while moving the decorative assets inside the visible canvas and
   raising contrast to a perceptible, still restrained level. Footer markup and
   footer.css remain untouched. */
/* 0.89.12: footer parity. Home intentionally has no footer-specific transition
   variables. The global footer wave therefore inherits the same canonical default
   behavior used by Shop/standard pages; footer.php, footer-global.php and
   footer.css remain the single source of truth. */

body.ad-home .ad-stats,
body.ad-home .ad-programs,
body.ad-home .ad-shop,
body.ad-home .ad-testimonials,
body.ad-home .ad-blog{
  isolation:isolate;
  overflow:hidden;
}
body.ad-home .ad-stats > .ad-container,
body.ad-home .ad-programs > .ad-container,
body.ad-home .ad-shop > .ad-container,
body.ad-home .ad-testimonials > .ad-container,
body.ad-home .ad-blog > .ad-container{
  position:relative;
  z-index:3;
}

/* Stats: visibly layered proof strip, still quiet enough to keep the numbers
   dominant. */
body.ad-home .ad-stats{
  background:
    radial-gradient(circle at 5% 58%,rgba(172,112,106,.18),transparent 22%),
    radial-gradient(circle at 94% 18%,rgba(130,131,111,.14),transparent 25%),
    linear-gradient(100deg,#f0dfd5 0%,#f8eee7 48%,#ecd9cf 100%);
}
body.ad-home .ad-stats::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:url('../images/paper-grain.svg') center/360px auto repeat;
  opacity:.12;
  mix-blend-mode:multiply;
  pointer-events:none;
}
body.ad-home .ad-stats::after{
  content:"";
  position:absolute;
  z-index:1;
  left:1.2%;
  top:-58px;
  width:158px;
  height:218px;
  background:url('../images/leaf-outline.svg') center/contain no-repeat;
  opacity:.34;
  transform:rotate(-16deg);
  pointer-events:none;
}

/* Programs: the botanical and organic outline now sit materially inside the
   viewport instead of being almost entirely clipped off-canvas. */
body.ad-home .ad-programs{
  background:
    radial-gradient(circle at 10% 24%,rgba(220,182,179,.25),transparent 25%),
    radial-gradient(circle at 91% 15%,rgba(255,255,255,.58),transparent 22%),
    linear-gradient(180deg,#fbf7f2 0%,#f7ece6 58%,#faf5ef 100%);
}
body.ad-home .ad-programs::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-34px;
  top:24px;
  width:250px;
  height:338px;
  background:url('../images/botanical-rose.svg') center/contain no-repeat;
  opacity:.24;
  transform:rotate(-10deg);
  pointer-events:none;
}
body.ad-home .ad-programs::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-34px;
  top:20px;
  width:266px;
  height:248px;
  border:1px solid rgba(167,105,105,.26);
  border-radius:43% 57% 66% 34% / 46% 37% 63% 54%;
  background:radial-gradient(circle at 42% 42%,rgba(236,211,202,.34),rgba(255,250,246,.10) 55%,transparent 72%);
  box-shadow:0 0 0 24px rgba(255,250,246,.24);
  transform:rotate(16deg);
  pointer-events:none;
}
body.ad-home .ad-programs .ad-section-head h2::after{
  content:"";
  display:inline-block;
  width:clamp(58px,5.6vw,86px);
  height:20px;
  margin-left:14px;
  background:url('../images/hbcs-deco-wave.svg') center/contain no-repeat;
  opacity:.62;
  vertical-align:.06em;
}

/* Shop: product-card markup and product-card styling are untouched. All new
   depth belongs to the section canvas and heading decoration. */
body.ad-home .ad-shop{
  background:
    radial-gradient(circle at 9% 22%,rgba(225,202,191,.24),transparent 24%),
    radial-gradient(circle at 92% 78%,rgba(130,131,111,.13),transparent 25%),
    linear-gradient(180deg,#faf5ef 0%,#f7eee8 100%);
}
body.ad-home .ad-shop::before{
  background:
    linear-gradient(115deg,rgba(255,255,255,.42),rgba(237,218,207,.24)),
    radial-gradient(circle at 12% 15%,rgba(255,255,255,.38),transparent 22%);
  border-block:1px solid rgba(255,255,255,.58);
}
body.ad-home .ad-shop::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-14px;
  bottom:-68px;
  width:218px;
  height:292px;
  background:url('../images/botanical-green.svg') center/contain no-repeat;
  opacity:.25;
  transform:rotate(10deg);
  pointer-events:none;
}
body.ad-home .ad-shop .ad-section-head{
  position:relative;
}
body.ad-home .ad-shop .ad-section-head::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-38px;
  top:-26px;
  width:102px;
  height:102px;
  border:1px solid rgba(130,131,111,.32);
  border-radius:50%;
  background:rgba(255,250,246,.22);
  box-shadow:22px 15px 0 -8px rgba(222,190,184,.42);
  pointer-events:none;
}
body.ad-home .ad-shop .ad-section-head h2::after{
  content:"";
  display:inline-block;
  width:42px;
  height:42px;
  margin-left:10px;
  background:url('../images/hbcs-deco-spark.svg') center/contain no-repeat;
  opacity:.50;
  vertical-align:-.24em;
}

/* Process already has large waves; one clearer editorial spark is enough. */
body.ad-home .ad-process .ad-container::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:4%;
  top:-6px;
  width:58px;
  height:58px;
  background:url('../images/hbcs-deco-spark.svg') center/contain no-repeat;
  opacity:.46;
  transform:rotate(12deg);
  pointer-events:none;
}

/* Testimonials: slightly stronger blush field plus visible, soft botanical
   framing behind the carousel. */
body.ad-home .ad-testimonials{
  background:
    radial-gradient(circle at 7% 84%,rgba(218,178,173,.31),transparent 25%),
    radial-gradient(circle at 92% 18%,rgba(255,255,255,.52),transparent 24%),
    linear-gradient(130deg,#f8eee8 0%,#edd9cf 100%);
}
body.ad-home .ad-testimonials::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-20px;
  top:-54px;
  width:210px;
  height:286px;
  background:url('../images/botanical-rose.svg') center/contain no-repeat;
  opacity:.20;
  transform:rotate(18deg);
  pointer-events:none;
}
body.ad-home .ad-testimonials::after{
  content:"";
  position:absolute;
  z-index:0;
  right:-48px;
  bottom:-108px;
  width:320px;
  height:310px;
  border:1px solid rgba(167,105,105,.22);
  border-radius:58% 42% 40% 60% / 46% 55% 45% 54%;
  background:radial-gradient(circle at 44% 42%,rgba(255,250,246,.42),rgba(222,190,184,.13) 48%,transparent 68%);
  transform:rotate(-13deg);
  pointer-events:none;
}

/* Articles and newsletter: a clearly layered closing scene that blends into the
   existing global footer wave without changing the footer itself. */
body.ad-home .ad-blog{
  padding-top:34px;
  padding-bottom:58px;
  background:
    radial-gradient(ellipse at 88% 10%,rgba(217,177,173,.31),transparent 30%),
    radial-gradient(ellipse at 12% 88%,rgba(130,131,111,.13),transparent 28%),
    linear-gradient(180deg,#fbf4ef 0%,#f3dfd9 100%);
}
body.ad-home .ad-blog::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-34px;
  bottom:-102px;
  width:222px;
  height:316px;
  background:url('../images/botanical-green.svg') center/contain no-repeat;
  opacity:.22;
  transform:rotate(-14deg);
  pointer-events:none;
}
body.ad-home .ad-blog::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:url('../images/paper-grain.svg') center/420px auto repeat;
  opacity:.095;
  mix-blend-mode:multiply;
  pointer-events:none;
}
body.ad-home .ad-blog .ad-section-head{
  position:relative;
}
body.ad-home .ad-blog .ad-section-head::after{
  content:"";
  position:absolute;
  right:17%;
  top:-20px;
  width:98px;
  height:34px;
  background:url('../images/hbcs-deco-wave.svg') center/contain no-repeat;
  opacity:.56;
  transform:rotate(-4deg);
  pointer-events:none;
}
body.ad-home .ad-post-card{
  position:relative;
  border:1px solid rgba(151,111,98,.13);
  box-shadow:0 16px 38px rgba(78,52,44,.085);
}
body.ad-home .ad-post-card::after{
  content:"";
  position:absolute;
  right:-17px;
  bottom:-31px;
  width:74px;
  height:100px;
  background:url('../images/leaf-outline.svg') center/contain no-repeat;
  opacity:.09;
  transform:rotate(17deg);
  pointer-events:none;
}
body.ad-home .ad-newsletter{
  box-shadow:0 18px 42px rgba(76,77,58,.17);
}

@media (max-width:950px){
  body.ad-home .ad-stats::after{left:-24px;opacity:.27}
  body.ad-home .ad-programs::before{left:-82px;opacity:.18}
  body.ad-home .ad-programs::after{right:-105px;opacity:.82}
  body.ad-home .ad-shop::after{right:-68px;opacity:.19}
  body.ad-home .ad-testimonials::before{left:-72px;opacity:.16}
  body.ad-home .ad-blog .ad-section-head::after{right:7%}
}

@media (max-width:767px){
  body.ad-home .ad-programs::after,
  body.ad-home .ad-shop .ad-section-head::before,
  body.ad-home .ad-process .ad-container::after,
  body.ad-home .ad-testimonials::after,
  body.ad-home .ad-blog .ad-section-head::after{
    display:none;
  }
  body.ad-home .ad-stats::after{
    left:-56px;
    top:-52px;
    width:128px;
    height:180px;
    opacity:.18;
  }
  body.ad-home .ad-programs::before{
    left:-98px;
    top:4px;
    width:190px;
    height:258px;
    opacity:.12;
  }
  body.ad-home .ad-shop::after{
    right:-88px;
    bottom:-58px;
    width:160px;
    height:220px;
    opacity:.13;
  }
  body.ad-home .ad-testimonials::before{
    left:-104px;
    top:-42px;
    width:176px;
    height:238px;
    opacity:.11;
  }
  body.ad-home .ad-blog{
    padding-top:28px;
    padding-bottom:44px;
  }
  body.ad-home .ad-blog::before{
    left:-104px;
    bottom:-88px;
    width:172px;
    height:242px;
    opacity:.13;
  }
  body.ad-home .ad-programs .ad-section-head h2::after,
  body.ad-home .ad-shop .ad-section-head h2::after{
    width:34px;
    height:25px;
    margin-left:7px;
    opacity:.42;
  }
}

@media print{
  body.ad-home .ad-stats::before,
  body.ad-home .ad-stats::after,
  body.ad-home .ad-programs::before,
  body.ad-home .ad-programs::after,
  body.ad-home .ad-shop::after,
  body.ad-home .ad-shop .ad-section-head::before,
  body.ad-home .ad-programs .ad-section-head h2::after,
  body.ad-home .ad-shop .ad-section-head h2::after,
  body.ad-home .ad-process .ad-container::after,
  body.ad-home .ad-testimonials::before,
  body.ad-home .ad-testimonials::after,
  body.ad-home .ad-blog::before,
  body.ad-home .ad-blog::after,
  body.ad-home .ad-blog .ad-section-head::after,
  body.ad-home .ad-post-card::after{
    display:none!important;
  }
}

/* 0.89.11: homepage WooCommerce cards are rendered by the Shop renderer and
   styled by the canonical WooCommerce stylesheet. This bridge only supplies
   the Shop container geometry/variables without applying ad-commerce to the
   whole homepage (which would alter the global header and page chrome). */
.ad-shop .ad-home-shop-catalog{
  --ad-wc-blue:#5790e8;
  --ad-wc-gold:#f3ab00;
  position:relative;
  z-index:1;
  width:min(91.5%,1260px);
  margin-inline:auto;
  padding:0!important;
  background:transparent!important;
}
.ad-shop .ad-home-shop-catalog ul.products{
  list-style:none!important;
}
.ad-shop .ad-home-shop-catalog .ad-wc-card__price,
.ad-shop .ad-home-shop-catalog .ad-wc-card__price .price,
.ad-shop .ad-home-shop-catalog .ad-wc-card__price .woocommerce-Price-amount{
  font-family:var(--ad-ui)!important;
  font-size:16px!important;
}
@media (max-width:640px){
  .ad-shop .ad-home-shop-catalog{width:min(92%,1260px)}
  .ad-shop .ad-home-shop-catalog .ad-wc-card__price,
  .ad-shop .ad-home-shop-catalog .ad-wc-card__price .price,
  .ad-shop .ad-home-shop-catalog .ad-wc-card__price .woocommerce-Price-amount{font-size:14px!important}
}

