/* =====================================================================
   v4 design layer (loaded after site.css). Owner: graphic design.
   Editorial agency look: numbered sections, hairline rules, original
   inline-SVG art, one coherent button system, plain line icons.
   Contrast (WCAG 2.x, computed): night on lime 12.9, white on green 7.75,
   white on night 16.5, white on WhatsApp green 5.4, green on sand 6.4,
   muted on paper 5.6, muted on sand 5.0, lime on night 12.9.
   ===================================================================== */

:root{
	--sand:#ECEADF;--paper:#FBFAF6;--wa:#0E7A45;--wa-deep:#0A6639;
	--line:rgba(11,31,25,.14);--line-strong:rgba(11,31,25,.9);
	/* type scale */
	--t-xs:13px;--t-sm:14.5px;--t-lead:clamp(17px,1.35vw,20px);
	--t-h1:clamp(30px,5vw,60px);--t-h2:clamp(27px,3.3vw,44px);--t-h3:clamp(19px,1.6vw,22px);
	/* spacing scale (4px base) */
	--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;
	--section:clamp(56px,8vw,112px);
	--r:14px;--r-lg:22px;
	
}

/* ---------- Type ---------- */
body{font-size:clamp(16px,1.05vw,17px)}
.h-display{font-size:var(--t-h1);line-height:1.04;letter-spacing:-.038em;margin-bottom:var(--s4)}
.h-display--md{font-size:clamp(28px,4.2vw,52px)}
.h-display--sm{font-size:clamp(26px,3.4vw,40px)}
.h2{font-size:var(--t-h2);line-height:1.1;letter-spacing:-.032em}
.h3{font-size:var(--t-h3)}
[dir=rtl] .h-display,[dir=rtl] .h2{line-height:1.32;letter-spacing:0}
.lead{font-size:var(--t-lead);line-height:1.6}
.small{font-size:var(--t-sm)}
.eyebrow{font-size:12.5px;letter-spacing:.14em}

/* Numbered editorial section labels: 01 / What we do (counter, no markup needed) */
main{counter-reset:sec}
.section__head .eyebrow{counter-increment:sec}
.section__head .eyebrow::before{content:counter(sec,decimal-leading-zero) " /";width:auto;height:auto;border-radius:0;background:none!important;box-shadow:none;font:500 12.5px var(--mono);letter-spacing:.04em;color:currentColor;opacity:.62;margin-inline-end:2px}
[dir=rtl] .section__head .eyebrow::before{font-family:var(--mono)}
.section__head{max-width:820px;margin-bottom:clamp(28px,4vw,52px)}
.section__head .h2{margin-bottom:0}
@media (min-width:920px){
	.section__head:has(>.eyebrow):not(.section__head--center):not(.section__head--stack){max-width:none;display:grid;grid-template-columns:minmax(190px,230px) minmax(0,800px);column-gap:clamp(32px,5vw,72px);align-items:start;padding-top:18px;border-top:1px solid var(--line-strong)}
	.section__head:has(>.eyebrow):not(.section__head--center)>.eyebrow{grid-row:1/span 4;margin:3px 0 0}
	.section__head:has(>.eyebrow):not(.section__head--center)>:not(.eyebrow){grid-column:2}
	.container--narrow .section__head:has(>.eyebrow):not(.section__head--center),.container--mid .section__head:has(>.eyebrow):not(.section__head--center){display:block;max-width:820px;padding-top:0;border-top:0}
	.container--narrow .section__head:has(>.eyebrow):not(.section__head--center)>.eyebrow,.container--mid .section__head:has(>.eyebrow):not(.section__head--center)>.eyebrow{margin:0 0 14px;grid-row:auto}
	.section--dark .section__head:has(>.eyebrow){border-top-color:rgba(232,245,238,.4)}
}
.section__head--center .eyebrow{justify-content:center}

