/* ==========================================================================
   AWSA custom styles — extends the original "The M.X." theme (Material
   Design, brown / amber palette). Loaded after the theme stylesheets.
   ========================================================================== */
:root{
  --brown-900:#3e2723;--brown-700:#5d4037;--brown-500:#795548;--brown-300:#a1887f;--brown-200:#bcaaa4;--brown-50:#efebe9;
  --amber:#ffc107;--amber-700:#ffa000;--amber-900:#ff6f00;
  --text:rgba(0,0,0,.87);--text-2:rgba(0,0,0,.6);--white-87:rgba(255,255,255,.87);
  --z1:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);
  --z2:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);
  --z3:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);
  --radius:2px;--ease:cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:Raleway,sans-serif;color:var(--text)}
img{max-width:100%;height:auto}
a{color:var(--brown-500)}
a:hover,a:focus{color:var(--amber-900)}
:focus-visible{outline:2px solid var(--amber-900);outline-offset:2px}
.container{max-width:1200px;margin:0 auto;padding:0 1rem;box-sizing:border-box}
.narrow{max-width:860px}
.text-center{text-align:center}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- Header additions ---------- */
.site-branding .site-title a{text-decoration:none;letter-spacing:.02em}
.site-branding .site-title a .logo-mark{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;margin-right:.35em;border-radius:50%;background:var(--amber);color:var(--brown-900);font-size:.6em;font-weight:700;vertical-align:.35em;box-shadow:var(--z1)}
#header-button-panel{display:flex;align-items:center;gap:.25rem}
#header-button-panel .searchform{transition:opacity .3s var(--ease)}
#header-button-panel .searchform .search-icon{background:var(--amber);color:var(--text);min-width:2.5rem;height:2.25rem;margin-left:.5rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .5rem}
.site-header{z-index:300}
.site-header .main-navigation ul#primary-menu{align-items:center}
.main-navigation .nav-cta a:link,.main-navigation .nav-cta a:visited{color:var(--amber)!important;font-weight:600}
@media screen and (max-width:37.49em){
  .site-header .main-navigation ul#primary-menu{top:4rem;left:.5rem;padding:1rem;width:calc(100% - 1rem);transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .site-header .main-navigation ul#primary-menu.hide{opacity:0;transform:translateY(-8px)}
  .site-header .main-navigation ul#primary-menu a{padding:.75em .5em;border-bottom:1px solid var(--brown-50)}
  .main-navigation .nav-cta a:link,.main-navigation .nav-cta a:visited{color:var(--amber-900)!important}
  .menu-toggle{top:.5rem;left:.5rem}
  .site-header #header-button-panel{padding-left:4rem}
}
.site-header .main-navigation{position:relative}
.sidebar-toggle .material-icons,.search-toggle .material-icons{transition:transform .3s var(--ease)}
.sidebar-toggle.toggled .material-icons{transform:rotate(180deg)}

/* Sidebar overlay */
#secondary{transition:transform .45s var(--ease),opacity .3s var(--ease);min-height:100vh;box-sizing:border-box;padding:4.5em 1.5em 2em}
#secondary.hide{left:auto!important;transform:translateX(110%);opacity:0;pointer-events:none}
#secondary .widget-title{font-size:1.5rem;font-weight:400;color:var(--brown-900);margin:1.5rem 0 .75rem}
#secondary ul{list-style:none;padding-left:0}
#secondary li{padding:.35rem 0;border-bottom:1px solid var(--brown-50)}
#secondary li a{text-decoration:none}
#secondary .widget_search .searchform{display:flex;gap:.5rem;align-items:flex-end}
#secondary .widget_search .search-field{flex:1;min-width:0}
.sidebar-scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s;z-index:90}
.sidebar-open .sidebar-scrim{opacity:1;pointer-events:auto}
.site-content{position:static}
.site{overflow-x:clip}
html{overflow-x:hidden}

/* Reading progress */
.reading-progress{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--amber),var(--amber-900));z-index:1100;transition:width .1s linear}

