
:root{--green:#075b36;--green-dark:#043e27;--green-ink:#063f29;--green-soft:#eef8f3;--yellow:#f0b600;--yellow-soft:#fff4c7;--ink:#151b19;--muted:#5f6a66;--line:#dfe8e3;--paper:#ffffff;--off:#f7faf8;--shadow:0 22px 60px rgba(4,62,39,.10);--shadow-sm:0 12px 34px rgba(4,62,39,.08);--radius:22px;--font:'Manrope',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 44px));margin:0 auto}.narrow{width:min(920px,100%);margin-inline:auto}.section{padding:92px 0}.soft-section{background:var(--off)}
.topbar{background:var(--green-dark);color:#fff;font-size:12px}.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}.topbar a{color:rgba(255,255,255,.88)}.dot{color:var(--yellow)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,91,54,.10)}.nav-shell{height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;min-width:278px}.brand img{width:278px;height:66px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:23px;margin-left:auto}.main-nav>a,.drop-toggle{font-size:13px;font-weight:700;color:#26312d;position:relative;white-space:nowrap}.main-nav>a:after,.drop-toggle:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-10px;background:var(--yellow);transition:right .25s ease}.main-nav>a:hover:after,.main-nav>a.active:after,.drop-toggle:hover:after{right:0}.main-nav>a.active{color:var(--green)}.drop-toggle{border:0;background:none;padding:0;cursor:pointer}.drop-toggle span{font-size:14px;color:var(--green)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 10px);left:-24px;width:286px;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;display:grid;opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu,.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}.dropdown-menu a{padding:9px 12px;border-radius:10px;font-size:12.5px;color:#39433f;font-weight:600}.dropdown-menu a:hover{background:var(--green-soft);color:var(--green)}.drop-label{padding:7px 12px 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#87918d;font-weight:800}.dropdown-menu .drop-all{margin-top:4px;background:var(--green-soft);color:var(--green);font-weight:800}.nav-actions{display:flex;align-items:center;gap:12px}.nav-cta{padding:12px 17px;font-size:12.5px}.menu-btn{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;display:none;place-items:center;padding:10px;cursor:pointer}.menu-btn span{display:block;width:20px;height:2px;background:var(--green);margin:3px auto;transition:.2s}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:11px;padding:14px 20px;font-weight:800;font-size:13px;border:1px solid transparent;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(7,91,54,.18)}.btn-primary:hover{background:var(--green-dark);box-shadow:0 14px 30px rgba(7,91,54,.22)}.btn-ghost{background:#fff;color:var(--green);border-color:#bcd4c8}.btn-ghost:hover{border-color:var(--green);background:var(--green-soft)}.btn-light{background:#fff;color:var(--green-dark);border-color:#fff}.btn-wide{width:100%}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-weight:800;color:var(--green);margin-bottom:14px}.eyebrow:before{content:"";width:26px;height:2px;background:var(--yellow)}.eyebrow.light{color:#fff}.section-head{display:grid;grid-template-columns:1.1fr .8fr;align-items:end;gap:50px;margin-bottom:38px}.section-head.centered{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:760px;margin:0 auto 42px;gap:0}.section-head h2,.editorial-copy h2,.review-intro h2,.contact-copy h2,.service-main h2{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.08;letter-spacing:-.045em;margin:0}.section-head p,.editorial-copy>p,.review-intro>p,.contact-copy>p,.service-main>p{margin:0;color:var(--muted);font-size:15px}.green-text{color:var(--green)}.yellow-text{color:var(--yellow)}
.hero{position:relative;overflow:hidden;padding:78px 0 64px;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(225,169,0,.18);border-radius:50%;right:-250px;top:-260px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.hero-copy h1{font-size:clamp(3.1rem,5vw,5.25rem);line-height:1.02;letter-spacing:-.06em;margin:0;max-width:720px}.accent-underline{position:relative;color:var(--green);display:inline-block}.accent-underline:after{content:"";position:absolute;left:4px;right:0;bottom:3px;height:7px;background:rgba(225,169,0,.28);z-index:-1;border-radius:99px;transform:rotate(-1deg)}.hero-copy>p{font-size:17px;color:var(--muted);max-width:650px;margin:24px 0 0}.trust-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trust-chips span{font-size:11.5px;font-weight:800;color:var(--green-ink);background:var(--green-soft);padding:8px 11px;border-radius:8px}.micro-copy{margin-top:26px;padding-left:14px;border-left:3px solid var(--yellow);font-size:12.5px;color:var(--muted);max-width:600px}.micro-copy strong{color:var(--ink)}.hero-visual{position:relative;min-height:560px}.photo-wrap{position:absolute;inset:0 0 0 36px;border-radius:30px 30px 100px 30px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.photo-wrap:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(2,37,22,.28));z-index:1}.photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-tag{position:absolute;z-index:3;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);padding:12px 14px;border-radius:12px;font-size:11.5px;font-weight:800;color:var(--green-dark)}.tag-one{left:18px;bottom:24px}.tag-two{right:18px;top:24px}.orbit{position:absolute;border-radius:50%;border:1px solid}.orbit-one{width:150px;height:150px;right:-36px;bottom:-30px;border-color:rgba(225,169,0,.45)}.orbit-two{width:90px;height:90px;left:-8px;top:52px;border-color:rgba(7,91,54,.35)}
.quote-band{padding:0 0 40px;background:linear-gradient(180deg,#fbfdfc 0%,#fff 100%)}.quote-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow-sm)}.quote-card.compact{margin-top:0}.form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.form-head h3{margin:0;font-size:24px;letter-spacing:-.03em}.form-shield{background:var(--green-soft);color:var(--green);font-weight:800;font-size:11px;border-radius:8px;padding:8px 10px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#68736e}.field input,.field select,.field textarea{width:100%;border:1px solid #d9e3de;border-radius:10px;background:#fbfcfb;padding:12px 13px;font-size:13px;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(7,91,54,.08)}.field textarea{min-height:105px;resize:vertical}.form-note{margin:12px 0 0;color:#7b8580;font-size:10.5px}.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{display:flex;gap:13px;padding:24px 18px;align-items:center;border-right:1px solid var(--line)}.proof-item:last-child{border-right:0}.proof-icon{width:34px;height:34px;border-radius:9px;background:var(--yellow-soft);color:var(--yellow);display:grid;place-items:center;font-size:10px;font-weight:900}.proof-item strong,.proof-item small{display:block}.proof-item strong{font-size:12.5px}.proof-item small{font-size:10.5px;color:var(--muted);margin-top:2px}
.service-showcase{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:250px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:26px;background:#fff;transition:background .25s ease,transform .25s ease}.service-card:hover{background:var(--green-soft);transform:translateY(-3px)}.service-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:12px}.service-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.service-card h3{margin:0;font-size:18px}.service-card p{margin:8px 0 0;color:var(--muted);font-size:12.5px}.service-card a,.directory-card a,.side-card a{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--green);font-size:12px;font-weight:800}.center-action{text-align:center;margin-top:30px}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.editorial-grid.reverse{grid-template-columns:1fr 1fr}.editorial-media{position:relative}.editorial-media img{width:100%;height:580px;object-fit:cover;border-radius:28px 28px 90px 28px}.image-note{position:absolute;left:24px;bottom:24px;background:#fff;padding:13px 15px;border-radius:12px;box-shadow:var(--shadow-sm)}.image-note b,.image-note span{display:block}.image-note b{font-size:12px}.image-note span{font-size:10.5px;color:var(--muted);margin-top:2px}.editorial-copy>p{margin-top:20px}.number-list{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}.number-list>div{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.number-list span{font-size:11px;color:var(--yellow);font-weight:900}.number-list p{margin:0;color:var(--muted);font-size:12.5px}.number-list b{display:block;color:var(--ink);font-size:13px;margin-bottom:3px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process-card{padding:26px 24px;border-top:3px solid var(--green);background:#fff;box-shadow:var(--shadow-sm);min-height:220px}.process-card:nth-child(even){border-top-color:var(--yellow)}.process-card>span{font-size:11px;font-weight:900;color:var(--yellow)}.process-card h3{margin:32px 0 9px;font-size:17px}.process-card p{margin:0;color:var(--muted);font-size:12.5px}
.integrity-section{background:var(--green-dark);color:#fff;padding:82px 0;position:relative;overflow:hidden}.integrity-section:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-100px;top:-160px}.integrity-grid{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:center}.integrity-grid h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:0}.integrity-grid p{color:rgba(255,255,255,.72);max-width:670px;margin:20px 0 28px}.integrity-points{display:grid;gap:10px}.integrity-points>div{display:flex;align-items:center;gap:12px;padding:14px 15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:12px}.integrity-points b{color:#f3c646}.integrity-points span{font-size:12px;color:rgba(255,255,255,.86)}
.review-feature{display:grid;grid-template-columns:1fr .85fr;gap:68px;align-items:center}.review-intro>p{margin-top:18px}.review-preview{padding:24px;border:1px solid var(--line);background:var(--off);border-radius:24px;display:grid;gap:12px}.review-status,.review-slot{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:flex-start;gap:12px}.status-dot{width:10px;height:10px;background:#1ca96b;border-radius:50%;box-shadow:0 0 0 5px rgba(28,169,107,.11);margin:7px}.review-status b,.review-status small,.review-slot b{display:block}.review-status b,.review-slot b{font-size:12px}.review-status small{font-size:10.5px;color:var(--muted)}.review-slot p{margin:4px 0 0;color:var(--muted);font-size:11px}.avatar{width:38px;height:38px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 auto}
.cta-panel{background:linear-gradient(120deg,var(--green),var(--green-dark));color:#fff;border-radius:26px;padding:42px 46px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}.cta-panel:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-80px;top:-140px}.cta-panel h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.06;letter-spacing:-.04em;margin:0;max-width:720px}.cta-panel p{color:rgba(255,255,255,.72);margin:12px 0 0;max-width:700px}.cta-panel .btn{position:relative;z-index:2;flex:0 0 auto}
.page-hero{padding:72px 0;background:linear-gradient(180deg,#fbfdfc,#fff);border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:1fr;gap:42px;align-items:center}.page-hero-has-media .page-hero-grid{grid-template-columns:1fr .78fr}.breadcrumb{display:flex;gap:9px;align-items:center;font-size:10.5px;color:#89928e;margin-bottom:20px}.breadcrumb a{color:var(--green);font-weight:800}.page-hero h1{font-size:clamp(3rem,5vw,5rem);line-height:1.03;letter-spacing:-.055em;margin:0;max-width:850px}.page-hero p{max-width:760px;margin:20px 0 0;color:var(--muted);font-size:15px}.page-hero-media{height:420px;border-radius:24px 24px 70px 24px;overflow:hidden;box-shadow:var(--shadow-sm)}.page-hero-media img{width:100%;height:100%;object-fit:cover}
.service-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.directory-card{padding:25px;border:1px solid var(--line);background:#fff;min-height:270px;display:flex;flex-direction:column}.directory-top{display:flex;justify-content:space-between;align-items:center}.directory-top>span{font-size:11px;font-weight:900;color:#a2aca7}.directory-card h2{font-size:20px;margin:28px 0 8px}.directory-card p{margin:0;color:var(--muted);font-size:12.5px}.directory-card a{margin-top:auto;padding-top:22px}.split-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:34px 38px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--yellow)}.split-cta h2{font-size:32px;letter-spacing:-.04em;margin:0}.split-cta p{color:var(--muted);margin:7px 0 0}.service-detail-grid{display:grid;grid-template-columns:1fr 330px;gap:60px;align-items:start}.service-main>p{margin-top:18px}.scope-list{display:grid;gap:10px;margin-top:28px}.scope-list>div{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.scope-list span{width:24px;height:24px;border-radius:7px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 auto}.scope-list p{margin:1px 0 0;font-size:13px}.notice-box{margin-top:28px;padding:20px 22px;background:var(--yellow-soft);border-left:3px solid var(--yellow)}.notice-box.wide{max-width:900px;margin:30px auto 0}.notice-box b{display:block;font-size:13px}.notice-box p{margin:5px 0 0;color:#685514;font-size:12px}.service-side{display:grid;gap:14px;position:sticky;top:112px}.side-card{padding:22px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm)}.side-card.muted{box-shadow:none;background:var(--off)}.side-card ul{margin:8px 0 20px;padding-left:18px;color:var(--muted);font-size:12px}.side-card li{margin:8px 0}.side-card p{color:var(--muted);font-size:12px}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value-card{padding:25px;border-top:2px solid var(--yellow);background:#fff;box-shadow:var(--shadow-sm)}.value-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:900}.value-card h3{font-size:17px;line-height:1.3;margin:20px 0 8px}.value-card p{margin:0;color:var(--muted);font-size:12px}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:42px 0;border-bottom:1px solid var(--line)}.timeline-num{font-size:48px;font-weight:800;color:#d7e4dd;line-height:1}.timeline-item h2{font-size:34px;letter-spacing:-.04em;margin:0}.timeline-item p{color:var(--muted);max-width:760px}.timeline-tags{display:flex;flex-wrap:wrap;gap:8px}.timeline-tags span{background:var(--green-soft);color:var(--green);font-size:10.5px;font-weight:800;padding:7px 9px;border-radius:7px}
.review-policy{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:start;padding:34px;border:1px solid var(--line);background:var(--off)}.review-policy h2{font-size:38px;line-height:1.1;letter-spacing:-.04em;margin:0}.review-policy p{color:var(--muted);font-size:13px}.policy-checks{display:grid;gap:10px}.policy-checks span{padding:13px 14px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700}.review-track{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.review-placeholder{padding:22px;border:1px solid var(--line);background:#fff;min-height:180px}.review-placeholder-head{display:flex;align-items:center;gap:12px}.review-placeholder-head b,.review-placeholder-head small{display:block}.review-placeholder-head b{font-size:12px}.review-placeholder-head small{color:var(--muted);font-size:10px}.review-placeholder>p{color:var(--muted);font-size:12px;margin-top:22px}.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:start}.contact-list{display:grid;margin-top:26px;border-top:1px solid var(--line)}.contact-list>a,.contact-list>div{padding:17px 0;border-bottom:1px solid var(--line)}.contact-list span,.contact-list b{display:block}.contact-list span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#7b8681;font-weight:800}.contact-list b{font-size:13px;margin-top:4px}.policy{max-width:860px}.policy h2{font-size:23px;margin:34px 0 8px}.policy p,.policy li{color:var(--muted);font-size:13px}.policy a{color:var(--green);font-weight:800}
.footer{background:#032d1d;color:#fff;margin-top:72px}.footer-grid{padding:62px 0 40px;display:grid;grid-template-columns:1.35fr .8fr 1fr;gap:42px}.footer-logo{background:transparent;padding:0;border:0;border-radius:0;display:inline-flex;align-items:center;gap:10px;max-width:100%;overflow:visible;white-space:nowrap}.footer-logo-mark{width:64px;height:58px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.14))}.footer-logo-wordmark{font-family:"Manrope",Arial,sans-serif;font-size:25px;line-height:1;font-weight:800;letter-spacing:-.045em;color:#fff;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.footer-brand p{color:rgba(255,255,255,.67);font-size:12px;max-width:400px}.footer-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.footer-badges span{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:#cfe3d8;border:1px solid rgba(255,255,255,.13);padding:7px 8px;border-radius:6px}.footer h4{font-size:12px;margin:0 0 15px}.footer-links,.footer-contact{display:grid;gap:9px}.footer-links a,.footer-contact a,.footer-contact span{font-size:11px;color:rgba(255,255,255,.67)}.footer-links a:hover,.footer-contact a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.10);padding:17px 0;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.48);font-size:9.5px;flex-wrap:wrap}.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:90;background:#1fa463;color:#fff;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 14px 34px rgba(31,164,99,.28);font-size:11px;font-weight:800;transition:transform .2s}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float span{font-size:16px}.back-top{position:fixed;right:20px;bottom:76px;width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--green);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:.2s;z-index:80}.back-top.show{opacity:1;pointer-events:auto}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .62s cubic-bezier(.2,.7,.2,1),transform .62s cubic-bezier(.2,.7,.2,1),clip-path .68s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal.from-left{transform:translateX(-34px)}.reveal.from-right{transform:translateX(34px)}.reveal.fade-only{transform:none}.reveal.image-reveal{transform:translateY(22px) scale(1.018);clip-path:inset(0 0 12% 0 round 14px)}.reveal.in-view{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 14px)}.accent-underline:after{transform:scaleX(0);transform-origin:left center;transition:transform .62s cubic-bezier(.2,.7,.2,1) .12s}.in-view .accent-underline:after,.accent-underline.in-view:after{transform:scaleX(1)}.btn span{display:inline-block;transition:transform .28s ease}.btn:hover span{transform:translateX(4px)}.service-icon,.proof-icon{transition:transform .32s cubic-bezier(.2,.7,.2,1),background .25s ease,color .25s ease}.service-card:hover .service-icon,.proof-item:hover .proof-icon{transform:translateY(-4px)}
@media(max-width:1120px){.brand{min-width:235px}.brand img{width:235px}.main-nav{gap:16px}.main-nav>a,.drop-toggle{font-size:12px}.nav-cta{display:none}.service-showcase{grid-template-columns:repeat(2,1fr)}.service-directory{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.3fr .8fr 1fr}.hero-grid{gap:45px}.hero-copy h1{font-size:clamp(3rem,5vw,4.5rem)}}
@media(max-width:900px){.topbar-left{display:none}.topbar-inner{justify-content:center}.main-nav{position:fixed;left:22px;right:22px;top:112px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:14px;display:none;flex-direction:column;align-items:stretch;gap:3px;max-height:calc(100vh - 135px);overflow:auto}.main-nav.open{display:flex}.main-nav>a,.drop-toggle{padding:10px 8px;text-align:left;width:100%}.main-nav>a:after,.drop-toggle:after{display:none}.dropdown-menu{position:static;width:auto;box-shadow:none;border:0;background:var(--off);margin:4px 0 0;display:none;opacity:1;visibility:visible;transform:none;pointer-events:auto}.dropdown-menu:before{display:none}.dropdown.open .dropdown-menu{display:grid}.dropdown:hover .dropdown-menu{opacity:1;transform:none}.menu-btn{display:block}.hero-grid,.editorial-grid,.integrity-grid,.review-feature,.page-hero-has-media .page-hero-grid,.service-detail-grid,.review-policy,.contact-layout{grid-template-columns:1fr}.hero-visual{min-height:520px}.photo-wrap{left:0}.editorial-media img{height:500px}.service-side{position:static}.process-grid,.values-grid{grid-template-columns:repeat(2,1fr)}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-head{grid-template-columns:1fr;gap:15px}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:last-child{grid-column:auto}.form-grid{grid-template-columns:repeat(2,1fr)}.timeline-item{grid-template-columns:80px 1fr}.page-hero-media{height:380px}}
@media(max-width:620px){.footer-logo{padding:0;gap:8px}.footer-logo-mark{width:54px;height:50px}.footer-logo-wordmark{font-size:20px}.container{width:min(100% - 28px,1180px)}.section{padding:68px 0}.topbar-right a:first-child{display:none}.nav-shell{height:74px}.brand{min-width:0;margin-right:auto}.brand img{width:220px;height:58px}.main-nav{top:98px;left:14px;right:14px}.hero{padding:52px 0 42px}.hero-copy h1{font-size:clamp(2.7rem,12vw,4rem)}.hero-copy>p{font-size:15px}.hero-visual{min-height:440px;margin-top:8px}.photo-wrap{border-radius:22px 22px 62px 22px}.photo-tag{font-size:10px;padding:9px 10px}.tag-two{top:14px;right:14px}.tag-one{bottom:14px;left:14px}.form-head{display:block}.form-shield{display:inline-block;margin-top:10px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.proof-grid{grid-template-columns:1fr}.proof-item{border-right:0;border-bottom:1px solid var(--line)!important}.proof-item:last-child{border-bottom:0!important}.service-showcase,.service-directory,.process-grid,.values-grid{grid-template-columns:1fr}.service-card{min-height:auto}.editorial-media img{height:390px}.section-head h2,.editorial-copy h2,.review-intro h2,.contact-copy h2,.service-main h2{font-size:2.25rem}.integrity-grid h2{font-size:2.55rem}.cta-panel,.split-cta{flex-direction:column;align-items:flex-start;padding:30px 24px}.cta-panel h2{font-size:2.2rem}.page-hero{padding:55px 0}.page-hero h1{font-size:clamp(2.65rem,12vw,4rem)}.page-hero-media{height:300px}.review-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.review-placeholder{min-width:86%;scroll-snap-align:start}.timeline-item{grid-template-columns:1fr;gap:10px;padding:30px 0}.timeline-num{font-size:30px}.timeline-item h2{font-size:27px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid}.whatsapp-float b{display:none}.whatsapp-float{width:48px;height:48px;padding:0;justify-content:center;border-radius:14px}.back-top{right:20px;bottom:78px}.quote-card{padding:22px}.review-policy{padding:24px}.review-policy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}.btn,.whatsapp-float{transition:none!important}}


/* Enhanced service-section motion only */
.service-card,.directory-card{position:relative;overflow:hidden;isolation:isolate}
.service-card::before,.directory-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--yellow);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .62s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms);
  z-index:2
}
.service-card.in-view::before,.directory-card.in-view::before{transform:scaleX(1)}
.service-card .service-icon,.directory-card .service-icon{
  opacity:0;transform:translateY(16px) scale(.88) rotate(-3deg);
  transition:opacity .5s cubic-bezier(.2,.75,.2,1),transform .58s cubic-bezier(.2,.75,.2,1),
             background .25s ease,color .25s ease;
  transition-delay:calc(var(--reveal-delay,0ms) + 80ms)
}
.service-card.in-view .service-icon,.directory-card.in-view .service-icon{
  opacity:1;transform:translateY(0) scale(1) rotate(0)
}
.service-card h3,.service-card p,.service-card>a,
.directory-card h2,.directory-card p,.directory-card>a,.directory-card .directory-top>span{
  opacity:0;transform:translateY(14px);
  transition:opacity .48s cubic-bezier(.2,.75,.2,1),transform .56s cubic-bezier(.2,.75,.2,1)
}
.service-card.in-view h3,.directory-card.in-view h2{
  opacity:1;transform:none;transition-delay:calc(var(--reveal-delay,0ms) + 130ms)
}
.service-card.in-view p,.directory-card.in-view p{
  opacity:1;transform:none;transition-delay:calc(var(--reveal-delay,0ms) + 190ms)
}
.service-card.in-view>a,.directory-card.in-view>a{
  opacity:1;transform:none;transition-delay:calc(var(--reveal-delay,0ms) + 250ms)
}
.directory-card.in-view .directory-top>span{
  opacity:1;transform:none;transition-delay:calc(var(--reveal-delay,0ms) + 100ms)
}
.service-card:hover .service-icon,.directory-card:hover .service-icon{
  transform:translateY(-5px) scale(1.06) rotate(1.5deg)
}
.service-card:hover::before,.directory-card:hover::before{transform:scaleX(1)}
.service-card>a span,.directory-card>a span{
  display:inline-block;transition:transform .28s ease
}
.service-card:hover>a span,.directory-card:hover>a span{transform:translateX(5px)}
@media(prefers-reduced-motion:reduce){
  .service-card::before,.directory-card::before,
  .service-card .service-icon,.directory-card .service-icon,
  .service-card h3,.service-card p,.service-card>a,
  .directory-card h2,.directory-card p,.directory-card>a,.directory-card .directory-top>span{
    opacity:1!important;transform:none!important;transition:none!important
  }
}



/* Polished replay-on-scroll card motion */
.service-card,.directory-card,.process-card,.proof-item,.review-placeholder,.side-card,.value-card,.quote-card,.review-policy{
  position:relative;
  isolation:isolate;
  backface-visibility:hidden;
  transform-origin:center bottom;
}
.service-card.reveal,.directory-card.reveal{
  opacity:0;
  filter:blur(3px);
  transform:translateY(38px) scale(.965);
  transition:
    opacity .58s cubic-bezier(.2,.76,.2,1),
    transform .68s cubic-bezier(.16,.8,.24,1),
    filter .5s ease,
    background .25s ease,
    box-shadow .28s ease;
  transition-delay:var(--reveal-delay,0ms);
}
.service-card.reveal.from-left,.directory-card.reveal.from-left{
  transform:translate(-34px,28px) scale(.965) rotate(-.7deg);
}
.service-card.reveal.from-right,.directory-card.reveal.from-right{
  transform:translate(34px,28px) scale(.965) rotate(.7deg);
}
.service-card.reveal.in-view,.directory-card.reveal.in-view{
  opacity:1;
  filter:blur(0);
  transform:translate(0,0) scale(1) rotate(0);
}
.service-card::after,.directory-card::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,var(--green),var(--yellow));
  transform:scaleX(0);
  transform-origin:center;
  opacity:.85;
  transition:transform .64s cubic-bezier(.2,.76,.2,1) calc(var(--reveal-delay,0ms) + 120ms);
  z-index:2;
}
.service-card.in-view::after,.directory-card.in-view::after{transform:scaleX(1)}
.service-card:hover,.directory-card:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 42px rgba(3,45,29,.10);
}
.service-card:hover::after,.directory-card:hover::after{transform:scaleX(.72)}
.service-card .service-icon,.directory-card .service-icon{
  box-shadow:0 0 0 0 rgba(240,182,0,0);
}
.service-card.in-view .service-icon,.directory-card.in-view .service-icon{
  box-shadow:0 0 0 6px rgba(240,182,0,.07);
}
.service-card:hover .service-icon,.directory-card:hover .service-icon{
  transform:translateY(-6px) scale(1.08) rotate(2deg);
  box-shadow:0 0 0 8px rgba(240,182,0,.10);
}

/* Other card groups: alternating entrance with replay */
.process-card.reveal,.proof-item.reveal,.review-placeholder.reveal,.side-card.reveal,.value-card.reveal,
.quote-card.reveal,.review-policy.reveal{
  opacity:0;
  filter:blur(2px);
  transform:translateY(32px) scale(.975);
  transition:
    opacity .56s cubic-bezier(.2,.76,.2,1),
    transform .66s cubic-bezier(.16,.8,.24,1),
    filter .48s ease,
    box-shadow .26s ease,
    border-color .26s ease;
  transition-delay:var(--reveal-delay,0ms);
}
.process-card.reveal.from-left,.proof-item.reveal.from-left,.review-placeholder.reveal.from-left,
.side-card.reveal.from-left,.value-card.reveal.from-left{
  transform:translate(-28px,24px) scale(.975);
}
.process-card.reveal.from-right,.proof-item.reveal.from-right,.review-placeholder.reveal.from-right,
.side-card.reveal.from-right,.value-card.reveal.from-right{
  transform:translate(28px,24px) scale(.975);
}
.process-card.reveal.in-view,.proof-item.reveal.in-view,.review-placeholder.reveal.in-view,.side-card.reveal.in-view,
.value-card.reveal.in-view,.quote-card.reveal.in-view,.review-policy.reveal.in-view{
  opacity:1;
  filter:blur(0);
  transform:none;
}
.process-card:hover,.proof-item:hover,.review-placeholder:hover,.side-card:hover,.value-card:hover{
  transform:translateY(-5px);
  box-shadow:0 15px 34px rgba(3,45,29,.085);
}
.process-card::before,.review-placeholder::before,.value-card::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:3px;height:0;
  background:var(--yellow);
  transition:height .58s cubic-bezier(.2,.76,.2,1) calc(var(--reveal-delay,0ms) + 120ms);
}
.process-card.in-view::before,.review-placeholder.in-view::before,.value-card.in-view::before{height:100%}

/* Slightly richer inner reveals for service cards */
.service-card h3,.directory-card h2{
  letter-spacing:-.015em;
}
.service-card.in-view h3,.directory-card.in-view h2{
  transition-delay:calc(var(--reveal-delay,0ms) + 170ms);
}
.service-card.in-view p,.directory-card.in-view p{
  transition-delay:calc(var(--reveal-delay,0ms) + 245ms);
}
.service-card.in-view>a,.directory-card.in-view>a{
  transition-delay:calc(var(--reveal-delay,0ms) + 315ms);
}

@media(prefers-reduced-motion:reduce){
  .service-card.reveal,.directory-card.reveal,.process-card.reveal,.proof-item.reveal,
  .review-placeholder.reveal,.side-card.reveal,.value-card.reveal,.quote-card.reveal,.review-policy.reveal{
    opacity:1!important;filter:none!important;transform:none!important;transition:none!important
  }
  .service-card::after,.directory-card::after,.process-card::before,.review-placeholder::before,.value-card::before{
    transition:none!important;transform:none!important;height:auto
  }
}



/* Final professional replay-on-scroll enhancement */
:root{
  --motion-fast:.46s;
  --motion-mid:.60s;
  --motion-long:.70s;
  --motion-ease:cubic-bezier(.18,.78,.22,1);
}

/* Section-level entrance without changing layout */
.scroll-section-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity var(--motion-mid) var(--motion-ease),
    transform var(--motion-long) var(--motion-ease);
}
.scroll-section-reveal.in-view{
  opacity:1;
  transform:none;
}

/* Headings gain a refined accent reveal every time they re-enter */
.motion-heading{
  position:relative;
}
.motion-heading::after{
  content:"";
  display:block;
  width:54px;
  height:3px;
  margin-top:14px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--green),var(--yellow));
  transform:scaleX(0);
  transform-origin:left center;
  opacity:.9;
  transition:transform .58s var(--motion-ease) .10s;
}
.motion-heading.in-view::after,
.in-view .motion-heading::after{
  transform:scaleX(1);
}

/* Paragraph/text reveal: subtle, readable, non-distracting */
.motion-copy{
  opacity:0;
  transform:translateY(14px);
  transition:
    opacity .52s var(--motion-ease),
    transform .60s var(--motion-ease);
}
.motion-copy.in-view{
  opacity:1;
  transform:none;
}

/* Images: soft reveal + focus effect, replayed on scroll */
.image-reveal{
  position:relative;
  overflow:hidden;
}
.image-reveal.reveal{
  opacity:0;
  transform:translateY(28px) scale(.985);
  filter:saturate(.88) contrast(.96);
  transition:
    opacity .58s var(--motion-ease),
    transform .68s var(--motion-ease),
    filter .64s ease;
}
.image-reveal.reveal.in-view{
  opacity:1;
  transform:none;
  filter:saturate(1) contrast(1);
}
.image-reveal img{
  transition:transform .70s var(--motion-ease),filter .55s ease;
}
.image-reveal.in-view img{
  transform:scale(1.012);
}
.image-reveal:hover img{
  transform:scale(1.035);
}

/* All main cards receive stronger but professional scroll motion */
.service-card.reveal,
.directory-card.reveal,
.process-card.reveal,
.proof-item.reveal,
.review-slot.reveal,
.review-placeholder.reveal,
.side-card.reveal,
.value-card.reveal,
.number-list>div.reveal,
.scope-list>div.reveal,
.contact-card.reveal,
.quote-card.reveal,
.review-policy.reveal,
.cta-panel.reveal,
.split-cta.reveal{
  will-change:transform,opacity,filter;
}

.process-card.reveal,
.proof-item.reveal,
.review-slot.reveal,
.review-placeholder.reveal,
.side-card.reveal,
.value-card.reveal,
.number-list>div.reveal,
.scope-list>div.reveal{
  opacity:0;
  filter:blur(2px);
  transform:translateY(34px) scale(.972);
  transition:
    opacity .56s var(--motion-ease),
    transform .68s var(--motion-ease),
    filter .50s ease,
    box-shadow .28s ease,
    border-color .28s ease;
  transition-delay:var(--reveal-delay,0ms);
}
.process-card.reveal.from-left,
.proof-item.reveal.from-left,
.review-slot.reveal.from-left,
.review-placeholder.reveal.from-left,
.side-card.reveal.from-left,
.value-card.reveal.from-left,
.number-list>div.reveal.from-left,
.scope-list>div.reveal.from-left{
  transform:translate(-30px,24px) scale(.972);
}
.process-card.reveal.from-right,
.proof-item.reveal.from-right,
.review-slot.reveal.from-right,
.review-placeholder.reveal.from-right,
.side-card.reveal.from-right,
.value-card.reveal.from-right,
.number-list>div.reveal.from-right,
.scope-list>div.reveal.from-right{
  transform:translate(30px,24px) scale(.972);
}
.process-card.reveal.in-view,
.proof-item.reveal.in-view,
.review-slot.reveal.in-view,
.review-placeholder.reveal.in-view,
.side-card.reveal.in-view,
.value-card.reveal.in-view,
.number-list>div.reveal.in-view,
.scope-list>div.reveal.in-view{
  opacity:1;
  filter:none;
  transform:none;
}

/* Premium card accent sweep, visible only while cards enter/hover */
.service-card::before,
.directory-card::before,
.process-card::after,
.review-slot::after,
.review-placeholder::after,
.value-card::after{
  transition-duration:.66s;
  transition-timing-function:var(--motion-ease);
}

/* Refined hover movement */
.service-card:hover,
.directory-card:hover,
.process-card:hover,
.proof-item:hover,
.review-slot:hover,
.review-placeholder:hover,
.side-card:hover,
.value-card:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 42px rgba(4,62,39,.10);
}

/* Buttons: stronger professional microinteraction, no layout change */
.btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.18) 45%,transparent 72%);
  transform:translateX(-135%);
  transition:transform .62s var(--motion-ease);
  pointer-events:none;
  z-index:-1;
}
.btn:hover::before{
  transform:translateX(135%);
}
.btn:hover span{
  transform:translateX(3px);
}
.btn span{
  display:inline-block;
  transition:transform .28s ease;
}