/* Section rhythm: paper > sand > white > night, hairlines between like sections */
.section{padding-block:var(--section)}
.section--tight{padding-block:clamp(36px,5.5vw,72px)}
.section--sand{background:var(--sand)}
.section--dark{background:var(--night)}
.section--dark::before{display:block;content:"";position:absolute;inset:0;z-index:-1;background:url("../img/contour.svg") right top/cover no-repeat;opacity:.55;-webkit-mask-image:linear-gradient(115deg,transparent 35%,#000);mask-image:linear-gradient(115deg,transparent 35%,#000);border:0}
.section--dark::after{display:none}
.section:not([class*=section--])+.section:not([class*=section--]){border-top:1px solid var(--line)}
.section--dark .h2,.section--dark h3{color:#fff}
.section--dark .accent,.cta-band .accent,.news-strip .accent,.tile--dark .accent{background:none;color:var(--accent);padding:0}
.accent{padding-inline:3px}
.section--dark .accent,.hero .accent,.cta-band .accent{text-shadow:none}

/* ---------- Button system ---------- */
.btn.btn{
	--b-bg:var(--accent);--b-fg:var(--night);--b-bd:rgba(3,36,28,.22);
	--b-bg-h:#D6F98F;--b-fg-h:var(--night);--b-bd-h:rgba(3,36,28,.45);--b-bg-a:#B4E552;
	min-height:var(--bh);padding:0 26px;border-radius:999px;border:1.5px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);box-shadow:none;
	font:600 16px/1.2 var(--font);letter-spacing:0;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s;-webkit-tap-highlight-color:transparent}
.btn.btn:hover{background:var(--b-bg-h);color:var(--b-fg-h);border-color:var(--b-bd-h);transform:translateY(-1px);box-shadow:0 8px 20px -12px rgba(3,36,28,.55)}
.btn.btn:active{background:var(--b-bg-a);transform:none;box-shadow:none}
.btn.btn:focus-visible{outline:2px solid var(--night);outline-offset:2px;box-shadow:0 0 0 5px var(--accent);border-radius:999px}
.btn.btn[disabled],.btn.btn[aria-disabled=true],.btn.btn.is-disabled{--b-bg:#DDE2DE;--b-fg:#4A5A53;--b-bd:#C9D0CC;background:#DDE2DE;color:#4A5A53;border-color:#C9D0CC;box-shadow:none;transform:none;cursor:not-allowed;pointer-events:none}
.btn.btn.is-loading{position:relative;color:transparent;pointer-events:none}
.btn.btn.is-loading::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:2.5px solid var(--b-fg);border-top-color:transparent;animation:spin .7s linear infinite}
.btn.btn--primary{--b-bg:var(--accent);--b-fg:var(--night)}
.btn.btn--green{--b-bg:var(--primary);--b-fg:#fff;--b-bd:var(--primary);--b-bg-h:#08503C;--b-fg-h:#fff;--b-bd-h:#08503C;--b-bg-a:var(--primary-deep)}
.btn.btn--dark{--b-bg:var(--night);--b-fg:#fff;--b-bd:var(--night);--b-bg-h:#006C35;--b-fg-h:#fff;--b-bd-h:#006C35;--b-bg-a:var(--primary-deep)}
.btn.btn--wa{--b-bg:var(--wa);--b-fg:#fff;--b-bd:var(--wa);--b-bg-h:var(--wa-deep);--b-fg-h:#fff;--b-bd-h:var(--wa-deep);--b-bg-a:#085530}
.btn.btn--outline,.btn.btn--ghost{--b-bg:transparent;--b-fg:var(--ink);--b-bd:var(--ink);--b-bg-h:var(--ink);--b-fg-h:#fff;--b-bd-h:var(--ink);--b-bg-a:#27413A;backdrop-filter:none}
.btn.btn--outline:active,.btn.btn--ghost:active{color:#fff}
.btn.btn--link{--b-bg:transparent;--b-fg:var(--primary);--b-bd:transparent;--b-bg-h:transparent;--b-fg-h:var(--primary-deep);--b-bd-h:transparent;padding-inline:4px;text-decoration:underline;text-underline-offset:4px;border-radius:6px}
.btn.btn--icon{width:var(--bh);padding:0}
.btn.btn--sm{--bh:42px;padding:0 18px;font-size:15px}
.btn.btn--lg{--bh:58px;padding:0 32px;font-size:17px}
.btn svg{width:20px;height:20px}
.btn .ico{stroke-width:1.7}
/* dark surfaces: flip variants whose colour would vanish into the background */
:is(.section--dark,.site-footer,.news-strip,.lead-box,.aside-cta,.tile--dark,.card--dark,.popup--dark,.hero--dark,.cta-band) .btn.btn--green{--b-bg:var(--accent);--b-fg:var(--night);--b-bd:rgba(3,36,28,.22);--b-bg-h:#D6F98F;--b-fg-h:var(--night);--b-bd-h:rgba(3,36,28,.45);--b-bg-a:#B4E552}
:is(.section--dark,.site-footer,.news-strip,.lead-box,.aside-cta,.tile--dark,.card--dark,.popup--dark,.hero--dark,.cta-band) .btn.btn--dark{--b-bg:#fff;--b-fg:var(--night);--b-bd:#fff;--b-bg-h:var(--accent);--b-fg-h:var(--night);--b-bd-h:var(--accent)}
:is(.section--dark,.site-footer,.news-strip,.lead-box,.aside-cta,.tile--dark,.card--dark,.popup--dark,.hero--dark,.cta-band) .btn:is(.btn--outline,.btn--ghost){--b-bg:transparent;--b-fg:#fff;--b-bd:rgba(255,255,255,.55);--b-bg-h:#fff;--b-fg-h:var(--night);--b-bd-h:#fff;--b-bg-a:#E4EEE9}
:is(.section--dark,.site-footer,.news-strip,.lead-box,.aside-cta,.tile--dark,.card--dark,.popup--dark,.hero--dark,.cta-band) .btn.btn--link{--b-fg:var(--accent);--b-fg-h:#fff}
:is(.section--dark,.site-footer,.news-strip,.lead-box,.aside-cta,.tile--dark,.card--dark,.hero--dark,.cta-band) .btn.btn:focus-visible{outline-color:#fff;box-shadow:0 0 0 5px var(--accent)}
/* lime surfaces: a lime button would disappear */
:is(.tile--lime,.badge--lime,.section--lime) .btn.btn--primary{--b-bg:var(--night);--b-fg:#fff;--b-bd:var(--night);--b-bg-h:#006C35;--b-fg-h:#fff;--b-bd-h:#006C35}
:is(.tile--lime,.section--lime) .btn:is(.btn--outline,.btn--ghost){--b-fg:var(--night);--b-bd:var(--night);--b-bg-h:var(--night);--b-fg-h:#fff}
/* sand surfaces: primary lime keeps a visible edge */
.section--sand .btn.btn--primary,.section--mint .btn.btn--primary{--b-bd:rgba(3,36,28,.4)}
.link-arrow{color:var(--primary);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:1px}
.link-arrow:hover{color:var(--primary-deep)}
.section--dark .link-arrow,.cta-band .link-arrow,.site-footer .link-arrow{color:var(--accent)}
.section--dark .link-arrow:hover{color:#fff}

/* ---------- Header / hero ---------- */
.site-header{background:rgba(251,250,246,.92)}
.brand__mark{border-radius:9px}
.hero{background:var(--bg);padding-block:clamp(28px,5vw,80px) clamp(44px,7vw,96px);border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;width:auto;aspect-ratio:auto;top:0;border-radius:0;background:url("../img/contour-dark.svg") right top/cover no-repeat;pointer-events:none}
.hero .h-display{font-size:clamp(29px,4.7vw,58px);line-height:1.06}
.hero--sm .h-display{font-size:clamp(28px,4.2vw,50px)}
.hero__grid{gap:clamp(24px,4.5vw,64px)}
@media (min-width:980px){.hero__grid{grid-template-columns:1.08fr .92fr}}
.hero .lead{max-width:600px}
.hero .btn-row{margin-top:var(--s5)}
.hero__proof{margin-top:var(--s5);gap:8px 22px}
.hero__proof li::before{width:16px;height:16px}
.hero .eyebrow{margin-bottom:var(--s3)}
.hero__visual{padding:0;position:relative}
.hero__visual .art-wrap{max-width:540px;margin-inline:auto}
.hero--sm .hero__visual .art-wrap{max-width:440px}
@media (max-width:979px){.hero__visual .art-wrap{max-width:380px;max-height:300px}.hero__visual .art{max-height:300px}.hero--sm .hero__visual{display:none}}
@media (max-width:640px){.hero__visual{margin-top:var(--s2)}.hero .lead{font-size:16.5px}.hero__proof{font-size:13.5px}}
.hero .float-chip{animation:none;border-radius:12px;box-shadow:var(--shadow);background:var(--paper)}
.hero .accent{padding-inline:3px}
.hero .breadcrumbs ol{margin-bottom:var(--s4)}

/* Original SVG art */
.art-wrap{width:100%;position:relative}
.art{width:100%;height:auto;display:block;overflow:visible}
[dir=rtl] .art{transform:scaleX(-1)}
.art .n{fill:var(--night)}.art .g{fill:var(--primary)}.art .l{fill:var(--accent)}.art .p{fill:#FBFAF6}.art .s{fill:#E4E2D6}
.art .st-n{stroke:var(--night)}.art .st-l{stroke:var(--accent)}.art .st-p{stroke:#FBFAF6}.art .st-g{stroke:var(--primary)}
.art .o1{opacity:.1}.art .o2{opacity:.2}.art .o3{opacity:.3}.art .o4{opacity:.4}.art .o5{opacity:.5}.art .o6{opacity:.6}.art .o8{opacity:.8}
.art .ico-art svg{color:var(--primary);stroke-width:1.2;width:96px;height:96px}
.art-wrap--flat .art{filter:none}

/* Image slots for Pexels (aspect ratios, object-fit, alt-friendly) */
.media-slot{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg);background:url("../img/contour-dark.svg") right top/cover no-repeat,var(--sand);aspect-ratio:var(--ar,4/3)}
.media-slot>img,.media-slot>picture,.media-slot>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-slot--16x9{--ar:16/9}.media-slot--3x2{--ar:3/2}.media-slot--4x3{--ar:4/3}.media-slot--1x1{--ar:1}.media-slot--4x5{--ar:4/5}.media-slot--21x9{--ar:21/9}
.media-slot--arch{border-radius:999px 999px var(--r-lg) var(--r-lg)}
.media-slot figcaption{position:absolute;inset-inline:0;bottom:0;padding:24px 16px 12px;color:#fff;background:linear-gradient(transparent,rgba(3,36,28,.75));font-size:13px}

/* ---------- Icons: plain line glyphs ---------- */
.ico{width:1.6em;height:1.6em;flex:none}
.ico-wrap{display:inline-flex;color:var(--primary)}
.card__icon{color:var(--primary)}
.card__icon svg,.ico-wrap svg{width:32px;height:32px;stroke-width:1.5}
.section--dark .ico-wrap,.card--dark .ico-wrap,.tile--dark .ico-wrap{color:var(--accent)}

/* ---------- Cards ---------- */
.card{border-radius:var(--r);background:var(--paper);border-color:var(--line);padding:clamp(20px,2.4vw,30px);gap:var(--s3)}
a.card:hover{transform:none;border-color:var(--ink);box-shadow:0 14px 30px -22px rgba(11,31,25,.5)}
.card__more{color:var(--primary);border-bottom:1.5px solid transparent;align-self:flex-start;transition:gap .2s}
a.card:hover .card__more{gap:14px;border-bottom-color:currentColor}
.card--dark{background:var(--night);border-color:var(--night);position:relative;overflow:hidden;isolation:isolate}
.card--dark::after{content:"";position:absolute;inset:0;z-index:-1;background:url("../img/contour.svg") right top/cover no-repeat;opacity:.8;-webkit-mask-image:linear-gradient(115deg,transparent 40%,#000);mask-image:linear-gradient(115deg,transparent 40%,#000)}
.card .tag{background:var(--mint);border-radius:6px}
.card--empty{background:repeating-linear-gradient(135deg,var(--paper) 0 10px,#F2F0E8 10px 20px);border-style:dashed;border-color:rgba(11,31,25,.3)}
.tile{border-radius:var(--r-lg)}
.stat{border-radius:var(--r);background:var(--paper)}
.stat strong{letter-spacing:-.04em}
.stats{gap:0;border-block:1px solid var(--line-strong)}
@media (min-width:900px){.stats>.stat+.stat{border-inline-start:1px solid var(--line)}}
.stats>.stat{background:none;border:0;border-radius:0;padding-inline:clamp(14px,2vw,28px)}
@media (max-width:899px){.stats>.stat{border-top:1px solid var(--line)}.stats>.stat:nth-child(-n+2){border-top:0}.stats>.stat:nth-child(even){border-inline-start:1px solid var(--line)}}
.section--dark .stats{border-color:rgba(232,245,238,.35)}
.section--dark .stats>.stat{background:none;border-color:rgba(232,245,238,.18)}

/* Steps: editorial columns, large numerals on a rule */
.steps>li{background:none;border:0;border-top:1.5px solid var(--ink);border-radius:0;padding:18px 0 0;padding-top:18px}
.steps>li::before{position:static;display:block;background:none;color:var(--primary);font:500 clamp(34px,3.4vw,46px)/1 var(--mono);padding:0;border-radius:0;margin-bottom:14px;letter-spacing:-.03em}
.section--dark .steps>li{background:none;border-top-color:rgba(232,245,238,.5)}
.section--dark .steps>li::before{background:none;color:var(--accent)}
.steps{gap:clamp(24px,3vw,40px) clamp(20px,3vw,40px)}

/* Check list: plain ticks */
.check-list li::before{background-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23C6F36B' stroke-width='3' d='m6 12 4 4 8-8'/%3E%3C/svg%3E");width:20px;height:20px;top:.3em}
.section--dark .check-list li::before{background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2303241C' stroke-width='3' d='m6 12 4 4 8-8'/%3E%3C/svg%3E")}

/* ---------- Tables ---------- */
.table-wrap{border-radius:var(--r);border:1px solid var(--ink);background:var(--paper);position:relative;
	background-image:linear-gradient(90deg,var(--paper) 30%,rgba(251,250,246,0)),linear-gradient(90deg,rgba(251,250,246,0),var(--paper) 70%),linear-gradient(90deg,rgba(11,31,25,.18),transparent),linear-gradient(270deg,rgba(11,31,25,.18),transparent);
	background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:36px 100%,36px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}
.table-wrap thead th{background:var(--night);color:var(--accent);font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:14px 18px}
[dir=rtl] .table-wrap thead th{font-family:var(--font);letter-spacing:0;text-transform:none;font-size:14px;font-weight:600}
.table-wrap tbody tr:nth-child(even) td{background:rgba(236,234,223,.55)}
.table-wrap tbody tr:hover td{background:var(--mint)}
.table-wrap td:first-child,.table-wrap th:first-child{position:sticky;inset-inline-start:0;z-index:1}
.table-wrap td:first-child{background:var(--paper)}
.table-wrap tbody tr:nth-child(even) td:first-child{background:#F1EFE6}
.table-wrap thead th:first-child{background:var(--night)}
.compare th:last-child{background:var(--primary)!important;color:#fff!important}
.compare td:last-child{background:rgba(228,241,232,.7)!important;font-weight:600}
.compare .yes::before,.compare .no::before{content:"";display:inline-block;width:18px;height:18px;border-radius:50%;margin-inline-end:10px;vertical-align:-4px;background:var(--primary) center/12px no-repeat}
.compare .yes::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23C6F36B' stroke-width='3.4' d='m6 12 4 4 8-8'/%3E%3C/svg%3E")}
.compare .no{color:var(--muted);font-weight:400}
.compare .no::before{background-color:#D9D6C8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2355665F' stroke-width='3' d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E")}
.prose table{border-color:var(--ink)}
.prose th{background:var(--night);color:var(--accent);font-size:13px}

/* ---------- Blog cards (Lodgify-style: image first, category, title, excerpt, meta) ---------- */
.posts{gap:clamp(28px,3vw,40px) clamp(18px,2vw,28px)}
.post-card{background:none;border:0;border-radius:0;overflow:visible;box-shadow:none}
.post-card:hover{transform:none;box-shadow:none}
.post-card a{gap:0}
.post-card__media,.post-cover{aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;position:relative;background:var(--sand)}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .post-card__media img,.post-card:hover .post-cover{transform:none}
.post-card:hover .post-card__media img{transform:scale(1.035)}
.post-cover{background:var(--night);padding:20px 22px}
.post-cover::before{border:0;inset:0;width:auto;aspect-ratio:auto;border-radius:0;background:url("../img/contour.svg") right top/cover no-repeat;top:0;inset-inline-end:0;opacity:.9;-webkit-mask-image:linear-gradient(115deg,transparent 30%,#000);mask-image:linear-gradient(115deg,transparent 30%,#000)}
.post-cover::after{inset-inline-end:18px;top:18px;width:46px;border-radius:50%;opacity:1;mix-blend-mode:normal}
.post-cover--meta,.post-cover--web{background:var(--night)}
.post-cover--meta::after{border-radius:12px;transform:rotate(14deg)}
.post-cover--web::after{width:62px;aspect-ratio:16/10;border-radius:6px;opacity:1}
.post-card__body{padding:16px 0 0;gap:10px}
.post-card__body h3,.post-card__body .h3{font-size:clamp(19px,1.7vw,22px);line-height:1.28;letter-spacing:-.018em;transition:color .2s}
[dir=rtl] .post-card__body h3{line-height:1.5;letter-spacing:0}
.post-card:hover h3{color:var(--primary);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.post-card__body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15.5px}
.post-card .eyebrow,.post-tags{color:var(--primary);font-size:11.5px}
.post-card .eyebrow::before{display:none}
.post-card__more{display:none}
.post-card__foot{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;font-size:13.5px;color:var(--muted)}
.post-card--featured .post-cover,.post-card--featured .post-card__media{aspect-ratio:16/9}
.post-card--featured .post-card__body{padding:20px 0 0}
.post-line{border-color:var(--line)}
.post-filter button{border-radius:999px}
.post-filter button.is-on{background:var(--night);color:#fff;border-color:var(--night)}
.post-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:1.5px solid var(--ink);padding-top:14px;margin-bottom:var(--s5)}
.post-section-head h2{margin:0;font-size:clamp(22px,2.4vw,30px)}

/* ---------- Project / industry visuals ---------- */
.project-card{border-radius:var(--r-lg);border-color:var(--line);background:var(--paper)}
.project-card:hover{transform:none;box-shadow:0 22px 40px -28px rgba(11,31,25,.55);border-color:var(--ink)}
.project-card__media{background:var(--night)}
.project-card__media::after{background:linear-gradient(180deg,transparent 40%,rgba(3,36,28,.92))}
.project-card__more{color:var(--primary);border-bottom:1.5px solid currentColor;align-self:flex-start;padding-top:0;margin-top:auto;line-height:1.5}
.cat-nav a{border-radius:999px;background:var(--paper);border-color:var(--line)}
.cat-nav a:hover{background:var(--night);color:#fff;border-color:var(--night)}
.cat-block{border-top:1.5px solid var(--ink)}
/* Industry directory: icon, name, status */
.industry-grid{display:grid;gap:0;border-top:1.5px solid var(--ink)}
@media (min-width:700px){.industry-grid{grid-template-columns:repeat(2,1fr);column-gap:clamp(24px,4vw,56px)}}
@media (min-width:1040px){.industry-grid{grid-template-columns:repeat(3,1fr)}}
.industry-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:6px 16px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background-color .2s,padding .2s}
.industry-card:hover{color:var(--ink);background:linear-gradient(90deg,var(--mint),transparent);padding-inline-start:12px}
[dir=rtl] .industry-card:hover{background:linear-gradient(270deg,var(--mint),transparent)}
.industry-card .ico{width:34px;height:34px;color:var(--primary)}
.industry-card h3{margin:0;font-size:19px;letter-spacing:-.015em}
.industry-card p{grid-column:2;margin:0;font-size:14.5px;color:var(--muted)}
.industry-card .status{grid-column:3;grid-row:1;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:5px;background:var(--accent);color:var(--night);white-space:nowrap}
[dir=rtl] .industry-card .status{font-family:var(--font);letter-spacing:0;font-size:12.5px;text-transform:none}
.industry-card .status--soon{background:none;border:1px dashed rgba(11,31,25,.45);color:var(--muted)}
.industry-card::after{content:"→";grid-column:3;grid-row:2;justify-self:end;color:var(--primary);transition:transform .2s}
[dir=rtl] .industry-card::after{content:"←"}
.industry-card:hover::after{transform:translateX(4px)}
[dir=rtl] .industry-card:hover::after{transform:translateX(-4px)}
.industry-hero{display:grid;gap:clamp(24px,4vw,56px);align-items:center}
@media (min-width:920px){.industry-hero{grid-template-columns:1.1fr .9fr}}
.coming-soon{display:grid;gap:var(--s4);padding:clamp(24px,3.4vw,40px);border:1.5px dashed rgba(11,31,25,.4);border-radius:var(--r-lg);background:repeating-linear-gradient(135deg,var(--paper) 0 10px,#F2F0E8 10px 20px)}
.coming-soon .status{justify-self:start;font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:5px;background:var(--night);color:var(--accent)}
[dir=rtl] .coming-soon .status{font-family:var(--font);letter-spacing:0;text-transform:none;font-size:13.5px}

/* ---------- About portrait ---------- */
.portrait{position:relative;margin:0;max-width:380px;isolation:isolate;margin-inline-end:14px}
.portrait__cap{padding-top:14px}
.portrait__frame{position:relative;aspect-ratio:4/5;border-radius:999px 999px var(--r-lg) var(--r-lg);overflow:hidden;background:var(--primary);border:1.5px solid var(--night);display:grid;place-items:center}
.portrait__frame::before{content:"";position:absolute;inset:0;background:url("../img/contour.svg") right top/cover no-repeat}
.portrait__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.portrait__mono{position:relative;font:800 clamp(64px,10vw,120px)/1 var(--font);color:var(--accent);letter-spacing:-.04em}
.portrait::before{content:"";position:absolute;top:14px;inset-inline-start:14px;width:100%;aspect-ratio:4/5;z-index:-1;border-radius:999px 999px var(--r-lg) var(--r-lg);background:var(--accent)}
.portrait__shape{position:absolute;width:76px;height:76px;inset-inline-end:-22px;top:14%;fill:none;stroke:var(--night);stroke-width:1.2;display:none}
.portrait__cap{margin-top:var(--s5);font-size:var(--t-sm);color:var(--muted)}
/* Existing avatar markup becomes an arch on profile cards */
.profile__card .avatar,.founder .avatar{border-radius:999px 999px 14px 14px;aspect-ratio:4/5;width:clamp(110px,14vw,150px);border:1.5px solid rgba(232,245,238,.5)}
.person img{border-radius:999px 999px 14px 14px;aspect-ratio:4/5;height:auto;border:1.5px solid var(--night);box-shadow:8px 8px 0 var(--accent)}

/* ---------- FAQ ---------- */
.faq{gap:0;border-top:1.5px solid var(--ink)}
.faq details{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.faq details[open]{box-shadow:none;border-bottom-color:var(--ink)}
.faq summary{padding:22px 4px}
.faq__a{padding:0 4px 22px;max-width:70ch}
.faq__icon{background:none;border:1.5px solid var(--ink);width:30px;height:30px}
.faq details[open] .faq__icon{background:var(--accent)}

/* ---------- CTA band / lead box / newsletter ---------- */
.cta-band{border-radius:var(--r-lg);background:var(--primary)}
.cta-band::before{display:block;background:url("../img/contour.svg") right top/cover no-repeat;opacity:.8;mask-image:linear-gradient(115deg,transparent 30%,#000);-webkit-mask-image:linear-gradient(115deg,transparent 30%,#000)}
.cta-band::after{background:var(--accent);width:200px;height:200px;inset-inline-end:-60px;bottom:-100px;border-radius:50%;opacity:1}
.lead-box{border-radius:var(--r-lg);background:var(--night)}
.lead-box::before{content:"";position:absolute;inset:0;z-index:-1;background:url("../img/contour.svg") right top/cover no-repeat;opacity:.7;-webkit-mask-image:linear-gradient(115deg,transparent 40%,#000);mask-image:linear-gradient(115deg,transparent 40%,#000)}
.lead-box .badge{border-radius:5px}
.field input,.field select,.field textarea{border-radius:12px;border-color:rgba(11,31,25,.28);background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(198,243,107,.7)}
.form-card{border-radius:var(--r-lg);background:var(--paper)}

/* Newsletter (footer, blog, guides, tools): .newsletter / .news-strip */
.newsletter,.news-strip{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:var(--s4);align-items:center;background:var(--night);color:var(--on-dark);border-radius:var(--r-lg);padding:clamp(24px,4vw,44px)}
.newsletter::before,.news-strip::before{content:"";position:absolute;inset:0;z-index:-1;background:url("../img/contour.svg") right top/cover no-repeat;opacity:.8;-webkit-mask-image:linear-gradient(115deg,transparent 35%,#000);mask-image:linear-gradient(115deg,transparent 35%,#000)}
.news-strip::after{display:none}
@media (min-width:860px){.newsletter{grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px)}}
.newsletter h2,.newsletter h3{color:#fff;margin:0 0 6px;font-size:clamp(22px,2.4vw,30px)}
.newsletter p{margin:0;color:var(--on-dark-muted)}
.newsletter__form,.nl-form{display:flex;flex-wrap:wrap;gap:10px}
.newsletter__form input[type=email],.nl-form input[type=email]{flex:1 1 220px;min-height:54px;padding:0 20px;border-radius:999px;border:1.5px solid rgba(232,245,238,.4);background:rgba(255,255,255,.08);color:#fff;font:16px var(--font);direction:ltr;text-align:start}
[dir=rtl] .newsletter__form input[type=email],[dir=rtl] .nl-form input[type=email]{text-align:right}
.newsletter__form input::placeholder,.nl-form input::placeholder{color:rgba(232,245,238,.62)}
.newsletter__form input:focus,.nl-form input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(198,243,107,.35)}
.newsletter__form .btn,.nl-form .btn{--bh:54px}
.newsletter__note{flex-basis:100%;font-size:13px;color:var(--on-dark-muted);margin:2px 4px 0}
.newsletter--inline{padding:clamp(20px,3vw,28px);margin-block:2em}
.newsletter--light{background:var(--sand);color:var(--ink)}
.newsletter--light::before{background:url("../img/contour-dark.svg") right top/cover no-repeat}
.newsletter--light h2,.newsletter--light h3{color:var(--ink)}
.newsletter--light p,.newsletter--light .newsletter__note{color:var(--muted)}
.newsletter--light input[type=email]{background:#fff;color:var(--ink);border-color:rgba(11,31,25,.35)}
.newsletter--light input::placeholder{color:#6b7a73}
.newsletter--footer{background:rgba(255,255,255,.04);border:1px solid rgba(232,245,238,.16);padding:clamp(18px,2.4vw,26px)}
.newsletter--footer h3{font-size:18px}

/* Popups (welcome, exit, free audit) */
.popup{border-radius:var(--r-lg);background:var(--paper);border:1.5px solid var(--night);max-width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 90px -20px rgba(3,36,28,.6)}
.popup::backdrop{background:rgba(3,36,28,.62);backdrop-filter:blur(3px)}
.popup[open]{animation:pop .3s cubic-bezier(.2,.8,.3,1)}
.popup__inner{padding:clamp(26px,4vw,40px);padding-top:92px}
.popup__inner::before{inset:0 0 auto 0;height:68px;background:var(--night);z-index:-1}
.popup__inner::after{content:"";position:absolute;z-index:-1;inset:0 0 auto 0;height:68px;background:url("../img/contour.svg") right top/cover no-repeat;-webkit-mask-image:linear-gradient(115deg,transparent 30%,#000);mask-image:linear-gradient(115deg,transparent 30%,#000)}
.popup__inner>.eyebrow:first-child,.popup__inner>.badge:first-child{position:absolute;top:22px;inset-inline-start:clamp(26px,4vw,40px);margin:0;color:var(--accent)}
.popup__inner>.eyebrow:first-child::before{background:none!important;opacity:1;content:""}
.popup h2{font-size:clamp(24px,3.2vw,30px);padding-inline-end:0;margin-top:var(--s2)}
.popup__close{top:10px;inset-inline-end:10px;width:44px;height:44px;border-color:rgba(232,245,238,.5);color:#fff;background:rgba(3,36,28,.4);z-index:2}
.popup__close:hover{background:var(--accent);color:var(--night);border-color:var(--accent)}
.popup__close:focus-visible{outline:2px solid #fff;box-shadow:0 0 0 5px var(--accent)}
.popup__steps i{height:3px;background:rgba(11,31,25,.15)}.popup__steps i.on{background:var(--primary)}
.popup__list li::before{content:"";width:16px;height:16px;flex:none;margin-top:.3em;border-radius:50%;background:var(--primary) center/11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23C6F36B' stroke-width='3.4' d='m6 12 4 4 8-8'/%3E%3C/svg%3E")}
.popup .newsletter__form input[type=email]{background:#fff;color:var(--ink);border-color:rgba(11,31,25,.35)}
.popup .newsletter__form input::placeholder{color:#6b7a73}
.popup .newsletter__note{color:var(--muted)}
@media (max-width:520px){.popup{max-width:calc(100vw - 16px);border-radius:18px}.popup__inner{padding-inline:20px}.popup__inner>.eyebrow:first-child{inset-inline-start:20px}}

/* ---------- Floating WhatsApp: circle icon only ---------- */
.wa-float{position:fixed;z-index:46;display:grid!important;place-items:center;width:56px;height:56px;min-width:0;padding:0;gap:0;border-radius:50%;background:var(--wa);color:#fff;font-size:0;border:2px solid #fff;
	inset-inline-start:auto;inset-inline-end:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));
	box-shadow:0 10px 24px -8px rgba(3,36,28,.55);transition:transform .2s,background-color .2s,bottom .25s}
[dir=rtl] .wa-float{inset-inline-end:max(16px,env(safe-area-inset-left))}
.wa-float:hover{background:var(--wa-deep);color:#fff;transform:scale(1.06)}
.wa-float:focus-visible{outline:2px solid var(--night);outline-offset:2px;box-shadow:0 0 0 6px var(--accent)}
.wa-float svg{width:30px;height:30px;stroke-width:1.5}
.wa-float__label{display:none!important}
.wa-float::before{box-shadow:0 0 0 0 rgba(14,122,69,.45)}
@media (max-width:760px){
	.wa-float{display:grid!important;width:52px;height:52px;bottom:calc(16px + env(safe-area-inset-bottom));inset-inline-end:max(14px,env(safe-area-inset-right))}
	[dir=rtl] .wa-float{inset-inline-end:max(14px,env(safe-area-inset-left))}
	/* sticky CTA bar is 68px + safe area: sit 12px above it whenever it is showing */
	body:has(.sticky-cta.is-on) .wa-float{bottom:calc(68px + 12px + env(safe-area-inset-bottom))}
}
.nav-open .wa-float{display:none!important}
.sticky-cta{padding-bottom:calc(10px + env(safe-area-inset-bottom));padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right))}

/* ---------- Footer ---------- */
.site-footer{background:var(--night)}
.site-footer::before{display:block;background:url("../img/contour.svg") right top/cover no-repeat;opacity:.55;-webkit-mask-image:linear-gradient(115deg,transparent 35%,#000);mask-image:linear-gradient(115deg,transparent 35%,#000)}
.site-footer__cta{border-bottom-color:rgba(232,245,238,.22)}
.site-footer__h{color:var(--accent)}
.site-footer a{color:#E8F5EE}
.site-footer a:hover{color:var(--accent)}
.site-footer__bottom{border-top-color:rgba(232,245,238,.2)}

/* ---------- Tool hub and tools ---------- */
.tiles{gap:clamp(14px,2vw,20px)}
.tile{border-color:var(--line);background:var(--paper)}
.tile--lime{background:var(--accent);border-color:var(--accent)}
.tile--dark{background:var(--night);border-color:var(--night)}
.tile__big{opacity:.12}
.tool-band{border-radius:var(--r-lg);background:var(--night)}
.checker__url{border-radius:999px}
.tools-art{max-width:420px}

/* ---------- Misc ---------- */
.chips li,.related-links a{border-radius:999px;background:var(--paper);border-color:var(--line)}
.related-links a:hover{background:var(--night);color:#fff;border-color:var(--night)}
.callout{border-radius:var(--r);background:var(--mint);border-color:#BFE0CB}
.quote{border-radius:var(--r-lg);background:var(--paper)}
.marquee{background:var(--paper);border-block:1px solid var(--line)}
.takeaways{border-radius:var(--r);background:var(--mint)}
.toc,.author-box{border-radius:var(--r);background:var(--paper)}
.aside-cta{border-radius:var(--r)}
.mock{border-radius:16px}
@media (prefers-reduced-motion:reduce){.wa-float::before{animation:none}}

/* ---------- Navigation: 3 levels in one panel (no flyouts) ---------- */
.nav__list .sub-menu{border-radius:var(--r);background:var(--paper);border:1.5px solid var(--ink);box-shadow:0 24px 50px -24px rgba(3,36,28,.5);min-width:280px;max-width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - var(--header-h) - 24px);overflow-y:auto}
[dir=rtl] .nav__list>li:last-child .sub-menu,.nav__list>li:nth-last-child(-n+2) .sub-menu{inset-inline-start:auto;inset-inline-end:0}
.nav__list .sub-menu a{padding:10px 12px;border-radius:8px;font-size:14.5px;font-weight:500;white-space:normal}
.nav__list .sub-menu .menu-item-has-children>a{font-weight:600}
.nav__list .sub-menu .menu-item-has-children>a::after{display:none}
.nav__list .sub-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;min-width:0;max-width:none;max-height:none;overflow:visible;padding:0 0 4px;margin:0 0 6px;margin-inline-start:14px;background:none;border:0;border-inline-start:1.5px solid var(--line);border-radius:0;box-shadow:none;transition:none}
.nav__list .sub-menu .sub-menu a{padding:7px 12px;font-size:13.5px;font-weight:400;color:var(--muted)}
.nav__list .sub-menu .sub-menu a:hover,.nav__list .sub-menu .sub-menu .current-menu-item>a{color:var(--primary);background:var(--mint)}
@media (max-width:1060px){
	.nav__list .sub-menu{border:0;box-shadow:none;background:none;max-width:none;max-height:none;overflow:visible;padding:0 0 0 14px}
	[dir=rtl] .nav__list .sub-menu{padding:0 14px 0 0}
	.nav__list .sub-menu a{font-size:16px;padding:12px 6px;border-bottom:1px solid var(--line);border-radius:0}
	.nav__list .sub-menu .sub-menu{margin-inline-start:6px;padding:0}
	.nav__list .sub-menu .sub-menu a{font-size:15px;padding:10px 6px}
}

/* Contour textures are mirrored in RTL (they carry no text) */
[dir=rtl] .section--dark::before,[dir=rtl] .card--dark::after,[dir=rtl] .post-cover::before,[dir=rtl] .cta-band::before,[dir=rtl] .lead-box::before,[dir=rtl] .newsletter::before,[dir=rtl] .news-strip::before,[dir=rtl] .popup__inner::after,[dir=rtl] .site-footer::before,[dir=rtl] .hero::after,[dir=rtl] .portrait__frame::before{transform:scaleX(-1)}
.hero::after{opacity:.75;-webkit-mask-image:linear-gradient(100deg,transparent 28%,#000 78%);mask-image:linear-gradient(100deg,transparent 28%,#000 78%)}
.split>*,.grid>*,.hero__grid>*,.bento>*,.tiles>*,.contact-grid>*{min-width:0}
@media (min-width:1000px){.tiles:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}}
/* backdrop-filter on the header would trap the fixed mobile drawer inside the 72px bar */
@media (max-width:1060px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}}
@media (max-width:640px){.portrait{max-width:260px}}