/* ---------- Buttons ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:2.75rem;padding:0 1.5em;border:0;border-radius:var(--radius);font-family:inherit;font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:var(--z1);transition:box-shadow .25s var(--ease),background-color .25s var(--ease),transform .2s var(--ease),color .25s}
.btn:hover{box-shadow:var(--z2);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn .material-icons{font-size:1.25em}
.btn-primary,a.btn-primary:link,a.btn-primary:visited{background:var(--amber);color:var(--text)}
.btn-primary:hover,a.btn-primary:hover{background:var(--amber-700);color:var(--text)}
.btn-dark,a.btn-dark:link,a.btn-dark:visited{background:var(--brown-700);color:#fff}
.btn-dark:hover,a.btn-dark:hover{background:var(--brown-900);color:#fff}
.btn-outline,a.btn-outline:link,a.btn-outline:visited{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)}
.btn-outline:hover,a.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-ghost,a.btn-ghost:link,a.btn-ghost:visited{background:transparent;color:var(--brown-500);box-shadow:inset 0 0 0 2px var(--brown-200)}
.btn-ghost:hover,a.btn-ghost:hover{background:var(--brown-50);color:var(--brown-900)}
.btn-sm{min-height:2.25rem;padding:0 1em;font-size:.8rem}
.btn-block{width:100%}
.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.55);animation:ripple .6s linear;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ---------- Hero (based on theme #custom-header) ---------- */
.hero{position:relative;overflow:hidden;min-height:clamp(520px,82vh,780px);display:flex;align-items:center;color:#fff;background:var(--brown-900)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.55;transform:scale(1.08);animation:heroZoom 18s ease-out forwards}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(62,39,35,.92) 0%,rgba(93,64,55,.6) 55%,rgba(121,85,72,.2) 100%)}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-inner{position:relative;z-index:2;padding:4rem 1rem 5rem;width:100%}
.hero .eyebrow{color:var(--amber)}
.hero h1{font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:300;line-height:1.08;margin:.5rem 0 1rem;max-width:15em;letter-spacing:-.01em}
.hero h1 strong{font-weight:600}
.rotator{display:inline-block;color:var(--amber);font-weight:600;position:relative;min-width:5ch}
.rotator span{display:inline-block;animation:wordIn .6s var(--ease)}
@keyframes wordIn{from{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:none}}
.hero p.hero-lead{font-size:clamp(1rem,1.6vw,1.25rem);max-width:38em;color:var(--white-87);line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero-stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3rem}
.hero-stats div{min-width:7rem}
.hero-stats strong{display:block;font-size:2.5rem;font-weight:300;color:#fff;line-height:1}
.hero-stats span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}
.scroll-cue{position:absolute;left:50%;bottom:1.25rem;z-index:2;color:#fff;transform:translateX(-50%);animation:bob 2s infinite;text-decoration:none}
.scroll-cue:link,.scroll-cue:visited{color:rgba(255,255,255,.8)}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* Inner page hero */
.page-hero{position:relative;background:var(--brown-500);color:#fff;padding:3.5rem 0 3rem;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.28;transform:scale(1.06);animation:heroZoom 14s ease-out forwards}
.page-hero::after{content:"";position:absolute;right:-6rem;top:-6rem;width:22rem;height:22rem;border-radius:50%;background:rgba(255,193,7,.12)}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:300;margin:.5rem 0 .5rem;line-height:1.15}
.page-hero p{max-width:44em;color:var(--white-87);font-size:1.1rem;line-height:1.6;margin:0}
.breadcrumbs{font-size:.85rem;color:rgba(255,255,255,.75)}
.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}
.breadcrumbs li+li::before{content:"chevron_right";font-family:'Material Icons';vertical-align:middle;margin-right:.25rem;font-size:1rem}
.breadcrumbs a:link,.breadcrumbs a:visited{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.breadcrumbs a:hover{border-bottom-color:var(--amber)}
.article-breadcrumbs{font-size:.85rem;color:var(--text-2);margin:0 0 1rem}
.article-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}
.article-breadcrumbs li+li::before{content:"chevron_right";font-family:'Material Icons';vertical-align:middle;margin-right:.25rem;font-size:1rem}

/* ---------- Sections ---------- */
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section-white{background:#fff}
.section-dark{background:var(--brown-900);color:var(--white-87)}
.section-brown{background:var(--brown-500);color:#fff}
.section-head{max-width:760px;margin:0 auto 2.75rem;text-align:center}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-900);margin:0}
.section-dark .eyebrow,.section-brown .eyebrow{color:var(--amber)}
.section-title{font-size:clamp(1.8rem,3.6vw,2.75rem);font-weight:300;line-height:1.2;margin:.5rem 0 .75rem;color:var(--brown-900)}
.section-dark .section-title,.section-brown .section-title{color:#fff}
.section-sub{color:var(--text-2);font-size:1.05rem;line-height:1.65;margin:0}
.section-dark .section-sub,.section-brown .section-sub{color:rgba(255,255,255,.75)}
.grid{display:grid;gap:1.5rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.split{display:grid;gap:3rem;align-items:center;grid-template-columns:1fr}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr}.split.reverse>:first-child{order:2}}
.split-media{position:relative}
.split-media img{border-radius:var(--radius);box-shadow:var(--z3);display:block;width:100%}
.split-media .badge-float{position:absolute;left:-1rem;bottom:-1rem;background:var(--amber);color:var(--text);padding:1rem 1.25rem;box-shadow:var(--z3);border-radius:var(--radius);font-weight:600;max-width:12rem;animation:float 4s ease-in-out infinite}
.split-media .badge-float strong{display:block;font-size:2rem;font-weight:300;line-height:1}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.prose p,.prose li{line-height:1.75}
.prose h2{font-size:1.75rem;font-weight:400;color:var(--brown-900)}
.prose h3{font-size:1.25rem;font-weight:500;color:var(--brown-700)}

/* Cards */
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--z1);transition:box-shadow .3s var(--ease),transform .3s var(--ease);overflow:hidden;position:relative}
.card:hover{box-shadow:var(--z3);transform:translateY(-4px)}
.feature-card{padding:2rem 1.5rem}
.icon-badge{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--brown-50);color:var(--brown-500);margin-bottom:1rem;transition:background .3s,color .3s,transform .4s var(--ease)}
.card:hover .icon-badge{background:var(--amber);color:var(--brown-900);transform:rotate(-8deg) scale(1.06)}
.icon-badge .material-icons{font-size:1.75rem}
.feature-card h3,.card h3{font-size:1.25rem;font-weight:500;margin:0 0 .5rem;color:var(--brown-900);line-height:1.3}
.feature-card p{margin:0;color:var(--text-2);line-height:1.65}

/* Post cards */
.post-card{display:flex;flex-direction:column;height:100%}
.post-card .thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--brown-200)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.post-card:hover .thumb img{transform:scale(1.07)}
.chip{display:inline-block;background:rgba(62,39,35,.54);color:var(--white-87);border-radius:var(--radius);padding:.25em .6em;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
a.chip:link,a.chip:visited{color:var(--white-87)}
a.chip:hover{background:rgba(62,39,35,.75);color:#fff}
.post-card .thumb .chip{position:absolute;left:1rem;top:1rem;background:var(--amber);color:var(--text)}
.post-card .body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1}
.post-card h3{font-size:1.2rem;font-weight:500;margin:0 0 .5rem;line-height:1.35}
.post-card h3 a{color:var(--brown-500);text-decoration:none}
.post-card h3 a:hover{color:var(--amber-900)}
.post-card p{color:var(--text-2);font-size:.95rem;line-height:1.6;margin:0 0 1rem;flex:1}
.post-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--text-2)}
.post-meta span{display:inline-flex;align-items:center;gap:.3rem}
.post-meta .material-icons{font-size:1rem;color:rgba(0,0,0,.54)}
.read-more{display:inline-flex;align-items:center;gap:.25rem;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;margin-top:1rem}
.read-more .material-icons{font-size:1.1rem;transition:transform .3s}
.read-more:hover .material-icons{transform:translateX(4px)}