/* Icons animate when their cards re-enter viewport */
.service-icon,
.process-number,
.proof-icon,
.value-icon{
  transition:
    transform .48s var(--motion-ease),
    box-shadow .42s ease,
    background .30s ease,
    color .30s ease;
}
.in-view .service-icon,
.service-card.in-view .service-icon{
  animation:icon-settle .58s var(--motion-ease) both;
}
@keyframes icon-settle{
  0%{transform:translateY(10px) scale(.88) rotate(-3deg)}
  70%{transform:translateY(-2px) scale(1.035) rotate(.8deg)}
  100%{transform:none}
}

/* Forms/panels: clean panel entrance */
.quote-card.reveal,
.contact-card.reveal,
.review-policy.reveal,
.cta-panel.reveal,
.split-cta.reveal{
  opacity:0;
  transform:translateY(30px) scale(.985);
  transition:
    opacity .58s var(--motion-ease),
    transform .68s var(--motion-ease),
    box-shadow .30s ease;
}
.quote-card.reveal.from-left,
.contact-card.reveal.from-left,
.review-policy.reveal.from-left,
.cta-panel.reveal.from-left,
.split-cta.reveal.from-left{
  transform:translate(-28px,22px) scale(.985);
}
.quote-card.reveal.from-right,
.contact-card.reveal.from-right,
.review-policy.reveal.from-right,
.cta-panel.reveal.from-right,
.split-cta.reveal.from-right{
  transform:translate(28px,22px) scale(.985);
}
.quote-card.reveal.in-view,
.contact-card.reveal.in-view,
.review-policy.reveal.in-view,
.cta-panel.reveal.in-view,
.split-cta.reveal.in-view{
  opacity:1;
  transform:none;
}

/* Form controls gain a subtle focus motion only */
input,select,textarea{
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
input:focus,select:focus,textarea:focus{
  transform:translateY(-1px);
}

/* Respect accessibility preference */
@media(prefers-reduced-motion:reduce){
  .scroll-section-reveal,
  .motion-copy,
  .image-reveal.reveal,
  .process-card.reveal,
  .proof-item.reveal,
  .review-slot.reveal,
  .review-placeholder.reveal,
  .side-card.reveal,
  .value-card.reveal,
  .number-list>div.reveal,
  .scope-list>div.reveal,
  .quote-card.reveal,
  .contact-card.reveal,
  .review-policy.reveal,
  .cta-panel.reveal,
  .split-cta.reveal{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
    animation:none!important;
  }
  .motion-heading::after{transform:scaleX(1)!important;transition:none!important}
  .btn::before{display:none!important}
}



/* Homepage hero image: restore original full visual area */
.hero-visual .photo-wrap.image-reveal{
  position:absolute;
  inset:0 0 0 36px;
  width:auto;
  height:auto;
}
@media(max-width:900px){
  .hero-visual .photo-wrap.image-reveal{
    left:0;
  }
}


/* Additional professional card animations — replay every time cards re-enter viewport */
.service-card,
.directory-card,
.process-card,
.proof-item,
.review-slot,
.review-placeholder,
.side-card,
.value-card,
.number-list>div,
.scope-list>div,
.quote-card,
.contact-card,
.review-policy{
  transform-style:preserve-3d;
}

/* Service cards: layered entrance + accent sweep */
.service-card.reveal,
.directory-card.reveal{
  transform-origin:50% 78%;
}
.service-card.reveal:not(.in-view),
.directory-card.reveal:not(.in-view){
  box-shadow:0 4px 12px rgba(3,45,29,.025);
}
.service-card.in-view,
.directory-card.in-view{
  box-shadow:0 8px 24px rgba(3,45,29,.045);
}

.service-card::after,
.directory-card::after{
  background:linear-gradient(90deg,var(--green) 0%,var(--yellow) 52%,var(--green) 100%);
  height:2px;
  opacity:.92;
}

.service-card .service-icon,
.directory-card .service-icon{
  transform-origin:center;
}
.service-card.in-view .service-icon,
.directory-card.in-view .service-icon{
  animation:serviceIconArrival .64s cubic-bezier(.18,.82,.22,1) both;
  animation-delay:calc(var(--reveal-delay,0ms) + 90ms);
}
@keyframes serviceIconArrival{
  0%{opacity:0;transform:translateY(16px) scale(.82) rotate(-4deg)}
  68%{opacity:1;transform:translateY(-3px) scale(1.055) rotate(1deg)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}
}

/* A subtle light sweep appears as each service card enters */
.service-card .service-icon::after,
.directory-card .service-icon::after{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(240,182,0,.18);
  border-radius:15px;
  opacity:0;
  transform:scale(.78);
  transition:opacity .46s ease,transform .58s cubic-bezier(.18,.82,.22,1);
  pointer-events:none;
}
.service-card .service-icon,
.directory-card .service-icon{
  position:relative;
}
.service-card.in-view .service-icon::after,
.directory-card.in-view .service-icon::after{
  opacity:1;
  transform:scale(1);
}

/* Headline, copy and link reveal in a clean sequence on every scroll return */
.service-card h3,
.directory-card h2{
  transition:
    opacity .46s cubic-bezier(.18,.82,.22,1),
    transform .56s cubic-bezier(.18,.82,.22,1),
    letter-spacing .28s ease;
}
.service-card.in-view h3,
.directory-card.in-view h2{
  letter-spacing:-.018em;
}
.service-card p,
.directory-card p{
  transition:
    opacity .48s cubic-bezier(.18,.82,.22,1),
    transform .60s cubic-bezier(.18,.82,.22,1);
}
.service-card>a,
.directory-card>a{
  position:relative;
  width:max-content;
  max-width:100%;
  transition:
    opacity .46s cubic-bezier(.18,.82,.22,1),
    transform .58s cubic-bezier(.18,.82,.22,1),
    color .25s ease;
}
.service-card>a::after,
.directory-card>a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:var(--yellow);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .38s ease;
}
.service-card:hover>a::after,
.directory-card:hover>a::after{
  transform:scaleX(1);
}