/* Swiper */
.swiper{padding:.5rem .5rem 3.25rem!important}
.swiper-slide{height:auto}
.swiper-pagination-bullet{background:var(--brown-300);opacity:.6}
.swiper-pagination-bullet-active{background:var(--amber-900);opacity:1;width:22px;border-radius:5px}
.swiper-nav{display:flex;gap:.5rem;justify-content:center;margin-top:-.5rem}
.swiper-nav button{width:2.75rem;height:2.75rem;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--brown-700);box-shadow:var(--z1)}
.swiper-nav button:hover{background:var(--amber)}

/* Services */
.service-card{display:flex;flex-direction:column;height:100%}
.service-card .thumb{position:relative;aspect-ratio:16/9;overflow:hidden}
.service-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.service-card:hover .thumb img{transform:scale(1.06)}
.price-badge{position:absolute;right:1rem;top:1rem;background:var(--amber);color:var(--text);font-weight:700;padding:.5rem .9rem;border-radius:var(--radius);box-shadow:var(--z2);font-size:1.1rem}
.price-badge small{font-weight:500;font-size:.75rem}
.service-card .body{padding:1.75rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1}
.service-card .body>p{color:var(--text-2);line-height:1.6;margin:0 0 1rem}
.feature-list{list-style:none;padding:0;margin:0 0 1.5rem;flex:1}
.feature-list li{display:flex;gap:.5rem;align-items:flex-start;padding:.3rem 0;font-size:.95rem;line-height:1.5}
.feature-list li::before{content:"check_circle";font-family:'Material Icons';color:var(--amber-900);font-size:1.15rem;line-height:1.3}
.card-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.service-detail{scroll-margin-top:1rem}
.service-detail .tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--brown-500);font-weight:600}
.service-row{display:grid;gap:2rem;align-items:center;padding:2.5rem 0;border-bottom:1px solid var(--brown-200)}
@media (min-width:900px){.service-row{grid-template-columns:5fr 7fr}.service-row:nth-child(even) .service-row-media{order:2}}
.service-row-media img{width:100%;border-radius:var(--radius);box-shadow:var(--z3);display:block;aspect-ratio:4/3;object-fit:cover}
.service-row h2{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:300;color:var(--brown-900);margin:.5rem 0}
.service-row .price{font-size:1.75rem;font-weight:300;color:var(--brown-700);margin:.25rem 0 1rem}
.service-row .price strong{font-weight:600;color:var(--amber-900)}
.service-row p{line-height:1.7}
.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.25rem}
.pill-list li{background:var(--brown-50);color:var(--brown-700);padding:.35rem .75rem;border-radius:999px;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem}
.pill-list .material-icons{font-size:1rem}