/* Card hover remains subtle and professional */
.service-card:hover,
.directory-card:hover{
  transform:translateY(-8px) scale(1.008);
  box-shadow:0 20px 46px rgba(3,45,29,.105);
}
.service-card:hover .service-icon,
.directory-card:hover .service-icon{
  transform:translateY(-5px) scale(1.07) rotate(1.5deg);
}

/* Other cards: alternating reveal with a restrained accent edge */
.process-card,
.proof-item,
.review-slot,
.review-placeholder,
.side-card,
.value-card,
.number-list>div,
.scope-list>div,
.quote-card,
.contact-card,
.review-policy{
  position:relative;
}
.process-card::after,
.proof-item::after,
.review-slot::after,
.review-placeholder::after,
.side-card::after,
.value-card::after,
.number-list>div::after,
.scope-list>div::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--green),var(--yellow));
  opacity:.8;
  transition:width .62s cubic-bezier(.18,.82,.22,1);
  transition-delay:calc(var(--reveal-delay,0ms) + 120ms);
  pointer-events:none;
}
.process-card.in-view::after,
.proof-item.in-view::after,
.review-slot.in-view::after,
.review-placeholder.in-view::after,
.side-card.in-view::after,
.value-card.in-view::after,
.number-list>div.in-view::after,
.scope-list>div.in-view::after{
  width:100%;
}

/* Slight depth on hover without changing layout */
.process-card:hover,
.proof-item:hover,
.review-slot:hover,
.review-placeholder:hover,
.side-card:hover,
.value-card:hover{
  transform:translateY(-6px) scale(1.004);
  box-shadow:0 17px 38px rgba(3,45,29,.09);
}

/* Respect reduced-motion settings */
@media(prefers-reduced-motion:reduce){
  .service-card.in-view .service-icon,
  .directory-card.in-view .service-icon{
    animation:none!important;
  }
  .service-card .service-icon::after,
  .directory-card .service-icon::after,
  .service-card>a::after,
  .directory-card>a::after,
  .process-card::after,
  .proof-item::after,
  .review-slot::after,
  .review-placeholder::after,
  .side-card::after,
  .value-card::after,
  .number-list>div::after,
  .scope-list>div::after{
    transition:none!important;
  }
}



/* Header action buttons: Contact | WhatsApp | Get a Free Quote */
.btn-header-contact{
  background:#fff;
  color:var(--green);
  border:1px solid rgba(7,91,54,.28);
  padding:11px 14px;
  font-size:12px;
  font-weight:800;
}
.btn-header-contact:hover{
  border-color:var(--green);
  background:var(--green-soft);
}
.btn-header-whatsapp{
  background:var(--yellow-soft);
  color:var(--green);
  border:1px solid rgba(240,182,0,.42);
  padding:11px 14px;
  font-size:12px;
  font-weight:800;
}
.btn-header-whatsapp:hover{
  background:var(--yellow);
  color:#16351f;
}
.mobile-nav-actions{display:none}
#quote{scroll-margin-top:120px}

@media(max-width:1180px){
  .nav-shell{gap:18px}
  .brand{min-width:220px}
  .brand img{width:220px}
  .main-nav{gap:13px}
  .main-nav>a,.drop-toggle{font-size:11.5px}
  .nav-actions{gap:7px}
  .desktop-header-action{padding:10px 11px;font-size:11px}
}

@media(max-width:1050px){
  .main-nav{
    position:fixed;
    left:22px;
    right:22px;
    top:112px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    border-radius:18px;
    padding:14px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    max-height:calc(100vh - 135px);
    overflow:auto;
  }
  .main-nav.open{display:flex}
  .main-nav>a,.drop-toggle{padding:10px 8px;text-align:left;width:100%}
  .main-nav>a:after,.drop-toggle:after{display:none}
  .dropdown-menu{
    position:static;
    width:auto;
    box-shadow:none;
    border:0;
    background:var(--off);
    margin:4px 0 0;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .dropdown-menu:before{display:none}
  .dropdown.open .dropdown-menu{display:grid}
  .menu-btn{display:block}
  .desktop-header-action{display:inline-flex!important}
}

@media(max-width:760px){
  .desktop-header-action{display:none!important}
  .mobile-nav-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px 6px 4px;
    margin-top:7px;
    border-top:1px solid var(--line);
  }
  .mobile-nav-actions .btn{
    min-height:42px;
    padding:10px 11px;
    font-size:11px;
  }
  .mobile-nav-actions .btn-primary{grid-column:1/-1}
}

@media(max-width:420px){
  .mobile-nav-actions{grid-template-columns:1fr}
  .mobile-nav-actions .btn-primary{grid-column:auto}
}



/* ==========================================================
   MOBILE / INSPECT MODE SLIDERS
   Desktop remains unchanged.
   ========================================================== */

.mobile-slider-controls{
  display:none;
}

@media(max-width:760px){

  /* ---------- Mobile Services dropdown: compact swipe row ---------- */
  .main-nav .dropdown{
    min-width:0;
    width:100%;
  }

  .main-nav .dropdown.open .dropdown-menu{
    display:flex;
    align-items:stretch;
    gap:9px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:10px;
    background:var(--off);
    border-radius:12px;
  }

  .main-nav .dropdown.open .dropdown-menu::-webkit-scrollbar{
    display:none;
  }

  .main-nav .dropdown-menu .drop-label{
    display:none;
  }

  .main-nav .dropdown-menu a{
    flex:0 0 72%;
    min-width:0;
    min-height:48px;
    display:flex;
    align-items:center;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    white-space:normal;
    line-height:1.25;
  }

  .main-nav .dropdown-menu .drop-all{
    flex-basis:72%;
    background:var(--green-soft);
    color:var(--green);
  }

  /* ---------- Generic horizontal card slider ---------- */
  .mobile-card-slider{
    display:flex!important;
    grid-template-columns:none!important;
    grid-auto-flow:unset!important;
    width:100%;
    max-width:100%;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:6px 12vw 18px 1px;
    touch-action:pan-x;
  }

  .mobile-card-slider::-webkit-scrollbar{
    display:none;
  }

  .mobile-card-slider > *{
    flex:0 0 86%;
    width:86%;
    min-width:0;
    max-width:none;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    box-sizing:border-box;
  }

  /* Services cards need independent borders when detached from grid */
  .service-showcase.mobile-card-slider{
    border:0;
  }

  .service-showcase.mobile-card-slider > .service-card{
    border:1px solid var(--line);
    min-height:245px;
  }

  .service-directory.mobile-card-slider > .directory-card{
    min-height:260px;
  }

  /* Proof cards become proper individual swipe cards */
  .proof-grid.mobile-card-slider{
    border:0;
  }

  .proof-grid.mobile-card-slider > .proof-item{
    border:1px solid var(--line)!important;
    background:#fff;
    min-height:105px;
    align-items:center;
  }

  /* Process/value cards stay visually unchanged, only horizontal */
  .process-grid.mobile-card-slider > .process-card,
  .values-grid.mobile-card-slider > .value-card{
    min-height:220px;
  }

  /* Reviews already used horizontal scrolling; standardise the behaviour */
  .review-track.mobile-card-slider{
    margin-top:24px;
  }

  .review-track.mobile-card-slider > .review-placeholder{
    min-width:0;
    width:86%;
  }

  /* ---------- Slider navigation ---------- */
  .mobile-slider-controls{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:8px 0 4px;
  }

  .mobile-slider-arrows{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
  }

  .mobile-slider-arrow{
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--green);
    display:grid;
    place-items:center;
    font-size:17px;
    font-weight:800;
    cursor:pointer;
    transition:
      transform .25s ease,
      background .25s ease,
      border-color .25s ease,
      opacity .25s ease;
  }

  .mobile-slider-arrow:active{
    transform:scale(.94);
  }

  .mobile-slider-arrow:disabled{
    opacity:.35;
    cursor:default;
  }

  .mobile-slider-dots{
    min-width:0;
    flex:1;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:5px;
    overflow:hidden;
  }

  .mobile-slider-dot{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border:0;
    border-radius:50%;
    padding:0;
    background:#d5dfda;
    cursor:pointer;
    transition:
      width .25s ease,
      border-radius .25s ease,
      background .25s ease;
  }

  .mobile-slider-dot.active{
    width:18px;
    flex-basis:18px;
    border-radius:99px;
    background:var(--yellow);
  }

  /* Homepage wording becomes the cleaner mobile CTA requested. */
  .service-showcase + .center-action .btn{
    font-size:0;
  }

  .service-showcase + .center-action .btn::before{
    content:"View All Services";
    font-size:12px;
  }

  .service-showcase + .center-action .btn span{
    font-size:12px;
  }

  /* Prevent vertical grid overrides from defeating the slider */
  .service-showcase.mobile-card-slider,
  .service-directory.mobile-card-slider,
  .process-grid.mobile-card-slider,
  .values-grid.mobile-card-slider,
  .proof-grid.mobile-card-slider,
  .review-track.mobile-card-slider{
    grid-template-columns:none!important;
  }
}

@media(max-width:420px){
  .mobile-card-slider{
    padding-right:15vw;
    gap:12px!important;
  }

  .mobile-card-slider > *{
    flex-basis:88%;
    width:88%;
  }

  .main-nav .dropdown-menu a,
  .main-nav .dropdown-menu .drop-all{
    flex-basis:78%;
  }
}

@media(prefers-reduced-motion:reduce){
  .mobile-card-slider{
    scroll-behavior:auto!important;
  }

  .mobile-slider-arrow,
  .mobile-slider-dot{
    transition:none!important;
  }
}


/* ==========================================================
   MOBILE CLEANUP + ABOUT US RESPONSIVE FIX
   Desktop styling remains unchanged.
   ========================================================== */

.mobile-bottom-cta{
  display:none;
}