/* Bundle builder */
.bundle{background:#fff;box-shadow:var(--z2);border-radius:var(--radius);padding:2rem}
.bundle-options{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}
.bundle-option{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--brown-50);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background .2s}
.bundle-option:hover{border-color:var(--brown-200)}
.bundle-option input{width:1.2rem;height:1.2rem;accent-color:var(--amber-900)}
.bundle-option.checked{border-color:var(--amber);background:#fff8e1}
.bundle-option .bo-price{margin-left:auto;font-weight:700;color:var(--brown-700)}
.bundle-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--brown-50)}
.bundle-total{font-size:1.1rem}
.bundle-total strong{font-size:2rem;font-weight:300;color:var(--brown-900)}
.bundle-total .save{display:inline-block;margin-left:.5rem;background:#e8f5e9;color:#2e7d32;font-weight:600;font-size:.8rem;padding:.2rem .5rem;border-radius:var(--radius)}

/* Comparison table */
.table-wrap{overflow-x:auto;margin:1.5rem 0;box-shadow:var(--z1);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch}
.data-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px;margin:0}
.data-table th{background:var(--brown-500);color:#fff;font-weight:600;text-align:left;padding:.75rem 1rem;white-space:nowrap}
.data-table td{padding:.7rem 1rem;border-bottom:1px solid var(--brown-50);vertical-align:top;line-height:1.5}
.data-table tbody tr:nth-child(even){background:#faf7f6}
.data-table tbody tr:hover{background:#fff8e1}
.data-table .yes{color:#2e7d32}.data-table .no{color:#c62828}

/* Steps */
.steps{counter-reset:step;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.step{position:relative;padding:2rem 1.5rem 1.5rem;background:#fff;box-shadow:var(--z1);border-radius:var(--radius);border-top:4px solid var(--amber)}
.step::before{counter-increment:step;content:"0" counter(step);position:absolute;right:1rem;top:.5rem;font-size:3rem;font-weight:300;color:var(--brown-50);line-height:1}
.step h3{font-size:1.15rem;font-weight:600;margin:0 0 .5rem;color:var(--brown-900);position:relative}
.step p{margin:0;color:var(--text-2);line-height:1.6;position:relative}
.section-dark .step{background:rgba(255,255,255,.06);box-shadow:none}
.section-dark .step h3{color:#fff}.section-dark .step p{color:rgba(255,255,255,.72)}
.section-dark .step::before{color:rgba(255,255,255,.08)}

/* Quiz / program finder */
.finder{background:#fff;box-shadow:var(--z3);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem);max-width:820px;margin:0 auto;color:var(--text)}
.finder-progress{height:6px;background:var(--brown-50);border-radius:3px;margin-bottom:1.5rem;overflow:hidden}
.finder-progress span{display:block;height:100%;width:0;background:var(--amber-900);transition:width .4s var(--ease)}
.finder-step{display:none;animation:fadeUp .45s var(--ease)}
.finder-step.active{display:block}
.finder-step h3{font-size:1.4rem;font-weight:400;margin:0 0 1rem;color:var(--brown-900)}
.finder-options{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.finder-options button{display:flex;align-items:center;gap:.75rem;height:auto;min-height:3.5rem;padding:.75rem 1rem;text-transform:none;font-size:1rem;font-weight:500;background:var(--brown-50);color:var(--text);box-shadow:none;text-align:left;border:2px solid transparent;transition:all .2s}
.finder-options button:hover,.finder-options button:focus{background:#fff8e1;border-color:var(--amber)}
.finder-options button .material-icons{color:var(--brown-500)}
.finder-result{display:none;animation:fadeUp .5s var(--ease)}
.finder-result.active{display:block}
.finder-result h3{font-size:1.6rem;font-weight:400;color:var(--brown-900);margin:.25rem 0 .75rem}
.finder-result .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Gallery */
.gallery-grid{display:grid;grid-auto-flow:dense;gap:.75rem;grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px}.gallery-grid .tall{grid-row:span 2}.gallery-grid .wide{grid-column:span 2}}
.gallery-grid a{position:relative;display:block;overflow:hidden;border-radius:var(--radius);box-shadow:var(--z1)}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .4s}
.gallery-grid a::after{content:"zoom_in";font-family:'Material Icons';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;background:rgba(62,39,35,.45);opacity:0;transition:opacity .3s}
.gallery-grid a:hover img{transform:scale(1.08)}
.gallery-grid a:hover::after{opacity:1}

/* Team */
.team-card{text-align:center;padding-bottom:1.5rem}
.team-card .photo{aspect-ratio:1/1;overflow:hidden;background:var(--brown-200)}
.team-card .photo img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s var(--ease),filter .4s;filter:grayscale(.35)}
.team-card:hover .photo img{transform:scale(1.05);filter:none}
.team-card h3{margin:1.25rem 0 .25rem}
.team-card .role{color:var(--amber-900);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem}
.team-card p{padding:0 1.25rem;color:var(--text-2);line-height:1.6;margin:0}

/* Counters */
.counter-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}
.counter-grid strong{display:block;font-size:3rem;font-weight:300;color:var(--amber);line-height:1}
.counter-grid span{display:block;margin-top:.5rem;color:rgba(255,255,255,.78);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}

/* FAQ accordion */
.faq-list{max-width:860px;margin:0 auto}
.faq-item{background:#fff;border-radius:var(--radius);box-shadow:var(--z1);margin-bottom:.75rem;overflow:hidden;transition:box-shadow .3s}
.faq-item[open]{box-shadow:var(--z2)}
.faq-item summary{list-style:none;cursor:pointer;padding:1.1rem 3.25rem 1.1rem 1.25rem;font-weight:600;position:relative;line-height:1.45;color:var(--brown-900)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"add";font-family:'Material Icons';position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1.8rem;height:1.8rem;border-radius:50%;background:var(--brown-50);display:flex;align-items:center;justify-content:center;color:var(--brown-500);transition:transform .3s var(--ease),background .3s}
.faq-item[open] summary::after{content:"remove";background:var(--amber);color:var(--brown-900);transform:translateY(-50%) rotate(180deg)}
.faq-item summary:hover{color:var(--amber-900)}
.faq-answer{padding:0 1.25rem 1.1rem;color:var(--text-2);line-height:1.7}
.faq-answer p{margin:0 0 .75rem}.faq-answer p:last-child{margin-bottom:0}
.faq-item.is-hidden{display:none}
.faq-search{max-width:860px;margin:0 auto 2rem;position:relative}
.faq-search input{width:100%;box-sizing:border-box;padding:1rem 1rem 1rem 3rem;font-size:1rem;border:0;border-bottom:2px solid var(--amber);background:#fff;box-shadow:var(--z1)}
.faq-search .material-icons{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--brown-300)}
.faq-cat{max-width:860px;margin:2.5rem auto 1rem;font-size:1.4rem;font-weight:400;color:var(--brown-700);display:flex;align-items:center;gap:.5rem}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--brown-700),var(--brown-500));color:#fff;border-radius:var(--radius);box-shadow:var(--z3);padding:clamp(2rem,5vw,3.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;width:18rem;height:18rem;border-radius:50%;background:rgba(255,193,7,.15);right:-5rem;top:-7rem}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;margin:0 0 .5rem;color:#fff}
.cta-band p{margin:0;color:var(--white-87);max-width:36em;line-height:1.6}
.cta-band>*{position:relative}

/* ---------- Forms ---------- */
.form-card{background:#fff;box-shadow:var(--z2);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem)}
.form-grid{display:grid;gap:1.25rem 1.5rem;grid-template-columns:1fr}
@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}
.field{position:relative;display:flex;flex-direction:column}
.field label{font-size:.85rem;font-weight:600;color:var(--brown-700);margin-bottom:.35rem}
.field label .req{color:#c62828}
.field input,.field select,.field textarea{font-family:inherit;font-size:1rem;padding:.75rem .85rem;border:0;border-bottom:2px solid var(--brown-200);background:#faf7f6;border-radius:var(--radius) var(--radius) 0 0;color:var(--text);transition:border-color .25s,background .25s;width:100%;box-sizing:border-box}
.field textarea{min-height:9rem;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--amber);background:#fff8e1}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-bottom-color:#c62828;background:#ffebee}
.field.valid input,.field.valid select,.field.valid textarea{border-bottom-color:#43a047}
.field .error-msg{color:#c62828;font-size:.8rem;min-height:1.1em;margin-top:.3rem;display:flex;align-items:center;gap:.25rem}
.field .hint{font-size:.78rem;color:var(--text-2);margin-top:.3rem;display:flex;justify-content:space-between}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.5}
.check input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--amber-900);flex-shrink:0}
.radio-row{display:flex;flex-wrap:wrap;gap:.75rem}
.radio-row label{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;background:var(--brown-50);border-radius:999px;cursor:pointer;font-weight:500;font-size:.9rem;color:var(--text);margin:0;transition:background .2s}
.radio-row input{accent-color:var(--amber-900)}
.radio-row label:has(input:checked){background:#ffe082}
.hp-field{position:absolute!important;left:-9999em!important;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:1rem;font-weight:600}
.form-status.error{color:#c62828}
.btn[disabled]{opacity:.7;pointer-events:none}
.spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:none}
.is-loading .spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

.info-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.info-list li{display:flex;gap:1rem;align-items:flex-start;background:#fff;padding:1.25rem;border-radius:var(--radius);box-shadow:var(--z1)}
.info-list .material-icons{color:var(--amber-900);background:#fff8e1;border-radius:50%;padding:.5rem}
.info-list strong{display:block;color:var(--brown-900);margin-bottom:.2rem}
.info-list p{margin:0;color:var(--text-2);line-height:1.55}

/* Newsletter in footer */
.newsletter-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.newsletter-form input[type=email]{flex:1 1 180px;min-width:0;padding:.65rem .75rem;border:0;border-bottom:2px solid var(--amber);background:rgba(0,0,0,.18);color:#fff;font-family:inherit;font-size:.95rem}
.newsletter-form input::placeholder{color:rgba(255,255,255,.6)}
.newsletter-form .error-msg{flex-basis:100%;color:#ffcdd2;font-size:.8rem;min-height:1em}
.site-footer .footer-widget-panel{max-width:1200px;margin:0 auto;padding:2.5rem 1rem 1rem}
.site-footer .widget-title{font-size:1.25rem;font-weight:500;color:#fff;margin:0 0 1rem}
.site-footer .widget p{line-height:1.65;color:var(--white-87);margin:0 0 .75rem}
.site-footer ul.footer-links{list-style:none;padding:0;margin:0}
.site-footer ul.footer-links li{padding:.25rem 0}
.site-footer .site-info{max-width:1200px;margin:0 auto;padding:1.25rem 1rem 1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem}
.site-footer .site-info a{border-bottom:0}
.footer-legal{display:flex;flex-wrap:wrap;gap:1rem}
.social-row{display:flex;gap:.5rem;margin-top:1rem}
.social-row a:link,.social-row a:visited{display:inline-flex;width:2.4rem;height:2.4rem;border-radius:50%;align-items:center;justify-content:center;background:rgba(0,0,0,.2);border:0;transition:background .25s,transform .25s}
.social-row a:hover{background:var(--amber);color:var(--brown-900)!important;transform:translateY(-3px);border:0}
.social-row .material-icons{font-size:1.2rem}
#cookie-settings-link{background:none;box-shadow:none;padding:0;height:auto;text-transform:none;font-size:inherit;font-weight:inherit;color:rgba(255,255,255,.87);border-bottom:1px solid rgba(0,0,0,.4);cursor:pointer;line-height:inherit}
#cookie-settings-link:hover{color:#fff;background:none}

/* ---------- Articles (single) ---------- */
.single .site-main{padding-top:1.5rem;padding-bottom:2rem}
.single .post .entry-header{padding-top:2rem}
.single .post .entry-title{font-size:clamp(1.75rem,3.4vw,2.5rem);font-weight:300;color:var(--brown-500);line-height:1.2;margin-top:.5rem}
.entry-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center}
.entry-meta>div{display:flex;align-items:center}
.entry-meta .reading-time,.entry-meta .byline{color:var(--text-2);font-size:.9rem}
.post-thumbnail-hero{margin:1.5rem 0 0}
.post-thumbnail-hero img{display:block;width:100%;max-height:520px;object-fit:cover}
.entry-content{font-size:1.05rem}
.entry-content p,.entry-content li{line-height:1.8}
.entry-content h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;color:var(--brown-900);scroll-margin-top:1.25rem;margin-top:2.75rem}
.entry-content h3{font-size:1.3rem;font-weight:500;color:var(--brown-700);margin-top:1.75rem}
.entry-content .lead{font-size:1.2rem;line-height:1.75;color:rgba(0,0,0,.75)}
.entry-content figure{margin:2rem auto}
.entry-content figure img{display:block;margin:0 auto;border-radius:var(--radius);box-shadow:var(--z1);cursor:zoom-in}
.entry-content figcaption{text-align:center;font-size:.85rem;color:var(--text-2);margin-top:.6rem}
.entry-content blockquote{border-left:4px solid var(--amber);background:var(--brown-50);margin:1.5rem 0;padding:1rem 1.25rem;font-size:1.1rem;font-style:italic}
.key-takeaways{background:#fff8e1;border-left:4px solid var(--amber);padding:1.25rem 1.5rem;margin:1.75rem 0;border-radius:var(--radius)}
.key-takeaways .kt-title{display:flex;align-items:center;gap:.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:var(--brown-700);margin:0 0 .5rem}
.key-takeaways ul{margin:0;padding-left:1.25rem}
.key-takeaways li{margin:.3rem 0}
.callout{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem 1.25rem;margin:1.5rem 0;border-radius:var(--radius);line-height:1.7}
.callout>.material-icons{flex-shrink:0;margin-top:.15rem}
.callout-tip{background:#e8f5e9;color:#1b5e20}.callout-tip>.material-icons{color:#43a047}
.callout-warning{background:#fff3e0;color:#7a3e00}.callout-warning>.material-icons{color:var(--amber-900)}
.callout-info{background:#eceff1;color:#263238}.callout-info>.material-icons{color:#607d8b}
.checklist{list-style:none;padding-left:0!important}
.checklist li{position:relative;padding-left:2rem;margin:.45rem 0}
.checklist li::before{content:"task_alt";font-family:'Material Icons';position:absolute;left:0;top:.05rem;color:var(--amber-900);font-size:1.3rem}
.inline-cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:linear-gradient(120deg,var(--brown-700),var(--brown-500));color:#fff;padding:1.5rem 1.75rem;border-radius:var(--radius);box-shadow:var(--z2);margin:2.25rem 0}
.inline-cta p{margin:0;color:var(--white-87);line-height:1.6}
.inline-cta .inline-cta-title{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:.25rem}
.article-faq{margin-top:3rem}
.toc{background:var(--brown-50);border-radius:var(--radius);padding:1.25rem 1.5rem;margin:2rem 0}
.toc-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;background:none;box-shadow:none;padding:0;height:auto;color:var(--brown-900);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.toc-toggle:hover,.toc-toggle:focus{background:none;color:var(--amber-900)}
.toc-toggle .material-icons{transition:transform .3s}
.toc.collapsed .toc-toggle .material-icons{transform:rotate(-90deg)}
.toc ol{margin:.75rem 0 0;padding-left:1.25rem;columns:2 260px;column-gap:2rem}
.toc.collapsed ol{display:none}
.toc li{margin:.3rem 0;break-inside:avoid;line-height:1.5}
.toc a{text-decoration:none;color:var(--brown-700)}
.toc a.active{color:var(--amber-900);font-weight:600}
.share-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:2.5rem 0 1rem;padding:1rem 0;border-top:1px solid var(--brown-50);border-bottom:1px solid var(--brown-50)}
.share-bar>span{font-weight:600;margin-right:.5rem;color:var(--brown-700)}
.share-bar a,.share-bar button{display:inline-flex;align-items:center;gap:.35rem;height:2.25rem;padding:0 .9rem;border-radius:999px;background:var(--brown-50);color:var(--brown-700);text-decoration:none;font-size:.8rem;font-weight:600;box-shadow:none;text-transform:none;transition:background .2s,transform .2s}
.share-bar a:hover,.share-bar button:hover{background:var(--amber);color:var(--text);transform:translateY(-2px)}
.share-bar .material-icons{font-size:1.05rem}
.author-box{display:flex;gap:1.25rem;align-items:center;background:var(--brown-50);padding:1.5rem;border-radius:var(--radius);margin:2rem 0}
.author-box img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:top;flex-shrink:0;box-shadow:var(--z1)}
.author-box p{margin:.25rem 0 0;line-height:1.6;color:var(--text-2)}
.author-box strong{color:var(--brown-900);font-size:1.1rem}
.related{max-width:80em;margin:0 auto}
.related h2{font-size:1.75rem;font-weight:300;color:var(--brown-900);margin:2.5rem 0 1.25rem}
.post-navigation{margin:2rem 0 0!important;width:auto!important;border-radius:var(--radius)}
.post-navigation a{text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}
.post-navigation .nav-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.video-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:#000;box-shadow:var(--z2);padding:0;height:auto}
.video-facade img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .3s,transform .6s}
.video-facade:hover img{opacity:.85;transform:scale(1.03)}
.video-facade .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4.5rem;height:4.5rem;border-radius:50%;background:var(--amber);color:var(--brown-900);display:flex;align-items:center;justify-content:center;box-shadow:var(--z3);animation:pulse 2s infinite}
.video-facade .play .material-icons{font-size:2.75rem}
.video-facade .vf-title{position:absolute;left:1rem;right:1rem;bottom:.75rem;color:#fff;font-weight:600;text-align:left;text-shadow:0 1px 3px rgba(0,0,0,.6);text-transform:none;font-size:1rem}
.video-facade .vf-note{position:absolute;top:.6rem;right:.75rem;font-size:.7rem;color:rgba(255,255,255,.8);text-transform:none;font-weight:500}
.video-embed{position:relative;aspect-ratio:16/9;width:100%}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,193,7,.7)}70%{box-shadow:0 0 0 18px rgba(255,193,7,0)}100%{box-shadow:0 0 0 0 rgba(255,193,7,0)}}

/* Blog listing */
.blog-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:2rem}
.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.filter-chips button{height:2.4rem;border-radius:999px;background:#fff;color:var(--brown-700);box-shadow:var(--z1);text-transform:none;font-weight:600;font-size:.9rem;padding:0 1.1rem;transition:background .2s,color .2s,transform .2s}
.filter-chips button:hover{background:var(--brown-50);transform:translateY(-1px)}
.filter-chips button.active{background:var(--brown-500);color:#fff}
.blog-search{position:relative;flex:1 1 260px;max-width:380px}
.blog-search input{width:100%;box-sizing:border-box;padding:.7rem .9rem .7rem 2.6rem;border:0;border-bottom:2px solid var(--amber);background:#fff;box-shadow:var(--z1);font-family:inherit;font-size:.95rem}
.blog-search .material-icons{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--brown-300)}
.results-note{color:var(--text-2);margin:-1rem 0 1.5rem;min-height:1.2em}
.post-grid .is-hidden{display:none}
.empty-state{display:none;text-align:center;padding:3rem 1rem;color:var(--text-2)}
.empty-state.show{display:block}
.empty-state .material-icons{font-size:3rem;color:var(--brown-200)}
.sort-select{padding:.6rem .8rem;border:0;border-bottom:2px solid var(--brown-200);background:#fff;font-family:inherit;box-shadow:var(--z1)}

/* ---------- Tools ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.tabs button{height:auto;min-height:2.75rem;padding:.5rem 1.1rem;display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--brown-700);text-transform:none;font-size:.95rem;font-weight:600;border-radius:999px}
.tabs button[aria-selected=true]{background:var(--brown-500);color:#fff;box-shadow:var(--z2)}
.tabs button:hover{background:var(--brown-50)}
.tabs button[aria-selected=true]:hover{background:var(--brown-700)}
.tool-panel{display:none;animation:fadeUp .4s var(--ease)}
.tool-panel.active{display:block}
.tool-card{background:#fff;box-shadow:var(--z2);border-radius:var(--radius);padding:clamp(1.25rem,4vw,2.5rem);display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:900px){.tool-card{grid-template-columns:1fr 1fr}}
.tool-card h2{font-size:1.75rem;font-weight:400;color:var(--brown-900);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}
.tool-card h2 .material-icons{color:var(--amber-900)}
.tool-card .desc{color:var(--text-2);line-height:1.65;margin:0 0 1.25rem}
.unit-toggle{display:inline-flex;background:var(--brown-50);border-radius:999px;padding:.25rem;margin-bottom:1rem}
.unit-toggle button{height:2rem;border-radius:999px;background:transparent;box-shadow:none;color:var(--brown-700);text-transform:none;font-weight:600;padding:0 1rem}
.unit-toggle button.active{background:#fff;box-shadow:var(--z1);color:var(--brown-900)}
.result-box{background:var(--brown-50);border-radius:var(--radius);padding:1.5rem;min-height:12rem;display:flex;flex-direction:column;justify-content:center}
.result-box .big{font-size:3.25rem;font-weight:300;color:var(--brown-900);line-height:1}
.result-box .label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);margin-bottom:.35rem}
.result-box .placeholder{color:var(--text-2);text-align:center}
.result-box .placeholder .material-icons{font-size:3rem;color:var(--brown-200);display:block;margin-bottom:.5rem}
.bmi-scale{position:relative;height:12px;border-radius:6px;margin:1.5rem 0 .5rem;background:linear-gradient(90deg,#64b5f6 0 18%,#81c784 18% 45%,#ffb74d 45% 70%,#e57373 70% 100%)}
.bmi-scale .marker{position:absolute;top:-6px;width:4px;height:24px;background:var(--brown-900);border-radius:2px;transition:left .6s var(--ease);left:0}
.bmi-legend{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-2)}
.macro-bars{display:grid;gap:.75rem;margin-top:1rem}
.macro-bars .bar{display:grid;grid-template-columns:5.5rem 1fr 4.5rem;align-items:center;gap:.5rem;font-size:.9rem}
.macro-bars .track{height:10px;background:#fff;border-radius:5px;overflow:hidden}
.macro-bars .fill{height:100%;width:0;border-radius:5px;transition:width .8s var(--ease)}
.kpis{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1rem}
.kpis div{background:#fff;padding:.75rem;border-radius:var(--radius);text-align:center}
.kpis strong{display:block;font-size:1.4rem;font-weight:500;color:var(--brown-900)}
.kpis span{font-size:.75rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}
.pct-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem;background:#fff}
.pct-table th,.pct-table td{padding:.45rem .6rem;border-bottom:1px solid var(--brown-50);text-align:left}
.pct-table th{color:var(--brown-700);font-weight:600}
.timer-display{text-align:center}
.timer-phase{display:inline-block;padding:.35rem 1rem;border-radius:999px;background:var(--brown-500);color:#fff;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}
.timer-phase.work{background:#e53935}.timer-phase.rest{background:#43a047}.timer-phase.done{background:var(--amber);color:var(--text)}
.timer-ring{position:relative;width:min(260px,70vw);aspect-ratio:1;margin:1.25rem auto}
.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.timer-ring circle{fill:none;stroke-width:10}
.timer-ring .bg{stroke:#fff}
.timer-ring .fg{stroke:var(--amber-900);stroke-linecap:round;transition:stroke-dashoffset .25s linear}
.timer-ring .time{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.timer-ring .time strong{font-size:3.5rem;font-weight:300;color:var(--brown-900);font-variant-numeric:tabular-nums}
.timer-ring .time span{font-size:.85rem;color:var(--text-2)}
.timer-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}
.timer-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.budget-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;max-height:30rem;overflow:auto;padding-right:.25rem}
.budget-list label{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.7rem .9rem;border:2px solid var(--brown-50);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,background .2s}
.budget-list label:hover{border-color:var(--brown-200)}
.budget-list input{width:1.15rem;height:1.15rem;accent-color:var(--amber-900)}
.budget-list label.checked{border-color:var(--amber);background:#fff8e1}
.budget-list .bl-name{font-weight:600}
.budget-list .bl-name small{display:block;font-weight:400;color:var(--text-2)}
.budget-list .bl-price{font-weight:700;color:var(--brown-700);white-space:nowrap}
.tier-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.budget-meter{height:14px;background:#fff;border-radius:7px;overflow:hidden;margin:.75rem 0}
.budget-meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#81c784,var(--amber),#e57373);transition:width .6s var(--ease)}

/* ---------- Modal (dialog) ---------- */
dialog.modal{border:0;padding:0;border-radius:var(--radius);box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);max-width:min(720px,calc(100vw - 2rem));width:100%;max-height:calc(100vh - 2rem)}
dialog.modal::backdrop{background:rgba(30,18,16,.6);backdrop-filter:blur(2px)}
dialog.modal[open]{animation:modalIn .35s var(--ease)}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.modal-media{aspect-ratio:21/9;overflow:hidden}
.modal-media img{width:100%;height:100%;object-fit:cover;display:block}
.modal-body{padding:1.75rem}
.modal-body h2{font-size:1.75rem;font-weight:400;color:var(--brown-900);margin:0 0 .5rem}
.modal-body p,.modal-body li{line-height:1.7}
.modal-close{position:absolute;right:.75rem;top:.75rem;width:2.5rem;height:2.5rem;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);color:var(--brown-900)}

/* ---------- Cookie banner, toast, back-to-top ---------- */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1200;max-width:560px;background:#fff;box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);border-radius:var(--radius);padding:1.25rem 1.5rem;transform:translateY(140%);transition:transform .5s var(--ease);border-top:4px solid var(--amber)}
.cookie-banner.show{transform:none}
.cookie-banner p{margin:0 0 1rem;line-height:1.6;font-size:.92rem}
.cookie-banner .title{font-weight:700;color:var(--brown-900);display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}
.cookie-banner .actions{display:flex;flex-wrap:wrap;gap:.5rem}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,150%);background:var(--brown-900);color:#fff;padding:.85rem 1.25rem;border-radius:var(--radius);box-shadow:var(--z3);z-index:1300;transition:transform .4s var(--ease);display:flex;align-items:center;gap:.5rem;font-weight:500}
.toast.show{transform:translate(-50%,0)}
.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;width:3.5rem;height:3.5rem;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--amber);color:var(--brown-900);box-shadow:var(--z3);z-index:900;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .3s,transform .3s var(--ease)}
.back-to-top.show{opacity:1;transform:none;pointer-events:auto}
.back-to-top:hover{background:var(--amber-700)}

/* ---------- Thank you / 404 ---------- */
.status-page{text-align:center;max-width:720px;margin:0 auto}
.status-icon{width:6rem;height:6rem;border-radius:50%;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:#e8f5e9;color:#2e7d32;animation:popIn .6s var(--ease)}
.status-icon .material-icons{font-size:3.5rem}
.status-icon.err{background:#fff3e0;color:var(--amber-900)}
@keyframes popIn{0%{transform:scale(0)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
.status-page h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:300;color:var(--brown-900);margin:0 0 1rem}
.status-page .big404{font-size:clamp(5rem,16vw,9rem);font-weight:300;color:var(--brown-200);line-height:1;margin:0}
.next-steps{text-align:left;margin:2rem 0}
.actions-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden}
.confetti i{position:absolute;top:-10px;width:8px;height:14px;opacity:.9;animation:confetti 3s linear forwards}
@keyframes confetti{to{transform:translateY(105vh) rotate(720deg);opacity:.2}}

/* ---------- Policy pages ---------- */
.policy-layout{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:1000px){.policy-layout{grid-template-columns:260px 1fr}.policy-nav{position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto}}
.policy-nav{background:#fff;box-shadow:var(--z1);border-radius:var(--radius);padding:1.25rem}
.policy-nav p{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--brown-700);margin:0 0 .5rem}
.policy-nav ol{margin:0;padding-left:1.1rem;font-size:.9rem}
.policy-nav li{margin:.35rem 0;line-height:1.4}
.policy-nav a{text-decoration:none;color:var(--brown-700)}
.policy-nav a.active{color:var(--amber-900);font-weight:600}
.policy-content{background:#fff;box-shadow:var(--z1);border-radius:var(--radius);padding:clamp(1.25rem,4vw,3rem)}
.policy-content h2{font-size:1.5rem;font-weight:500;color:var(--brown-900);margin-top:2.25rem;scroll-margin-top:1rem}
.policy-content h3{font-size:1.15rem;font-weight:600;color:var(--brown-700)}
.policy-content p,.policy-content li{line-height:1.75}
.policy-content code{background:var(--brown-50);padding:.1em .35em;border-radius:2px;font-size:.9em}
.policy-updated{display:inline-flex;align-items:center;gap:.4rem;background:var(--brown-50);padding:.4rem .8rem;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--brown-700)}
.policy-updated .material-icons{font-size:1.1rem}
.policy-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}

/* misc */
.tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem}
.tag-cloud a{font-size:.85rem;background:var(--brown-50);padding:.3rem .65rem;border-radius:999px;text-decoration:none}
.values-list{list-style:none;padding:0;display:grid;gap:1rem}
.values-list li{display:flex;gap:1rem;align-items:flex-start}
.values-list .material-icons{color:var(--amber-900);background:#fff8e1;padding:.55rem;border-radius:50%}
.values-list strong{display:block;color:var(--brown-900);margin-bottom:.15rem}
.values-list p{margin:0;color:var(--text-2);line-height:1.6}
.timeline{position:relative;max-width:820px;margin:0 auto;padding-left:2rem;border-left:3px solid var(--brown-200)}
.timeline-item{position:relative;margin-bottom:2rem}
.timeline-item::before{content:"";position:absolute;left:calc(-2rem - 9px);top:.25rem;width:15px;height:15px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px #fff}
.timeline-item .year{font-weight:700;color:var(--amber-900);letter-spacing:.06em}
.timeline-item h3{margin:.15rem 0 .35rem;font-size:1.2rem;font-weight:500;color:var(--brown-900)}
.timeline-item p{margin:0;color:var(--text-2);line-height:1.65}

/* Loader fade */
#loader-wrapper{transition:opacity .5s var(--ease),visibility .5s}
#loader-wrapper.loaded{opacity:0;visibility:hidden}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-aos]{opacity:1!important;transform:none!important}
}
@media print{
  .site-header,.site-footer,#secondary,.back-to-top,.cookie-banner,.share-bar,.related,.inline-cta,#loader-wrapper,.reading-progress{display:none!important}
  body{background:#fff!important}
}

/* --- refinements --- */
#secondary .widget_search .searchform label{flex:1;min-width:0}
#secondary .widget_search .search-field{width:100%;box-sizing:border-box;font-size:1rem;padding:.6rem .5rem}
#secondary .widget_search .search-icon{flex-shrink:0;min-width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0}
#secondary p{line-height:1.6}
@media screen and (min-width:52.5em){.single main.jgd-grid-wrap{margin-left:auto!important;margin-right:auto!important;width:92%!important;max-width:1080px}}
.single .related{padding:0 0 2rem}
.data-table td:first-child{min-width:150px}
.article-breadcrumbs a{text-decoration:none}
[hidden]{display:none!important}
.policy-nav ol{list-style:none;padding-left:0}
.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:37.49em){.cookie-banner{left:.5rem;right:.5rem;bottom:.5rem;padding:1rem}.cookie-banner p{font-size:.85rem;margin-bottom:.75rem}}