@media(max-width:760px){

  /* Remove the mobile WhatsApp/top strip entirely. */
  .topbar{
    display:none!important;
  }

  /* With the top strip gone, keep the hamburger menu aligned below the header. */
  .main-nav{
    top:82px!important;
    max-height:calc(100vh - 104px)!important;
  }

  /* The old floating WhatsApp control is replaced by the permanent bottom bar. */
  .whatsapp-float{
    display:none!important;
  }

  /* Keep back-to-top accessible above the bottom CTA. */
  .back-top{
    bottom:84px!important;
  }

  /* Ensure content never sits underneath the fixed mobile action bar. */
  body{
    padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px));
  }

  .mobile-bottom-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:180;
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:9px;
    padding:9px 12px calc(9px + env(safe-area-inset-bottom, 0px));
    background:rgba(255,255,255,.97);
    border-top:1px solid rgba(7,91,54,.12);
    box-shadow:0 -10px 28px rgba(4,62,39,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .mobile-bottom-btn{
    min-width:0;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:11px 12px;
    border-radius:11px;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    transition:
      transform .22s ease,
      box-shadow .22s ease,
      background .22s ease;
  }

  .mobile-bottom-btn:active{
    transform:scale(.975);
  }

  .mobile-bottom-whatsapp{
    color:var(--green-dark);
    background:var(--yellow-soft);
    border:1px solid rgba(240,182,0,.5);
  }

  .mobile-bottom-whatsapp:hover{
    background:var(--yellow);
  }

  .mobile-bottom-quote{
    color:#fff;
    background:var(--green);
    border:1px solid var(--green);
    box-shadow:0 8px 18px rgba(7,91,54,.16);
  }

  .mobile-bottom-quote:hover{
    background:var(--green-dark);
  }

  /* --------------------------------------------------------
     ABOUT US: remove the squeezed / side-by-side mobile effect.
     Text and image become clean full-width stacked blocks.
     -------------------------------------------------------- */
  body:has(.breadcrumb span:last-child) .editorial-grid,
  .editorial-grid,
  .editorial-grid.reverse{
    grid-template-columns:1fr!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:30px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .editorial-copy,
  .editorial-media{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .editorial-copy{
    order:1;
  }

  .editorial-media{
    order:2;
    position:relative;
    overflow:visible;
  }

  .editorial-copy h2,
  .editorial-copy > p,
  .editorial-copy .number-list{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .editorial-copy h2{
    font-size:clamp(2rem,9vw,2.55rem)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }

  .editorial-copy > p{
    margin-top:18px!important;
    font-size:14px!important;
    line-height:1.7!important;
  }

  .number-list{
    margin-top:24px!important;
  }

  .number-list > div{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:12px!important;
  }

  .number-list p{
    min-width:0!important;
    overflow-wrap:anywhere;
  }

  .editorial-media img{
    width:100%!important;
    height:340px!important;
    max-width:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:22px 22px 58px 22px!important;
  }

  .image-note{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    max-width:calc(100% - 28px)!important;
  }
}

@media(max-width:420px){
  .mobile-bottom-cta{
    grid-template-columns:.82fr 1.18fr;
    gap:7px;
    padding-left:9px;
    padding-right:9px;
  }

  .mobile-bottom-btn{
    min-height:46px;
    padding:10px 8px;
    font-size:11px;
  }

  .editorial-grid,
  .editorial-grid.reverse{
    gap:24px!important;
  }

  .editorial-media img{
    height:300px!important;
  }
}


/* Final header/mobile services refinements */
.mobile-view-all-services{
  display:none;
}

/* With the top information bar removed, header begins at the top naturally. */
.site-header{
  top:0;
}

@media(max-width:760px){
  /* Dedicated View All Services action below the horizontal services list */
  .main-nav .dropdown.open .mobile-view-all-services{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    margin-top:8px;
    padding:10px 14px;
    border:1px solid rgba(7,91,54,.24);
    border-radius:10px;
    background:var(--green-soft);
    color:var(--green);
    font-size:12px;
    font-weight:800;
    text-align:center;
    transition:
      background .24s ease,
      color .24s ease,
      border-color .24s ease,
      transform .22s ease;
  }

  .main-nav .dropdown.open .mobile-view-all-services:hover,
  .main-nav .dropdown.open .mobile-view-all-services:active{
    background:var(--green);
    color:#fff;
    border-color:var(--green);
  }

  .main-nav .dropdown.open .mobile-view-all-services:active{
    transform:scale(.985);
  }

  /* Hide duplicate "View all" item from inside the swipe row;
     the dedicated action above is clearer on mobile. */
  .main-nav .dropdown-menu .drop-all{
    display:none!important;
  }
}



/* ==========================================================
   FINAL HOME TRUST + MOBILE FEATURE/PROCESS SLIDER UPDATE
   Desktop layout remains unchanged.
   ========================================================== */

/* Refined six-item trust treatment */
.trust-chips{
  align-items:stretch;
}
.trust-chips .trust-indicator{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#f3faf6;
  border:1px solid rgba(7,91,54,.08);
  color:var(--green-ink);
  padding:9px 11px;
}
.trust-chips .trust-icon{
  min-width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  color:var(--green);
  font-size:11px;
  line-height:1;
}
.trust-chips .trust-indicator em{
  font-style:normal;
  font-size:11px;
  font-weight:800;
}

/* Mobile-only feature slider for Requirement-led planning etc. */
@media(max-width:760px){

  .number-list.mobile-card-slider{
    display:flex!important;
    gap:12px!important;
    width:100%;
    max-width:100%;
    border-top:0;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:5px 13vw 16px 0;
    touch-action:pan-x;
  }

  .number-list.mobile-card-slider::-webkit-scrollbar{
    display:none;
  }

  .number-list.mobile-card-slider > div{
    flex:0 0 86%;
    width:86%;
    min-width:0;
    display:grid;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:12px!important;
    padding:20px 18px!important;
    border:1px solid var(--line)!important;
    border-radius:13px;
    background:#fff;
    box-shadow:var(--shadow-sm);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .number-list.mobile-card-slider > div:nth-child(even){
    border-top:2px solid var(--yellow)!important;
  }

  .number-list.mobile-card-slider > div:nth-child(odd){
    border-top:2px solid var(--green)!important;
  }

  .number-list.mobile-card-slider b{
    font-size:13px;
  }

  .number-list.mobile-card-slider p{
    font-size:12px;
    line-height:1.55;
  }

  /* Compact six trust indicators without lengthening the page */
  .trust-chips{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .trust-chips .trust-indicator{
    width:100%;
    min-width:0;
    justify-content:flex-start;
    padding:9px 9px;
    border-radius:9px;
  }

  .trust-chips .trust-indicator em{
    font-size:10.5px;
    line-height:1.25;
  }

  /* Service process cards remain a clean swipe slider */
  .process-grid.mobile-card-slider > .process-card{
    min-height:260px;
  }
}

@media(max-width:420px){
  .number-list.mobile-card-slider{
    padding-right:16vw;
  }

  .number-list.mobile-card-slider > div{
    flex-basis:88%;
    width:88%;
  }
}



/* Result-focused review example styling */
.review-sample-badge{
  display:inline-block;
  margin-top:12px;
  padding:5px 8px;
  border-radius:7px;
  background:var(--yellow-soft);
  color:var(--green);
  font-size:9px;
  line-height:1.25;
  font-weight:800;
}
.review-stars{
  margin-top:10px;
  color:var(--yellow);
  font-size:14px;
  letter-spacing:1px;
}


/* Varied review-example layouts */
.review-result-chip{
  display:inline-block;
  margin-top:10px;
  padding:5px 9px;
  border-radius:999px;
  background:#f3faf6;
  border:1px solid rgba(7,91,54,.12);
  color:var(--green);
  font-size:9px;
  line-height:1.2;
  font-weight:800;
}
.review-placeholder.review-style-result{
  border-top:3px solid var(--green);
}
.review-placeholder.review-style-quote{
  border-top:3px solid var(--yellow);
}
.review-placeholder.review-style-compact p{
  font-size:13px;
  line-height:1.55;
}
.review-placeholder.review-style-detailed p{
  font-size:12.5px;
  line-height:1.7;
}
.review-placeholder.review-style-quote p::before{
  content:"“";
  color:var(--yellow);
  font-size:24px;
  line-height:0;
  margin-right:3px;
  vertical-align:-5px;
}
.review-placeholder.review-style-quote p::after{
  content:"”";
  color:var(--yellow);
  font-size:24px;
  line-height:0;
  margin-left:3px;
  vertical-align:-5px;
}



/* ==========================================================
   FINAL SERVICES DROPDOWN + SUBJECTS SECTION UPDATE
   ========================================================== */

/* Desktop: centre the dropdown precisely under the Services trigger. */
@media(min-width:1051px){
  .main-nav .dropdown > .dropdown-menu{
    left:50%;
    right:auto;
    transform:translate(-50%,6px);
  }

  .main-nav .dropdown:hover > .dropdown-menu,
  .main-nav .dropdown.open > .dropdown-menu,
  .main-nav .dropdown:focus-within > .dropdown-menu{
    transform:translate(-50%,0);
  }
}

/* Homepage subjects section */
.subjects-section{
  background:#f7fbf8;
}

.subjects-heading{
  max-width:780px;
  margin-bottom:34px;
}

.subjects-heading h2{
  margin-top:9px;
}

.subjects-heading p{
  margin:14px 0 0;
  max-width:760px;
  color:var(--muted);
  line-height:1.7;
}

.subject-pills{
  display:flex;
  flex-wrap:wrap;
  gap:11px 10px;
  align-items:center;
}

.subject-extra-wrap{
  display:contents;
}

.subject-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 17px;
  border:1px solid rgba(7,91,54,.14);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:12.5px;
  line-height:1.2;
  font-weight:750;
  box-shadow:0 3px 12px rgba(7,91,54,.035);
  transition:
    background .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}

.subject-pill:hover{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(7,91,54,.10);
}

.subject-pill-more{
  background:var(--green-soft);
  color:var(--green);
  border-color:rgba(7,91,54,.22);
  font-weight:850;
}

.subjects-toggle{
  display:none;
}

@media(max-width:760px){
  .subjects-section{
    background:#f8fcf9;
  }

  .subjects-heading{
    margin-bottom:24px;
  }

  .subjects-heading h2{
    font-size:2.25rem;
  }

  .subjects-heading p{
    font-size:13px;
    line-height:1.65;
  }

  .subject-pills{
    gap:9px 8px;
  }

  .subject-pill{
    min-height:39px;
    padding:9px 13px;
    font-size:11.5px;
  }

  .subjects-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:39px;
    padding:9px 14px;
    border:1px solid rgba(7,91,54,.22);
    border-radius:999px;
    background:var(--green);
    color:#fff;
    font-size:11.5px;
    line-height:1;
    font-weight:850;
    cursor:pointer;
    transition:transform .2s ease, background .2s ease;
  }

  .subjects-toggle:active{
    transform:scale(.98);
  }

  .subjects-toggle-icon{
    color:var(--yellow);
    font-size:15px;
    line-height:1;
    transition:transform .25s ease;
  }

  .subject-extra-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:9px 8px;
    width:100%;
    max-height:0;
    opacity:0;
    overflow:hidden;
    visibility:hidden;
    margin-top:0;
    transform:translateY(-4px);
    transition:
      max-height .5s ease,
      opacity .3s ease,
      transform .35s ease,
      margin-top .35s ease,
      visibility .3s ease;
  }

  .subjects-section.subjects-expanded .subject-extra-wrap{
    max-height:900px;
    opacity:1;
    visibility:visible;
    margin-top:1px;
    transform:none;
  }

  .subjects-section.subjects-expanded .subjects-toggle-icon{
    transform:rotate(45deg);
  }
}

@media(prefers-reduced-motion:reduce){
  .subject-pill,
  .subjects-toggle,
  .subjects-toggle-icon,
  .subject-extra-wrap{
    transition:none!important;
  }
}




/* ==========================================================
   FINAL OFFER BAR + DESKTOP NAV ALIGNMENT + DROPDOWN POLISH
   ========================================================== */

.offer-bar{
  position:sticky;
  top:0;
  z-index:125;
  height:34px;
  background:var(--green-dark);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.offer-bar-inner{
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  white-space:nowrap;
  overflow:hidden;
  font-size:11px;
  line-height:1;
  letter-spacing:.01em;
}

.offer-bar-inner strong{
  font-weight:850;
}

.offer-clock{
  color:var(--yellow);
  font-size:13px;
  line-height:1;
}

.offer-separator{
  color:rgba(255,255,255,.48);
}

.offer-countdown{
  min-width:38px;
  color:var(--yellow);
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:.04em;
}

.site-header{
  top:34px;
}

/* One small disclosure replaces repetitive labels on every sample card. */
.review-examples-disclosure{
  margin:18px 0 0;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.5;
}

/* Desktop navigation: one shared vertical rhythm for every item. */
@media(min-width:1051px){
  .main-nav{
    align-items:center;
  }

  .main-nav > a,
  .main-nav > .dropdown{
    height:44px;
  }

  .main-nav > a{
    display:inline-flex;
    align-items:center;
  }

  .main-nav > .dropdown{
    display:flex;
    align-items:center;
  }

  .main-nav .drop-toggle{
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    line-height:1;
    padding:0;
  }

  .main-nav .drop-toggle > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    line-height:1;
    font-size:13px;
    transform:translateY(1px);
  }

  .main-nav .dropdown > .dropdown-menu{
    top:calc(100% + 8px);
    left:50%;
    right:auto;
    transform:translate(-50%,-4px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
      opacity .22s ease-out,
      transform .22s ease-out,
      visibility .22s ease-out;
  }

  .main-nav .dropdown > .dropdown-menu::before{
    top:-10px;
    height:10px;
  }

  .main-nav .dropdown:hover > .dropdown-menu,
  .main-nav .dropdown.open > .dropdown-menu,
  .main-nav .dropdown:focus-within > .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
  }
}

/* Keep the existing mobile navigation intact beneath the new slim offer bar. */
@media(max-width:1050px){
  .main-nav{
    top:130px;
  }
}

@media(max-width:760px){
  .offer-bar-inner{
    gap:5px;
    padding-inline:2px;
    font-size:10px;
  }

  .offer-clock{
    font-size:11px;
  }

  .offer-countdown{
    min-width:35px;
  }
}

@media(max-width:380px){
  .offer-bar-inner{
    font-size:9.2px;
    letter-spacing:0;
  }

  .offer-separator{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .main-nav .dropdown > .dropdown-menu{
    transition:none!important;
  }
}



/* FINAL 20% OFFER + QUOTE ROUTING REFINEMENTS */
.offer-countdown{
  min-width:54px;
  font-size:15px;
  font-weight:950;
  letter-spacing:.055em;
}

#quote{
  scroll-margin-top:138px;
}

@media(max-width:760px){
  .offer-countdown{
    min-width:49px;
    font-size:13.5px;
  }

  #quote{
    scroll-margin-top:126px;
  }
}



/* FINAL NAV CENTRING — no other layout changes */
@media(min-width:1051px){
  .nav-shell{
    position:relative;
  }

  .main-nav{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    margin-left:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:23px;
  }

  .main-nav > a,
  .main-nav > .dropdown,
  .main-nav .drop-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .main-nav > a,
  .main-nav > .dropdown{
    height:44px;
  }

  .main-nav .drop-toggle{
    height:44px;
    line-height:1;
  }

  .main-nav .drop-toggle > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
  }

  .nav-actions{
    margin-left:auto;
  }
}




/* ==========================================================
   UK CONTACT DETAILS + SPLIT FOOTER BRAND VISIBILITY
   ========================================================== */

@media(min-width:901px){
  .footer{
    position:relative;
    overflow:hidden;
    background:#032d1d;
  }

  /* White left section only; the rest of the footer stays deep green. */
  .footer::before{
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    top:0;
    bottom:52px;
    width:43.5%;
    background:#fff;
    border-right:1px solid rgba(7,91,54,.10);
  }

  .footer-grid,
  .footer-bottom{
    position:relative;
    z-index:1;
  }

  .footer-brand{
    color:var(--ink);
    padding-right:26px;
  }

  .footer-logo-wordmark{
    color:var(--green-dark);
  }

  .footer-brand p{
    color:#53635c;
  }

  .footer-brand .footer-badges span{
    color:var(--green);
    border-color:rgba(7,91,54,.18);
    background:#f7fbf8;
  }
}

/* On smaller screens, keep the brand block white and the remainder green. */
@media(max-width:900px){
  .footer{
    background:#032d1d;
  }

  .footer-brand{
    background:#fff;
    color:var(--ink);
    padding:24px;
    border-radius:14px;
  }

  .footer-logo-wordmark{
    color:var(--green-dark);
  }

  .footer-brand p{
    color:#53635c;
  }

  .footer-brand .footer-badges span{
    color:var(--green);
    border-color:rgba(7,91,54,.18);
    background:#f7fbf8;
  }
}



/* FINAL FOOTER BOTTOM CLEANUP */
.footer-bottom{
  min-height:48px;
  padding:0;
  border-top:1px solid rgba(255,255,255,.10);
  background:#032d1d;
}

/* Keep the white brand panel above the footer-bottom only. */
@media(min-width:901px){
  .footer::before{
    bottom:48px;
  }

  .footer-bottom{
    width:100%;
    max-width:none;
    margin:0;
  }
}

@media(max-width:900px){
  .footer-bottom{
    min-height:42px;
  }
}


/* ==========================================================
   FINAL QUOTE MODAL + FOOTER SPLIT + DROPDOWN POSITION
   ========================================================== */
.quote-modal{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.quote-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.quote-modal-backdrop{position:absolute;inset:0;background:rgba(2,45,29,.48);backdrop-filter:blur(3px)}
.quote-modal-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:18px;box-shadow:0 28px 80px rgba(3,45,29,.26);transform:translateY(12px) scale(.985);transition:transform .25s ease}
.quote-modal.is-open .quote-modal-dialog{transform:none}
.quote-modal-form{margin:0;background:#fff}
.quote-modal-close{position:absolute;top:13px;right:13px;z-index:3;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green-dark);font-size:25px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}
body.quote-modal-open{overflow:hidden}

@media(min-width:901px){
  .footer{background:linear-gradient(to right,#fff 0,#fff 50%,#032d1d 50%,#032d1d 100%)}
  .footer::before{display:none!important}
  .footer-grid{grid-template-columns:calc(50% - 21px) minmax(0,1fr) minmax(0,1fr);gap:42px;background:transparent}
  .footer-brand{padding-right:28px;background:transparent}
  .footer-grid > :nth-child(2){padding-left:0}
  .footer-bottom{position:relative;z-index:2;width:100%;max-width:none;margin:0;background:#032d1d!important}
}

@media(min-width:1051px){
  .main-nav .dropdown > .dropdown-menu{top:calc(100% + 6px);left:50%;right:auto;transform:translate(-50%,-4px)}
  .main-nav .dropdown > .dropdown-menu::before{top:-8px;height:8px}
  .main-nav .dropdown:hover > .dropdown-menu,.main-nav .dropdown.open > .dropdown-menu,.main-nav .dropdown:focus-within > .dropdown-menu{transform:translate(-50%,0)}
}

@media(max-width:760px){
  .quote-modal{padding:12px}
  .quote-modal-dialog{width:100%;max-height:calc(100vh - 24px);border-radius:15px}
  .quote-modal-form{padding-top:54px}
  .quote-modal-close{top:10px;right:10px}
}
@media(prefers-reduced-motion:reduce){.quote-modal,.quote-modal-dialog{transition:none!important}}



/* ==========================================================
   FINAL FOOTER SHAPE + SERVICES CHEVRON REFINEMENT
   ========================================================== */

/* Desktop footer:
   deep green is the main footer background.
   The white area is only the logo/brand panel, not a 50/50 split. */
@media(min-width:901px){
  .footer{
    background:#032d1d!important;
    overflow:hidden;
  }

  .footer::before{
    display:none!important;
  }

  .footer-grid{
    grid-template-columns:1.35fr .8fr 1fr;
    gap:42px;
    background:transparent!important;
    position:relative;
    z-index:1;
  }

  .footer-brand{
    position:relative;
    z-index:1;
    align-self:start;
    margin-top:-62px;
    padding-top:62px;
    padding-right:32px;
    padding-bottom:32px;
    background:#fff!important;
    color:var(--ink);
    box-shadow:-100vw 0 0 100vw #fff;
  }

  .footer-brand::after{
    content:"";
    position:absolute;
    top:0;
    right:-18px;
    bottom:0;
    width:18px;
    background:#fff;
  }

  .footer-logo-wordmark{
    color:var(--green-dark);
  }

  .footer-brand p{
    color:#53635c;
  }

  .footer-brand .footer-badges span{
    color:var(--green);
    border-color:rgba(7,91,54,.18);
    background:#f7fbf8;
  }

  .footer-grid > :nth-child(2),
  .footer-grid > :nth-child(3){
    position:relative;
    z-index:2;
  }

  .footer-bottom{
    position:relative;
    z-index:3;
    width:100%;
    max-width:none;
    margin:0;
    background:#032d1d!important;
  }
}

/* Services trigger styled like a clean text label + small dark chevron. */
@media(min-width:1051px){
  .main-nav .drop-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    color:#26312d;
  }

  .main-nav .drop-toggle > span{
    width:7px;
    height:7px;
    flex:0 0 7px;
    margin:0;
    border-right:1.6px solid #31444d;
    border-bottom:1.6px solid #31444d;
    color:transparent!important;
    font-size:0!important;
    line-height:0;
    transform:rotate(45deg) translateY(-1px);
  }
}




/* ==========================================================
   FINAL FOOTER GREEN FRAME + HOME-ONLY QUOTE POPUP
   ========================================================== */

@media(min-width:901px){
  .footer{
    background:#032d1d!important;
    overflow:hidden;
  }

  .footer::before{
    display:none!important;
  }

  .footer-grid{
    position:relative;
    z-index:1;
    grid-template-columns:1.35fr .8fr 1fr;
    gap:42px;
    padding-top:62px;
    background:#032d1d!important;
  }

  /* White brand panel: top edge remains open/flush.
     Deep green is visible on its left, right and bottom sides. */
  .footer-brand{
    position:relative;
    z-index:2;
    align-self:start;
    margin-top:-62px;
    margin-left:22px;
    margin-right:12px;
    margin-bottom:22px;
    padding:62px 32px 34px 32px;
    background:#fff!important;
    color:var(--ink);
    box-shadow:none!important;
  }

  .footer-brand::after{
    display:none!important;
  }

  .footer-logo-wordmark{
    color:var(--green-dark);
  }

  .footer-brand p{
    color:#53635c;
  }

  .footer-brand .footer-badges span{
    color:var(--green);
    border-color:rgba(7,91,54,.18);
    background:#f7fbf8;
  }

  .footer-grid > :nth-child(2),
  .footer-grid > :nth-child(3){
    position:relative;
    z-index:2;
  }

  .footer-bottom{
    position:relative;
    z-index:3;
    width:100%;
    max-width:none;
    margin:0;
    min-height:48px;
    background:#032d1d!important;
    border-top:1px solid rgba(255,255,255,.10);
  }
}

/* Mobile footer remains simple and fully responsive. */
@media(max-width:900px){
  .footer{
    background:#032d1d!important;
  }

  .footer-brand{
    margin:0 12px 18px;
    background:#fff!important;
  }

  .footer-bottom{
    background:#032d1d!important;
  }
}



/* FINAL FULL DEEP-GREEN FOOTER + HIGH-CONTRAST LOGO */
.footer{
  background:#032d1d!important;
  color:#fff!important;
  overflow:hidden;
}
.footer::before{display:none!important;}
.footer-grid{background:#032d1d!important;}
.footer-brand{
  background:transparent!important;
  color:#fff!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.footer-brand::after{display:none!important;}
.footer-logo{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  gap:12px!important;
}
.footer-logo-mark{
  width:78px!important;
  height:70px!important;
  object-fit:contain;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.30)) brightness(1.16) saturate(1.08);
}
.footer-logo-wordmark{
  color:#fff!important;
  font-size:29px!important;
  font-weight:850!important;
  letter-spacing:-.045em;
  text-shadow:0 1px 12px rgba(255,255,255,.10);
}
.footer-brand p{color:rgba(255,255,255,.76)!important;}
.footer-brand .footer-badges span{
  color:#eaf7f0!important;
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.035)!important;
}
.footer-grid > :nth-child(2),
.footer-grid > :nth-child(3){background:transparent!important;}
.footer-bottom{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:#032d1d!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
@media(min-width:901px){
  .footer{background:#032d1d!important;}
  .footer-grid{
    grid-template-columns:1.35fr .8fr 1fr;
    gap:42px;
    padding:62px 0 40px;
    background:#032d1d!important;
  }
  .footer-brand{
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }
}
@media(max-width:900px){
  .footer{background:#032d1d!important;}
  .footer-brand{
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
  }
  .footer-logo-mark{width:70px!important;height:64px!important;}
  .footer-logo-wordmark{font-size:25px!important;}
}


/* ==========================================================
   HOMEPAGE HERO QUOTE FORM + CONTAINED HERO BACKGROUND
   + SLIGHTLY LIGHTER FULL-GREEN FOOTER
   ========================================================== */

/* Homepage hero owns its background completely; it no longer continues
   through a separate quote band below. */
.hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 58px;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
}

.hero-grid{
  align-items:center;
}

.hero-quote-wrap{
  position:relative;
  z-index:2;
  width:100%;
  min-width:0;
}

.hero-quote-card{
  width:100%;
  margin:0;
  padding:27px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.hero-quote-card .form-head{
  margin-bottom:18px;
}

.hero-quote-card .form-head h3{
  font-size:23px;
}

.hero-quote-card .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.hero-quote-card .field:nth-child(3),
.hero-quote-card .field.full{
  grid-column:1/-1;
}

.hero-quote-card .field textarea{
  min-height:92px;
}

.hero-quote-card .form-note{
  line-height:1.5;
}

/* The old standalone quote band has been removed from the Homepage. */
.quote-band{
  background:#fff;
}

/* Full footer remains green, but slightly lighter than the previous
   near-black green for stronger logo visibility. */
.footer,
.footer-grid,
.footer-bottom{
  background:#064b31!important;
}

.footer-logo-mark{
  filter:
    drop-shadow(0 0 1px rgba(255,255,255,.80))
    drop-shadow(0 5px 14px rgba(0,0,0,.24))
    brightness(1.18)
    saturate(1.08)!important;
}

.footer-logo-wordmark{
  color:#fff!important;
  text-shadow:0 1px 10px rgba(0,0,0,.18)!important;
}

@media(max-width:900px){
  .hero{
    padding:52px 0 44px;
  }

  .hero-quote-wrap{
    margin-top:12px;
  }

  .hero-quote-card{
    padding:22px;
  }
}

@media(max-width:620px){
  .hero-quote-card .form-grid{
    grid-template-columns:1fr;
  }

  .hero-quote-card .field,
  .hero-quote-card .field:nth-child(3),
  .hero-quote-card .field.full{
    grid-column:1;
  }

  .hero-quote-card .form-head{
    gap:12px;
  }

  .hero-quote-card .form-head h3{
    font-size:21px;
  }
}



/* ==========================================================
   FINAL HOMEPAGE FULL-HERO BACKGROUND IMAGE
   + THREE-FIELD HOMEPAGE QUOTE FORMS
   ========================================================== */

/* The library/student image now backgrounds the complete Homepage hero only. */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:72px 0 58px;
  background:
    linear-gradient(rgba(250,253,251,.84), rgba(250,253,251,.84)),
    url("../images/stock-solo-library.webp") center center / cover no-repeat!important;
}

/* Soft readability layer without obscuring the photograph. */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.26) 0%,
    rgba(255,255,255,.18) 48%,
    rgba(247,252,249,.16) 100%
  );
  pointer-events:none;
}

.hero-grid{
  position:relative;
  z-index:1;
  align-items:center;
}

/* Keep left hero content readable above the image. */
.hero-copy{
  position:relative;
  z-index:2;
}

.hero-copy > p,
.hero-copy .micro-copy{
  color:#31403a;
}

.hero-copy h1{
  text-shadow:0 1px 0 rgba(255,255,255,.42);
}

/* Quote form remains on the right and sits above the same hero image. */
.hero-quote-wrap{
  position:relative;
  z-index:3;
}

.hero-quote-card{
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  box-shadow:0 18px 50px rgba(3,45,29,.16)!important;
}

/* Homepage visible quote form now has three fields only. */
.hero-quote-card .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.hero-quote-card .field:nth-child(3){
  grid-column:1/-1;
}

.hero-quote-card .field.full{
  grid-column:1/-1;
}

/* The image/background stops exactly with the hero section. */
.hero + section{
  position:relative;
  z-index:2;
  background:#fff;
}

/* Popup also contains three fields only; keep it balanced. */
.quote-modal-form .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.quote-modal-form .field:nth-child(3),
.quote-modal-form .field.full{
  grid-column:1/-1;
}

@media(max-width:900px){
  .hero{
    padding:52px 0 44px;
    background:
      linear-gradient(rgba(250,253,251,.88), rgba(250,253,251,.88)),
      url("../images/stock-solo-library.webp") center center / cover no-repeat!important;
  }
}

@media(max-width:620px){
  .hero-quote-card .form-grid,
  .quote-modal-form .form-grid{
    grid-template-columns:1fr;
  }

  .hero-quote-card .field,
  .hero-quote-card .field:nth-child(3),
  .hero-quote-card .field.full,
  .quote-modal-form .field,
  .quote-modal-form .field:nth-child(3),
  .quote-modal-form .field.full{
    grid-column:1;
  }
}




/* ==========================================================
   GLOBAL SUBTLE GREEN-TINTED PAGE BACKGROUND
   ========================================================== */

:root{
  --page-soft-green:#f8fcf9;
}

/* Replace harsh plain-white page canvas with a barely perceptible green tint. */
html,
body{
  background:var(--page-soft-green);
}

/* Ordinary large content sections that previously inherited/used white. */
main > .section:not(.subjects-section),
main > section.section:not(.subjects-section),
.page-main,
.policy-section{
  background:var(--page-soft-green);
}

/* Keep the Homepage hero image exactly as designed. */
.hero{
  background:
    linear-gradient(rgba(250,253,251,.84), rgba(250,253,251,.84)),
    url("../images/stock-solo-library.webp") center center / cover no-repeat!important;
}

/* Prevent the post-hero reset from forcing pure white. */
.hero + section{
  background:var(--page-soft-green);
}

/* Preserve intentionally coloured/white UI surfaces and branded sections. */
.site-header,
.main-nav,
.dropdown-menu,
.quote-card,
.service-card,
.process-card,
.proof-item,
.review-placeholder,
.contact-list,
.notice-box,
.cta-panel,
.footer,
.footer-grid,
.footer-bottom,
.offer-bar,
.mobile-bottom-cta,
.back-top,
.subjects-section{
  background-color:initial;
}

/* Explicitly preserve the subjects section's existing subtle tone. */
.subjects-section{
  background:#f7fbf8!important;
}

/* Preserve white card/form surfaces for contrast against the new page tint. */
.quote-card,
.service-card,
.process-card,
.review-placeholder,
.notice-box,
.contact-list > a,
.contact-list > div{
  background:#fff;
}

/* Preserve the header and dropdown as white. */
.site-header,
.main-nav,
.dropdown-menu{
  background:#fff;
}

/* Preserve branded green/yellow surfaces exactly. */
.offer-bar,
.cta-panel,
.footer,
.footer-grid,
.footer-bottom,
.mobile-bottom-cta{
  background-color:revert-layer;
}

@media(max-width:900px){
  html,
  body{
    background:var(--page-soft-green);
  }
}




/* ==========================================================
   RESTORE PREVIOUS 20% OFFER BAR APPEARANCE
   ========================================================== */

.offer-bar{
  position:sticky!important;
  top:0!important;
  z-index:125!important;
  height:34px!important;
  background:var(--green-dark)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}

.offer-bar-inner{
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.01em!important;
}

.offer-bar-inner strong{
  font-weight:850!important;
}

.offer-clock{
  color:var(--yellow)!important;
  font-size:13px!important;
  line-height:1!important;
}

.offer-separator{
  color:rgba(255,255,255,.48)!important;
}

.offer-countdown{
  min-width:68px!important;
  color:var(--yellow)!important;
  font-size:15px!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:.055em!important;
}

.site-header{
  top:34px!important;
}

@media(max-width:760px){
  .offer-bar-inner{
    gap:5px!important;
    padding-inline:2px!important;
    font-size:10px!important;
  }

  .offer-clock{
    font-size:11px!important;
  }

  .offer-countdown{
    min-width:62px!important;
    font-size:13.5px!important;
  }
}

@media(max-width:380px){
  .offer-bar-inner{
    font-size:9.2px!important;
    letter-spacing:0!important;
  }

  .offer-separator{
    display:none!important;
  }
}



/* Footer academic-integrity statement requested beneath the logo */
.footer-brand .footer-disclaimer{
  margin:18px 0 0;
  max-width:430px;
  color:#fff!important;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
}
@media(max-width:620px){
  .footer-brand .footer-disclaimer{
    font-size:14px;
    line-height:1.45;
  }
}


/* Contact page: keep all contact headings and their details on one aligned inset */
.contact-list > a > span,
.contact-list > a > b{
  padding-left:8px;
}

/* MOBILE FOOTER FIT FIX — keeps the full logo and footer text inside narrow screens */
@media(max-width:620px){
  .footer-grid,
  .footer-grid > *,
  .footer-brand{
    min-width:0!important;
    max-width:100%!important;
  }

  .footer-logo{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:8px!important;
    white-space:nowrap!important;
  }

  .footer-logo-mark{
    width:clamp(46px,15vw,58px)!important;
    height:auto!important;
    max-width:22%!important;
    flex:0 0 auto!important;
  }

  .footer-logo-wordmark{
    min-width:0!important;
    max-width:calc(100% - 54px)!important;
    font-size:clamp(15px,5.55vw,20px)!important;
    line-height:1.05!important;
    letter-spacing:-.055em!important;
    white-space:nowrap!important;
  }

  .footer-brand .footer-disclaimer,
  .footer-links a,
  .footer-contact a,
  .footer-contact span{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}
